update chapter 2

This commit is contained in:
qiwang067
2020-08-09 19:44:44 +08:00
parent 17dba58b52
commit 4100da5041

View File

@@ -54,9 +54,9 @@
这里我们再来看一看,在这个马尔可夫奖励过程里面,如何计算它的价值。这个马尔可夫奖励过程依旧是这个状态转移。它的奖励函数是定义成这样,它在进入第一个状态的时候,它会得到 5 的奖励,进入第七个状态的时候会得到 10 的奖励,其它状态都没有奖励。我们现在可以计算每一个轨迹得到的奖励,比如我们这里对于这个 $s_4,s_5,s_6,s_7$ 轨迹的奖励进行计算我们这里折扣系数是0.5。我们在 $s_4$ 的时候,并没有任何奖励,所以这里是零。下一个状态 $s_5$ 的时候,因为我们已经到了下一步了,所以我们要把 $s_5$ 进行一个折扣,$s_5$ 本身也是没有奖励的。然后是到$s_6$ ,然后也没有任何奖励。折扣系数应该是下两步,所以我们要再乘以 $\frac{1}{2}$ 。然后这里终于我们到达$s_7$ ,然后我们获得了一个奖励。但是因为 $s_7$ 这个状态是未来才获得的奖励,所以我们要进行三次折扣。所以对于这个轨迹,它的 return 就是一个1.25,类似地,我们可以得到其它轨迹的 return 。
这里就自然而然引出了一个问题,当我们有了一些轨迹的实际 return怎么计算它的价值函数。比如说我们现在想知道 $s_4$ 状态的价值,就是当你进入 $s_4$ 后,它的价值到底如何。
这里就引出了一个问题,当我们有了一些轨迹的实际 return怎么计算它的价值函数。比如说我们现在想知道 $s_4$ 状态的价值,就是当你进入 $s_4$ 后,它的价值到底如何。
那么一个可行的做法就是说我们可以产生很多轨迹,然后把这里的轨迹都叠加起来。比如我们现在可以从 $s_4$ 开始,然后采样生成很多轨迹,然后都把它的 return 计算出来,然后可以直接把它取一个平均,然后作为你进入 $s_4$ 它的价值,这其实是一种计算价值函数的一个办法,通过这个蒙特卡罗采样的办法计算 $s_4$ 的状态。我们接下来会进一步介绍这个蒙特卡洛算法。
一个可行的做法就是说我们可以产生很多轨迹,然后把这里的轨迹都叠加起来。比如我们现在可以从 $s_4$ 开始,然后采样生成很多轨迹,然后都把它的 return 计算出来,然后可以直接把它取一个平均,然后作为你进入 $s_4$ 它的价值,这其实是一种计算价值函数的一个办法,通过这个蒙特卡罗采样的办法计算 $s_4$ 的状态。我们接下来会进一步介绍这个蒙特卡洛算法。
![](img/2.12.png)
@@ -110,11 +110,11 @@ policy 定义了在某一个状态应该采取什么样的行为,当我们知
这里我们再来看一看,马尔科夫决策过程里面它状态转移跟之前马尔可夫奖励过程以及马尔可夫链的一个差异。对于之前的马尔可夫链的过程,它的转移是直接就决定,就从你当前是 s那么就直接通过这个转移概率就直接决定了你下一个状态会是什么。但是对于马尔可夫决策过程它的中间多了一层这个行为 a ,就是说在你当前这个状态的时候,你首先要决定的是采取某一种行为。那么你会到了某一个黑色的这个节点,到了这个黑色的节点,因为你有一定的不确定性,当你当前状态决定过后以及你当前采取的行为过后,你到未来的状态其实也是一个概率分布。所以你采取行为以及你决定,然后你可能有有多大的概率到达某一个未来状态,以及另外有多大概率到达另外一个状态。所以在这个当前状态跟未来状态转移过程中这里多了一层决策性,这里是马尔可夫决策过程跟之前的马尔可夫过程很不同的一个地方。这里这个行为是由 agent 决定,所以这里我们多了一个 componentagent 会采取这个行为来决定这个未来的状态转移。
这里我们看一看,马尔科夫决策过程里面它状态转移跟之前马尔可夫奖励过程以及马尔可夫链的一个差异。对于之前的马尔可夫链的过程,它的转移是直接就决定,就从你当前是 s那么就直接通过这个转移概率就直接决定了你下一个状态会是什么。但是对于马尔可夫决策过程它的中间多了一层这个行为 a ,就是说在你当前这个状态的时候,你首先要决定的是采取某一种行为。那么你会到了某一个黑色的这个节点,到了这个黑色的节点,因为你有一定的不确定性,当你当前状态决定过后以及你当前采取的行为过后,你到未来的状态其实也是一个概率分布。所以你采取行为以及你决定,然后你可能有有多大的概率到达某一个未来状态,以及另外有多大概率到达另外一个状态。所以在这个当前状态跟未来状态转移过程中这里多了一层决策性,这里是马尔可夫决策过程跟之前的马尔可夫过程很不同的一个地方。这里这个行为是由 agent 决定,所以这里我们多了一个 componentagent 会采取这个行为来决定这个未来的状态转移。
![](img/2.22.png)
顺着马尔可夫决策过程的定义,我们可以把 state-value function就是在马尔可夫决策过程里面的价值函数也进行一个定义它的定义是跟马尔可夫奖励过程是类似的但是这里我们的一个期望 expectation over policy就是这个期望是基于这个你采取的这个 policy ,就当你的 policy 决定过后,让我们通过对这个 policy 进行采样,然后我们可以得到一个期望。那么就可以计算出它的这个价值函数。这里我们另外引入了一个 Q 函数action-value function。
顺着马尔可夫决策过程的定义,我们可以把 state-value function就是在马尔可夫决策过程里面的价值函数也进行一个定义它的定义是跟马尔可夫奖励过程是类似的但是这里我们的一个期望 expectation over policy就是这个期望是基于这个你采取的这个 policy ,就当你的 policy 决定过后,让我们通过对这个 policy 进行采样,然后我们可以得到一个期望。那么就可以计算出它的这个价值函数。这里我们另外引入了一个 Q 函数action-value function。
这个 Q 函数定义的是某一个状态某一个行为,然后它有可能得到的这个 return 的一个期望,这里期望其实也是 over 这个 policy function。所以你需要对这个 policy function 进行一个加和。然后最后得到它的这个价值。第三步,这里导出了价值函数跟 Q 函数之间的一个关系。价值函数跟 Q 函数的关系,就是直接对价值函数中的行为函数进行加和,就可以得到这个价值。