diff --git a/docs/chapter2/chapter2.md b/docs/chapter2/chapter2.md index 5f4fa01..0aefbff 100644 --- a/docs/chapter2/chapter2.md +++ b/docs/chapter2/chapter2.md @@ -8,9 +8,9 @@ ![](img/2.2.png) -上图介绍了在强化学习里面 agent 跟 environment 之间的交互,agent 在得到环境的状态过后,它会采取动作,它会把这个采取的动作返还给环境。环境在得到 agent 的动作过后,它会进入下一个状态,把下一个状态传回 agent。 +上图介绍了在强化学习里面 agent 跟 environment 之间的交互,agent 在得到环境的状态过后,它会采取动作,它会把这个采取的动作返还给环境。环境在得到 agent 的动作过后,它会进入下一个状态,把下一个状态传回 agent。在强化学习中,agent 跟环境就是这样进行交互的,这个交互过程是可以通过马尔可夫决策过程来表示的,所以马尔可夫决策过程是强化学习里面的一个基本框架。 -在强化学习中,agent 跟环境就是这样进行交互的,这个交互过程是可以通过马尔可夫决策过程来表示的,所以马尔可夫决策过程是强化学习里面的一个基本框架。在马尔可夫决策过程中,它的环境是 `fully observable` ,就是全部可以观测的。但是很多时候环境里面有些量是不可观测的,但是这个部分观测的问题也可以转换成一个 MDP 的问题。 +在马尔可夫决策过程中,它的环境是全部可以观测的(`fully observable`)。但是很多时候环境里面有些量是不可观测的,但是这个部分观测的问题也可以转换成一个 MDP 的问题。 在介绍马尔可夫决策过程(Markov Decision Process,MDP)之前,先给大家梳理一下马尔可夫过程(Markov Process,MP)、马尔可夫奖励过程(Markov Reward Processes,MRP)。这两个过程是马尔可夫决策过程的一个基础。 @@ -80,14 +80,12 @@ $$ ![](img/2.8.png) -这里是我们刚才看的马尔可夫链,如果把奖励也放上去的话,就是说到达每一个状态,我们都会获得一个奖励。这里我们可以设置对应的奖励,比如说到达 $s_1$ 状态的时候,可以获得 5 的奖励,到达 $s_7$ 的时候,有 10 的奖励,其它状态没有任何奖励。因为这里状态是有限的,所以我们可以用一个向量来表示这个奖励函数,这个向量表示了每个点的奖励的大小。 +这里是我们刚才看的马尔可夫链,如果把奖励也放上去的话,就是说到达每一个状态,我们都会获得一个奖励。这里我们可以设置对应的奖励,比如说到达 $s_1$ 状态的时候,可以获得 5 的奖励,到达 $s_7$ 的时候,可以得到 10 的奖励,其它状态没有任何奖励。因为这里状态是有限的,所以我们可以用向量 $R=[5,0,0,0,0,0,10]$ 来表示这个奖励函数,这个向量表示了每个点的奖励大小。 我们通过一个形象的例子来理解 MRP。我们把一个纸船放到河流之中,那么它就会随着这个河流而流动,它自身是没有动力的。所以你可以把 MRP 看成是一个随波逐流的例子,当我们从某一个点开始的时候,这个纸船就会随着事先定义好的状态转移进行流动,它到达每个状态过后,我们就有可能获得一些奖励。 ### Return and Value function -![](img/2.9.png) - 这里我们进一步定义一些概念。 * `Horizon` 是指一个回合的长度(每个回合最大的时间步数),它是由有限个步数决定的。 @@ -108,17 +106,17 @@ $$ \end{aligned} $$ -$G_t$ 是之前定义的 `discounted return`,我们这里取了一个期望,期望就是说从这个状态开始,你有可能获得多大的价值。所以这个期望也可以看成是对未来可能获得奖励的它的当前价值的一个表现,就是当你进入某一个状态过后,你现在就有多大的价值。 +$G_t$ 是之前定义的 `discounted return`,我们这里取了一个期望,期望就是说从这个状态开始,你有可能获得多大的价值。所以这个期望也可以看成是对未来可能获得奖励的当前价值的一个表现,就是当你进入某一个状态过后,你现在就有多大的价值。 ### Why Discount Factor -![](img/2.10.png)**这里解释一下为什么需要 discount factor。** +**这里解释一下为什么需要 discount factor。** * 有些马尔可夫过程是带环的,它并没有终结,我们想避免这个无穷的奖励。 * 我们并没有建立一个完美的模拟环境的模型,也就是说,我们对未来的评估不一定是准确的,我们不一定完全信任我们的模型,因为这种不确定性,所以我们对未来的预估增加一个折扣。我们想把这个不确定性表示出来,希望尽可能快地得到奖励,而不是在未来某一个点得到奖励。 * 如果这个奖励是有实际价值的,我们可能是更希望立刻就得到奖励,而不是后面再得到奖励(现在的钱比以后的钱更有价值)。 * 在人的行为里面来说的话,大家也是想得到即时奖励。 -* 有些时候可以把这个系数设为 0,设为 0 过后,我们就只关注了它当前的奖励。我们也可以把它设为 1,设为 1 的话就是对未来并没有折扣,未来获得的奖励跟当前获得的奖励是一样的。 +* 有些时候可以把这个系数设为 0,$\gamma=0$:我们就只关注了它当前的奖励。我们也可以把它设为 1,$\gamma=1$:对未来并没有折扣,未来获得的奖励跟当前获得的奖励是一样的。 Discount factor 可以作为强化学习 agent 的一个超参数来进行调整,然后就会得到不同行为的 agent。 @@ -438,9 +436,8 @@ $$ ### Policy Evaluation(Prediction) -![](img/2.27.png) - -当我们知道一个 MDP 以及要采取的策略 $\pi$ ,计算价值函数的过程就是 `policy evaluation`。就像我们在评估这个策略,我们会得到多大的奖励。**Policy evaluation 在有些地方也被叫做 `prediction`,也就是预测你当前采取的这个策略最终会产生多少的价值。** +* 当我们知道一个 MDP 以及要采取的策略 $\pi$ ,计算价值函数 $v^{\pi}(s)$ 的过程就是 `policy evaluation`。就像我们在评估这个策略,我们会得到多大的奖励。 +* **Policy evaluation 在有些地方也被叫做 `(value) prediction`,也就是预测你当前采取的这个策略最终会产生多少的价值。** ![](img/2.28.png) diff --git a/docs/chapter2/img/2.2.png b/docs/chapter2/img/2.2.png index 145f6d6..53412f5 100644 Binary files a/docs/chapter2/img/2.2.png and b/docs/chapter2/img/2.2.png differ diff --git a/docs/chapter2/img/2.21.png b/docs/chapter2/img/2.21.png index bdbadd0..ca59dc3 100644 Binary files a/docs/chapter2/img/2.21.png and b/docs/chapter2/img/2.21.png differ diff --git a/docs/chapter2/img/2.6.png b/docs/chapter2/img/2.6.png index fa5b184..38706c0 100644 Binary files a/docs/chapter2/img/2.6.png and b/docs/chapter2/img/2.6.png differ diff --git a/docs/chapter2/img/2.7.png b/docs/chapter2/img/2.7.png index 13d4c8c..67fc79b 100644 Binary files a/docs/chapter2/img/2.7.png and b/docs/chapter2/img/2.7.png differ diff --git a/docs/chapter2/img/2.8.png b/docs/chapter2/img/2.8.png index 8071a01..d59e958 100644 Binary files a/docs/chapter2/img/2.8.png and b/docs/chapter2/img/2.8.png differ