在强化学习中,马尔科夫决策过程(Markov decision process, MDP)是对完全可观测的环境进行描述的,也就是说观测到的状态内容完整地决定了决策的需要的特征。几乎所有的强化学习问题都可以转化为MDP。本讲是理解强化学习问题的理论基础。
1 马尔科夫性(Markov Property)
某一状态信息包含了所有相关的历史,只要当前状态可知,所有的历史信息都不再需要,当前状态就可以决定未来,则认为该状态具有马尔科夫性。
可以用下面的状态转移概率公式来描述马尔科夫性:
P
s
s
′
=
P
[
S
t
+
1
=
s
′
∣
S
t
=
s
]
\mathcal P_{ss^\prime}=P\big[S_{t+1}=s^\prime|S_t=s\big]
Pss′=P[St+1=s′∣St=s]
下面状态转移矩阵定义了所有状态的转移概率:
P
=
[
P
11
…
P
1
n
⋮
P
n
1
…
P
n
n
]
\mathcal{P}=\left[\begin{array}{ccc} \mathcal P_{11} & \ldots & \mathcal{P}_{1 n} \\ \vdots \\ \mathcal{P}_{n 1} & \ldots & \mathcal{P}_{n n} \end{array}\right]
P=⎣⎢⎡P11⋮Pn1……P1nPnn⎦⎥⎤
式中n为状态数量,矩阵中每一行元素之和为1.
2 马尔科夫过程(Markov Property)
马尔科夫过程 又叫马尔科夫链(Markov Chain),它是一个无记忆的随机过程,可以用一个元组 < S , P > <S,P> <S,P> 表示,其中S是有限数量的状态集,P是状态转移概率矩阵。
示例——学生马尔科夫链
本讲多次使用了学生马尔科夫链这个例子来讲解相关概念和计算。
图中,圆圈表示学生所处的状态,方格Sleep是一个终止状态,或者可以描述成自循环的状态,也就是Sleep状态的下一个状态100%的几率还是自己。箭头表示状态之间的转移,箭头上的数字表示当前转移的概率。
举例说明:当学生处在第一节课(Class1)时,他/她有50%的几率会参加第2节课(Class2);同时在也有50%的几率不在认真听课,进入到浏览facebook这个状态中。在浏览facebook这个状态时,他/她有90%的几率在下一时刻继续浏览,也有10%的几率返回到课堂内容上来。当学生进入到第二节课(Class2)时,会有80%的几率继续参加第三节课(Class3),也有20%的几率觉得课程较难而退出(Sleep)。当学生处于第三节课这个状态时,他有60%的几率通过考试,继而100%的退出该课程,也有40%的可能性需要到去图书馆之类寻找参考文献,此后根据其对课堂内容的理解程度,又分别有20%、40%、40%的几率返回值第一、二、三节课重新继续学习。一个可能的学生马尔科夫链从状态Class1开始,最终结束于Sleep,其间的过程根据状态转化图可以有很多种可能性,这些都称为Sample Episodes。以下四个Episodes都是可能的:
C1 - C2 - C3 - Pass - Sleep
C1 - FB - FB - C1 - C2 - Sleep
C1 - C2 - C3 - Pub - C2 - C3 - Pass - Sleep
C1 - FB - FB - C1 - C2 - C3 - Pub - C1 - FB - FB - FB - C1 - C2 - C3 - Pub - C2 - Sleep
该学生马尔科夫过程的状态转移矩阵如下图:
3.1 马尔科夫奖励过程(Markov Reward Process)
马尔科夫奖励过程在马尔科夫过程的基础上增加了奖励 R 和衰减系数
γ
:
<
S
,
P
,
R
,
γ
>
\gamma:<S,P,R,\gamma>
γ:<S,P,R,γ>。R是一个奖励函数。S状态下的奖励是某一时刻(t)处在状态s下在下一个时刻(t+1)能获得的奖励期望:
R
s
=
E
[
R
t
+
1
∣
S
t
=
s
]
R_s=E[R_{t+1}|S_t=s]
Rs=E[Rt+1∣St=s]
很多听众纠结为什么奖励是t+1时刻的。照此理解起来相当于离开这个状态才能获得奖励而不是进入这个状态即获得奖励。David指出这仅是一个约定,为了在描述RL问题中涉及到的观测O、行为A、和奖励R时比较方便。他同时指出如果把奖励改为 R t R_t Rt 而不是 R t + 1 R_{t+1} Rt+1 ,只要规定好,本质上意义是相同的,在表述上可以把奖励描述为“当进入某个状态会获得相应的奖励”。
衰减系数(Discount Factor): γ ∈ [ 0 , 1 ] \gamma \in [0, 1] γ∈[0,1],它的引入有很多理由,其中有数学表达的方便,避免陷入无限循环,远期利益具有一定的不确定性,符合人类对于眼前利益的追求,符合金融学上获得的利益能够产生新的利益因而更有价值等等。
下图是一个“马尔科夫奖励过程”图示的例子,在“马尔科夫过程”基础上增加了针对每一个状态的奖励,由于不涉及衰减系数相关的计算,这张图并没有特殊交代衰减系数值的大小。
收获(Return)
定义:收获
G
t
G_t
Gt 为在一个马尔科夫奖励链上从 t 时刻开始往后所有的奖励的有衰减的总和。也有翻译成“收益”或"回报"。公式如下:
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
.
.
.
=
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
G_t=R_{t+1}+\gamma R_{t+2}+...=\sum\limits_{k=0}^\infty\gamma^kR_{t+k+1}
Gt=Rt+1+γRt+2+...=k=0∑∞γkRt+k+1
其中衰减系数体现了未来的奖励在当前时刻的价值比例,在k+1时刻获得的奖励R在t时刻的体现出的价值是 γ k R \gamma^kR γkR , γ \gamma γ 接近0,则表明趋向于“近视”性评估; γ \gamma γ 接近1则表明偏重考虑远期的利益。
价值函数(Value Function)
价值函数给出了某一状态或某一行为的长期价值。
定义:一个马尔科夫奖励过程中某一状态的价值函数为从该状态开始的马尔可夫链收获的期望:
v
(
s
)
=
E
[
G
t
∣
S
t
=
s
]
v(s)=E[G_t|S_t=s]
v(s)=E[Gt∣St=s]
注:价值可以仅描述状态,也可以描述某一状态下的某个行为,在一些特殊情况下还可以仅描述某个行为。在整个视频公开课中,除了特别指出,约定用状态价值函数或价值函数来描述针对状态的价值;用行为价值函数来描述某一状态下执行某一行为的价值,严格意义上说行为价值函数是“状态行为对”价值函数的简写。
举例说明收获和价值的计算
为方便计算,把“学生马尔科夫奖励过程”示例图表示成下表的形式。表中第二行对应各状态的即时奖励值,第三行到第九行数字为状态转移概率,表示为从所在行状态转移到所在列状态的概率:
考虑如下4个马尔科夫链。现计算当
γ
=
1
/
2
γ= 1/2
γ=1/2 时,在t=1时刻(
S
1
=
C
1
S_1=C_1
S1=C1)时状态
S
1
S_1
S1 的收获分别为:
从上表也可以理解到,收获是针对一个马尔科夫链中的某一个状态来说的。
当 γ = 0 \gamma= 0 γ=0 时,上表描述的MRP中,各状态的即时奖励就与该状态的价值相同。当 γ ≠ 0 \gamma \ne 0 γ=0时,各状态的价值需要通过计算得到,这里先给出 γ \gamma γ 分别为0, 0.9,和1三种情况下各状态的价值,如下图所示。
各状态圈内的数字表示该状态的价值,圈外的R=-2等表示的是该状态的即时奖励。
各状态价值的确定是很重要的,RL的许多问题可以归结为求状态的价值问题。因此如何求解各状态的价值,也就是寻找一个价值函数(从状态到价值的映射)就变得很重要了。