From 0a8630ddf79e8d9fbd65e8d002a6f465088dbf10 Mon Sep 17 00:00:00 2001 From: qiwang067 Date: Sun, 17 Jan 2021 22:52:16 +0800 Subject: [PATCH] fix ch6 typos --- docs/chapter6/chapter6.md | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/docs/chapter6/chapter6.md b/docs/chapter6/chapter6.md index cfaa216..c5d0f03 100644 --- a/docs/chapter6/chapter6.md +++ b/docs/chapter6/chapter6.md @@ -37,14 +37,14 @@ $$ **怎么衡量这个状态价值函数 $V^{\pi}(s)$ 呢?**有两种不同的做法:MC-based 的方法和 TD-based 的方法。 -**一个是用` Monte-Carlo(MC)-based` 的方法。**MC-based 的方法就是让演员去跟环境做互动,你要看演员好不好, 你就让演员去跟环境做互动,给评论家看。然后,评论家就统计说, +` Monte-Carlo(MC)-based`的方法就是让演员去跟环境做互动,你要看演员好不好, 你就让演员去跟环境做互动,给评论家看。然后,评论家就统计说, -* 演员 如果看到状态 $s_a$,接下来的累积奖励会有多大。 +* 演员如果看到状态 $s_a$,接下来的累积奖励会有多大。 * 如果它看到状态 $s_b$,接下来的累积奖励会有多大。 但是实际上,你不可能把所有的状态通通都扫过。如果你是玩 Atari 游戏的话,状态是图像,你没有办法把所有的状态通通扫过。所以实际上 $V^{\pi}(s)$ 是一个网络。对一个网络来说,就算输入状态是从来都没有看过的,它也可以想办法估测一个值的值。 -怎么训练这个网络呢?因为如果在状态 $s_a$,接下来的累积奖励就是 $G_a$。也就是说,对这个价值函数来说,如果输入是状态 $s_a$,正确的输出应该是 $G_a$。如果输入状态 $s_b$,正确的输出应该是值 $G_b$。**所以在训练的时候, 它就是一个 `回归问题(regression problem)`。**网络的输出就是一个值,你希望在输入 $s_a$ 的时候,输出的值跟 $G_a$ 越近越好,输入 $s_b$ 的时候,输出的值跟 $G_b$ 越近越好。接下来把网络训练下去,就结束了。这是 MC based 的方法。 +怎么训练这个网络呢?因为如果在状态 $s_a$,接下来的累积奖励就是 $G_a$。也就是说,对这个价值函数来说,如果输入是状态 $s_a$,正确的输出应该是 $G_a$。如果输入状态 $s_b$,正确的输出应该是值 $G_b$。**所以在训练的时候, 它就是一个 `回归问题(regression problem)`。**网络的输出就是一个值,你希望在输入 $s_a$ 的时候,输出的值跟 $G_a$ 越近越好,输入 $s_b$ 的时候,输出的值跟 $G_b$ 越近越好。接下来把网络训练下去,就结束了。这是 MC-based 的方法。 ![](img/6.3.png) @@ -94,7 +94,7 @@ $$ 假如你用 MC 的话,你会发现这个 $s_a$ 就出现一次,看到 $s_a$ 这个状态,接下来累积奖励就是 0,所以 $s_a$ 期望奖励就是 0。 -但 TD 在计算的时候,它要更新下面这个式子。 +但 TD 在计算的时候,它要更新下面这个式子: $$ V^{\pi}\left(s_{a}\right)=V^{\pi}\left(s_{b}\right)+r $$ @@ -115,7 +115,7 @@ $$ ![](img/6.7.png) -还有另外一种评论家,这种评论家叫做 `Q-function`。它又叫做`state-action value function(状态-动作价值函数)`。 +还有另外一种评论家叫做 `Q-function`。它又叫做`state-action value function(状态-动作价值函数)`。 * 状态价值函数的输入是一个状态,它是根据状态去计算出,看到这个状态以后的期望的累积奖励( expected accumulated reward)是多少。 * 状态-动作价值函数的输入是一个状态、动作对,它的意思是说,在某一个状态采取某一个动作,假设我们都使用演员 $\pi$ ,得到的累积奖励的期望值有多大。 @@ -171,15 +171,15 @@ $$ ![](img/6.11.png) -上图想要跟大家讲的是说,为什么用 $Q^{\pi}(s,a)$ 这个 Q-function 所决定出来的 $\pi'$ 一定会比 $\pi$ 好。 +上图想要跟大家讲的是说,为什么用 $Q^{\pi}(s,a)$ 决定出来的 $\pi'$ 一定会比 $\pi$ 好。 假设有一个策略叫做 $\pi'$,它是由 $Q^{\pi}$ 决定的。我们要证对所有的状态 s 而言,$V^{\pi^{\prime}}(s) \geq V^{\pi}(s)$。 -怎么证呢?我们先把$V^{\pi^{\prime}}(s)$写出来: +怎么证呢?我们先把 $V^{\pi}(s)$ 写出来: $$ V^{\pi}(s)=Q^{\pi}(s, \pi(s)) $$ -假设在状态 s 这个地方,你 follow $\pi$ 这个演员,它会采取的动作就是 $\pi(s)$,那你算出来的 $Q^{\pi}(s, \pi(s))$ 会等于 $V^{\pi}(s)$。一般而言,$Q^{\pi}(s, \pi(s))$ 不见得等于 $V^{\pi}(s)$ ,因为动作不一定是 $\pi(s)$。但如果这个动作是 $\pi(s)$ 的话,$Q^{\pi}(s, \pi(s))$ 是等于 $V^{\pi}(s)$的。 +假设在状态 s 这个地方,你 follow $\pi$ 这个演员,它会采取的动作就是 $\pi(s)$,那你算出来的 $Q^{\pi}(s, \pi(s))$ 会等于 $V^{\pi}(s)$。一般而言,$Q^{\pi}(s, \pi(s))$ 不见得等于 $V^{\pi}(s)$ ,因为动作不一定是 $\pi(s)$。但如果这个动作是 $\pi(s)$ 的话,$Q^{\pi}(s, \pi(s))$ 是等于 $V^{\pi}(s)$ 的。 $Q^{\pi}(s, \pi(s))$ 还满足如下的关系: @@ -196,9 +196,9 @@ $$ $$ V^{\pi}(s) \leq Q^{\pi}\left(s, \pi^{\prime}(s)\right) $$ -也就是说某一个状态,如果你按照策略 $\pi$ 一直做下去,你得到的奖励一定会小于等于,在这个状态 s,你故意不按照 $\pi$ 所给你指示的方向,而是按照 $\pi'$ 的方向走一步,但只有第一步是按照 $\pi'$ 的方向走,只有在状态 s 这个地方,你才按照 $\pi'$ 的指示走,接下来你就按照 $\pi$ 的指示走。虽然只有一步之差, 但是从上面这个式子可知,虽然只有一步之差,但你得到的奖励一定会比完全 follow $\pi$ 得到的奖励还要大。 +也就是说某一个状态,如果你按照策略 $\pi$ 一直做下去,你得到的奖励一定会小于等于,在这个状态 s 你故意不按照 $\pi$ 所给你指示的方向,而是按照 $\pi'$ 的方向走一步,但只有第一步是按照 $\pi'$ 的方向走,只有在状态 s 这个地方,你才按照 $\pi'$ 的指示走,接下来你就按照 $\pi$ 的指示走。虽然只有一步之差, 但是从上面这个式子可知,虽然只有一步之差,但你得到的奖励一定会比完全 follow $\pi$ 得到的奖励还要大。 -那接下来你想要证下面的式子: +接下来要证下面的式子: $$ Q^{\pi}\left(s, \pi^{\prime}(s) \right) \le V^{\pi'}(s) $$ @@ -260,7 +260,7 @@ $$ ![](img/6.12.png) -接下来讲一下在 DQN 里你一定会用到的 tip。第一个是 `目标网络(target network)`,什么意思呢?我们在 learn Q-function 的时候,也会用到 TD 的概念。那怎么用 TD?你现在收集到一个数据, 是说在状态 $s_t$,你采取动作 $a_t$ 以后,你得到奖励 $r_t$ ,然后跳到状态 $s_{t+1}$。然后根据这个 Q-function,你会知道说 +接下来讲一下在 DQN 里你一定会用到的 tip。第一个是 `目标网络(target network)`,什么意思呢?我们在学习 Q-function 的时候,也会用到 TD 的概念。那怎么用 TD?你现在收集到一个数据, 是说在状态 $s_t$,你采取动作 $a_t$ 以后,你得到奖励 $r_t$ ,然后跳到状态 $s_{t+1}$。然后根据这个 Q-function,你会知道说 $$ \mathrm{Q}^{\pi}\left(s_{t}, a_{t}\right) =r_{t}+\mathrm{Q}^{\pi}\left(s_{t+1}, \pi\left(s_{t+1}\right)\right) @@ -280,7 +280,7 @@ $$ ![](img/6.13.png) -下面我们通过猫追老鼠的例子来直观地理解为什么要 fix target network。猫是 `Q estimation`,老鼠是 `Q target`。一开始的话,猫离老鼠很远,所以我们想让这个猫追上老鼠。 +我们可以通过猫追老鼠的例子来直观地理解为什么要 fix target network。猫是 `Q estimation`,老鼠是 `Q target`。一开始的话,猫离老鼠很远,所以我们想让这个猫追上老鼠。 ![](img/6.14.png) @@ -367,3 +367,7 @@ A: 整体来说,DQN 与 Q-learning 的目标价值以及价值的更新方式 * [Intro to Reinforcement Learning (强化学习纲要)](https://github.com/zhoubolei/introRL) * [神经网络与深度学习](https://nndl.github.io/) +* [强化学习基础 David Silver 笔记](https://zhuanlan.zhihu.com/c_135909947) + + +