1.马尔科夫性
设 {X (t),t ÎT}是一个随机过程,如果 {X (t),t ÎT}在t0时刻所处的状态为已知,它在 时刻 t0 > t 所处状态的条件分布与其在 t0 之前所处的状态无关。通俗地来说,马尔可夫性质是指,未来只与当前状态有关,与过去无关。其数学公式可用以下条件概率来表示:
从上式可知,当前状态已经包含了历史的所有信息,因此,我们只需要知道当前状态即可。
2.状态转移概率
对于学习马尔可夫决策过程而言,状态转移概率十分重要,它被定义为
它表示在当前状态S的情况时,下一步转移到s' 的概率,也被称为一步转移概率。设P为一步转移概率Pss' 组成的矩阵,称其为系统的一步转移概率矩阵。
现在对该式子进行说明,P11 P12表示状态由1分别转为1和2的概率。其他与之类似。它具有以下性质:
- 矩阵的每个元素都大于或等于零
- 矩阵每行元素求和为1.(由其实际意义可知,当前状态必定会在下一时刻转移到状态空间中的某一种状态,比如在经过红绿灯时,不管当前状态是什么灯,下一时刻必定是红黄绿三种状态之一)
3.马尔可夫过程(Markov process)
马尔可夫过程是一个无记忆的随机过程。例如一个具有马尔可夫性质的随机状态序列可以是S1,S2,…。 马尔科夫过程又称为马尔科夫链(Markov Chain),可以用一个元组<S,P>表示,其中
S是有限数量的状态集
P是状态转移概率矩阵
注:
1.任何状态只依赖于前一个状态(马尔可夫性质)
2.转移概率不会随时间变化
例子:学生的马尔可夫过程
上图中,圆圈表示学生所处的状态,方格Sleep是一个终止状态,终止状态也可以理解成以100%的概率转移到自己,所以一旦进入,就停留在此。箭头表示状态之间的转移,箭头上的数字表示状态转移概率。
例如,当学生处在第一节课(Class1)时,有50%的概率会上第2节课(Class2);同时也有50%的概率不认真听课,进入到浏览facebook这个状态中。在刷facebook这个状态时,比较容易沉迷,有90%的概率在下一时刻继续浏览,有10%的概率返回到第一节课。当学生进入到第二节课(Class2)时,会有80%的概率继续参加第三节课(Class3),有20%的概率觉得课程较难而退出(Sleep)。当学生处于第三节课这个状态时,有60%的概率通过考试,继而100%的退出该课程,也有40%的概率去泡吧。泡吧之后,又分别有20%、40%、40%的概率返回值第一、二、三节课重新继续学习。
假设学生马尔科夫链从状态class1开始,终止于sleep。期间的过程可以有很多种情况,这里选取四种可能的情形进行说明:
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
则其转移概率矩阵为:
可以观察每行之和均是一,且sleep只能转移到sleep中,因此概率是1.
4.马尔可夫奖励过程
马尔科夫奖励过程在马尔科夫过程的基础上增加了奖励R和折扣系数。其定义为:马尔科夫奖励过程可以用一个元组〈S,P,R,γ〉 ,其中
S是有限数量的状态集
P是状态转移概率矩阵 Pss'=P[St+1=s'|St=s]
R表示一个奖励函数,Rs=ERt+1∣St=s
γ 表示为一个折扣因子γ∈[0,1]
奖励函数
R是一个奖励函数,它表示在当前状态St下,执行动作at,进入到下一时刻t+1所获得的奖励期望。R约定为离开该状态所获得的奖励,而不是进入该状态所获得的奖励,即St对应奖励为Rt+1。
折扣因子
在大部分马尔可夫奖励过程和马尔可夫决策过程中,都引入折扣因子�∈[0,1],主要原因如下:
- 首先,数学上的方便表示,在带环的马尔可夫过程中,可以避免陷入无限循环,达到收敛。
- 其次,随着时间的推移,远期利益的不确定性越来越大,符合人类对于眼前利益的追求。
- 再次,在金融上,近期的奖励可能比远期的奖励获得更多的利息,越早获得奖励,收益越高。
在另一门课(CS285)中,Levine给了一个很有意思的角度,下图左边的MDP,可以在四个状态中任意转移,构成无限MDP。在处理这个MDP问题时,为了避免无限循环,所以引入折扣因子。如果你想要找到另一个不同的MDP,不需要折扣因子,却能得到像左边带折扣因子的MDP一样的效果。这个不带折扣因子的MDP,可以通过左边带折扣因子的MDP引入一个额外的事件。这个事件需要能够描述:比起一百万年后中五百万彩票,你更希望现在中五百万。这是因为人生充满未知,你现在活着的概率比以后活着的概率大,所以人类追求眼前利益归根结底是对死亡的恐惧。因此我们对智能引入对死亡的恐惧,即增加一个死亡状态。因此,得到了右边的MDP。
我们可以这样来理解右边这个MDP,智能体是害怕死亡的,因此不想进入到死亡状态。假设S1,S2, S3, S4在每一个时间步都有的1-r概率进入死亡,如果智能体死了,就不再获得奖励了。因此,智能体在S1,S2, S3, S4之间的转移概率为r,这与左边带折扣因子的MDP是等价的。
4.1回报(Return)
回报(或者收益)用Gt表示,代表从时间t开始带折扣的奖励总和。这里我先用语言描述一下马尔可夫决策过程的回报。首先我们设想一下,现在我们处于“ 大学生 ”状态,之后可能的状态有“ 读研 ”和“ 找工作 ”,选择不同的“ 状态 ”将会有不同的“ 未来 ”,未来的“ 收入 ”当然也就有所区别了。现在我们假设选择了“ 读研 ”,以经济学中“ 折现 ”的概念来理解未来的“ 收入 ”,我们现在的选择其实已经一定程度上转换成了“ 一定折扣的未来收入 ”。这就是所谓的回报,公式如下:
其中折扣因子的大小体现了未来奖励对当前时刻价值的权重,换句话说,当其接近于0,比较小的时候,代表智能体趋向于眼前的利益,而当其趋近于1时,代表未来奖励所占的比重越大,智能体偏向于未来长远的考虑。
仍选用学生马尔可夫奖励过程说明:
各状态对应的奖励如下表:
仍选择之前的四个马尔科夫链,并令γ=1/2 ,计算S1=C1时的状态奖励:
4.2价值函数(Value Function)
状态价值函数(state-value function)表示从该状态S开始的回报的期望,它给出了某一状态的长期价值,(价值函数其实包括状态价值函数V(s)和动作价值函数Q(s,a),也分别称为V值和Q值,如果没有特别强调,价值函数一般指状态价值函数V(s),即V值)即:
虽然求出给定马尔科夫链Gt比较容易,但是求价值函数却十分困难,想要得到相关结果,需要借助下面所讲的贝尔曼公式:
4.3马尔可夫奖励过程的贝尔曼公式(MRPs的Bellman等式)
贝尔曼公式推导如下:
前面推导比较简单,但最后两部推导,运用了全期望公式----回报的期望=回报期望的期望,用公式表示为:
具体证明略去。
所以,MRP的贝尔曼方程为:
贝尔曼方程定义了当前状态S和下一状态St+1的迭代关系,即当前状态的价值函数可以通过下一个状态的价值函数来计算。利用贝尔曼方程计算马尔可夫奖励过程的状态的价值函数如下示意图:
观察上图可以发现,要计算S状态的价值函数就必须知道下一个状态函数,如当我们需要知道Class的价值函数时,依据贝尔曼公式你必须要知道facebook.
Party、sleep的价值函数,这不是又在套娃吗?
别急,通过举例来说明价值函数的计算过程。
4.4运用迭代法求解价值函数
迭代法就是我们令初始的各个状态的价值函数为0,之后运用贝尔曼公式计算出下一次迭代的状态价值函数,就这样一直迭代,直到迭代次数达到指定值或者状态价值函数趋于稳定。
下面介绍另一种求解价值函数的方法,即运用贝尔曼的矩阵形式求解。
当马尔可夫奖励过程的状态构成状态空间,可以将贝尔曼方程写成矩阵形式
V=R+γPV
其中,V是一个列向量,每一项都表示一个状态,具体展开式如下:
矩阵形式为一线性方程组
从上式可知,可以通过矩阵逆运算直接求解方程,但矩阵求逆的复杂度为n的3次方, n为状态数。因此,直接求解仅适用于状态空间规模小的MRP。状态空间规模大的MRP的求解通常使用迭代法。
5.马尔可夫决策过程
马尔可夫决策过程是在马尔可夫奖励过程的基础上加入了决策,可以用一个元组
<S,A,P,R,r>表示。
从上面的定义可以看出,马尔可夫决策过程的状态转移概率和奖励函数不仅取决于智能体的当前状态,还取决于智能体选取的动作。而马尔可夫奖励过程仅取决于当前状态。
5.1策略(Policy)
定义:策略π 是给定状态时,关于动作a的分布,
π(a|s)=P[At=a|St=s]
公式的含义是:策略π在每个状态s指定⼀个动作概率。如果给出的策略π是确定性的,那么策略π在每个状态s指定⼀个确定的动作。
例如其中⼀个学⽣的策略为π1 (玩|s1 )=0.8,是指该学⽣在状态s1
时玩的概率为0.8,不玩的概率是0.2,显然这个学⽣更喜欢玩。另外⼀个学⽣的策略为π2 (玩|s1 )=0.3,是指该学⽣在状态s1 时玩的概率是 0.3,显然这个学⽣不爱玩。依此类推,每个学⽣都有⾃⼰的策略。强化学习是找到最优的策略,这⾥的最优是指得到的总回报最⼤。
一个策略完整地定义了智能体的行为方式,即策略定义了智能体在各个状态下可能采取的动作,以及在各种状态下采取动作的概率。MDP的策略仅与当前状态有关,与历史信息无关;同时某一确定的策略是静态的,与时间无关;但是个体可以随着时间更新策略。
马尔可夫决策过程与马尔科夫随机过程、马尔可夫奖励过程的联系:
给定一个MDP:M=<S,A,P,R,γ 和一个策略Π时,状态序列S1,S2,…是一个马尔可夫过程;同样,状态和奖励序列S1,R2,S2,…是一个马尔可夫奖励过程<S,Pπ,Rπ,γ> ;并且满足下面方程
上面两个方程可知,已知马尔可夫决策过程和策略π,可以把马尔可夫决策过程转换成马尔可夫奖励过程。在马尔可夫决策过程中,状态转移函数P(s′|s, a) 基于当前的状态以及当前的动作。而策略π(a|s)是给定状态时,关于动作a的分布,且已知。那么我们就可以通过策略求关于状态s的边缘分布,从而状态转移函数和奖励函数都变为只关于状态的函数。
5.2MDP的价值函数
MDP的状态价值函数(state-value Function),是从状态s开始,执行策略Π获得的收获的期望;或者说在执行当前策略Π时,衡量智能体处在状态s时的价值大小。
通俗地来说,对于不同的人,面对同样的处境状态S往往会采取不同的策略,因此状态价值函数的大小可以区分不同人策略的优劣。
行为价值函数(action-value function) Qπ(s,a)(又称为Q函数),是从状态s开始,采取动作a, 执行策略所获得的收获的期望;或者说在遵循当前策略π时,衡量对当前状态执行动作a的价值大小。
这个式子可以理解成:在某一人的策略Π下,采取不同的动作所获得的收益,它用来区分某一人在S的处境下,不同的动作选择的优劣。状态价值函数可以区分游戏高手与游戏小白,而行为价值函数则是可以区分游戏者在某一状态下所作出动作的优劣。
5.3贝尔曼期望方程
MDP的状态价值函数和行为价值函数,可以分解为即时奖励+带折扣的后续状态的价值函数或行为价值函数,如下:
状态价值函数与动作价值函数之间的关系将通过备份图来说明
和关系备份图
备份过程(又称为更新操作)是算法的图形化表示,通过图形表示状态,动作,状态转移,奖励等。下图中,空心较大圆圈表示状态,黑色实心小圆表示的是动作,连接状态和动作的线条仅仅把该状态以及该状态下可以采取的动作关联起来,黑色小圆和后续状态之间的连线为即时奖励r。
从下图(称为V值备份图)可以看出,在状态S时,遵循策略π后,状态S的价值体表示为在该状态下遵循某一策略而采取所有可能动作的动作价值(Q值)按该状态下动作发生概率(策略)的乘积求和,即
类似地,从下图(称为Q值备份图)可以看出,在状态s时,遵循策略π,采取动作a后,,(s,a)的动作价值函数表示为在该状态下采取动作a后的即时奖励,加上带折扣求和,求和项为:该状态s下,采取动作a后转移到所有可能后续状态s′的转移概率和所有可能后续状态s′的状态价值函数相乘后,累加求和即
后续状态S’的转移概率越大,表明该状态的权重越大。
把Q值备份图带入到V值备份图,可以得到下图递推式:
同理把V值备份图带入到Q值备份图,可以得到下面递推式:
例子:学生的MDP贝尔曼期望方程
如上图所示,运用贝尔曼期望方程求解红色圆圈的状态价值函数,假设动作集为{study,pub},且π(a|s)都等于0.5,γ=1;则由期望公式可得:
计算状态值函数的⽬的是为了构建学习算法从数据中得到最优策略。 每个策略对应着⼀个状态值函数,最优策略⾃然对应着最优状态值函数。
贝尔曼期望方程的矩阵形式
MDP的贝尔曼期望方程的矩阵形式可以通过MRP的贝尔曼方程的的矩阵形式推导而来,其实就是增加了策略,
解析解为:
5.4最优价值函数(Optimal Value Function)
最优价值函数
最优状态价值函数 指的是从策略产生的所有状态价值函数中,选取使得状态s价值最大的函数:
类似的,最优行为价值函数指的是从策略产生的所有行为价值函数中,选取使得状态动作对<s,a>价值最大的函数:
最优价值函数具体明确了MDP的最优可能表现,当我们知道了最优价值函数,也就知道了每个状态的最优价值,也就是解决了MDP问题。
5.5最优策略
定义关于策略的偏序(partial ordering):当对于任何状态s,遵循策略π的状态价值大于等于遵循策略 π′的状态价值,则策略π优于策略 π′,即
定理: 对于任何MDP,有下面性质:
寻找一个最优策略
可以通过最大化最优行为价值函数来找到最优策略:
对于任何MDP问题,一定存在一个最优的且是确定的策略,但这并不意味着只有确定策略是最优的。也可以是随机策略是最优的,比如在某个状态s时,有两个动作a1,a2有相同的Q值,我们可以随机选择其中之一。 另外,如果我们知道最优行为价值函数,则通过最优Q值可以找到最优策略,即上式中采取使得最优Q值最大的动作。
5.6贝尔曼最优方程(Bellman Optimality Equation)
V*的贝尔曼最优方程
一个状态的最优价值等于从该状态出发采取的所有动作产生的动作价值中最大的那个动作价值。
Q*的贝尔曼最优方程
在某个状态s下,采取某个动作的最优动作价值由两部分组成,一部分是离开状态 s 的即时奖励,另一部分则是所有能到达的后续状态 s’ 的最优状态价值与相应的转移概率的乘积后求和。
通过上面两个最优贝尔曼方程的相互代入的方式(Q*代入V*,V*代入Q*),得到状态(动作)价值函数的最优贝尔曼迭代方程