马尔科夫性
:在t+1时刻的状态只与t有关,而与其他无关。
马尔科夫过程
/马尔科夫链
:如果某个随机过程的每个状态都具备马尔可夫性,那么就认为这个过程是马尔科夫过程。
明天的天气只和今天的天气有关,和之前的天气没有任何关系。这就是具备
马尔可夫性
, 每一天都是这样,这个一天接一天的过程就是马尔科夫过程
状态转移概率矩阵
:用来记录状态之间转换概率的矩阵。这个矩阵行和为1。 P i , j P_{i,j} Pi,j代表由状态i到状态j的概率。
状态转移矩阵对于一个状态空间来说只有一个(如果转移概率不变)。因为它包含了所有状态之间转移的概率
所以一个马尔科夫过程可以用来表示,其中S是状态,P是该状态下的转移到其他状态的概率矩阵。
上图是一个马尔科夫过程,各个状态之间的转化概率已经标出,其中sleep是一个终止状态
状态序列(episode)
:假设当前状态为Class1(C1)
Class1 - Class2 - Sleep
C1-C2-C3-Pass-Sleep
等就是状态序列。
完整状态序列
:一个状态序列最后一个状态是终止状态时 。
MRP和马尔科夫过程的叙别就是加入了一个奖励的过程。
马尔科夫过程是c参数, MRP过程是
S有限的状态集, 状态空间
P 集合中状态转移概率矩阵。
R 奖励函数, 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时刻,状态S=s,s状态下的奖励值 R s R_s Rs是由转换到下一t+1时刻下的状态的奖励值 R t + 1 R_{t+1} Rt+1均值决定的。由环境确定。比如老师想要较早的让同学通过考试,就在pass设置较高的奖励,其他的较低。
简单来说就是当前的奖励值,是由未来的(之后的)奖励值决定的。
γ \gamma γ衰减因子,在0和1之间。
收获/回报(return)
: G t = R t + 1 + γ R t + 2 + . . . G_t = R_{t+1}+\gamma R_{t+2}+... Gt=Rt+1+γRt+2+...
是马尔科夫奖励过程从某个状态 S t S_t St开始知道终止状态的所有的奖励的带衰减的和。
γ \gamma γ如果接近0,意思是更关注眼前的奖励
γ \gamma γ如果接近1,意思是更关注长远的奖励
每个状态都对应了一个return(回报或收获)。间接反映了这个状态的重要程度。
那么出现了一个问题,就是同一个状态作为起点,会有很多的状态序列,而不同的状态序列所计算出来的收获return也不同,这有如何评价呢?
使用价值来衡量:
价值Value
是马尔科夫奖励过程中**收获/回报(return)**的数学期望。
v ( s ) = E [ G t ∣ S t = s ] ; v(s) = E[G_t | S_t = s ]; v(s)=E[Gt∣St=s];
某个状态的价值是 从该状态开始按照状态转移概率矩阵进行采样生成的一些列的状态序列,每个状态序列都计算收获,最终对该状态所有的收获取期望, 得到一个平均的收获。
可以准确的翻译某一个状态的重要程度。
价值函数
: 一个给出一定状态就能够得到这个状态的价值的函数。建立了从状态到价值的映射
但是,通过计算收获的平均值来求解状态的价值是不可取的。因为对于马尔科夫过程一个状态可能有无穷多个状态序列,无法计算。
在t时刻,状态s的价值函数:
v ( s ) = E [ G t ∣ S t = s ] = E [ R t + 1 + γ R [ t + 2 ] + γ 2 R t + 3 . . . ∣ S t = s ] = E [ R t + 1 + γ ( R [ t + 2 ] + γ R t + 3 . . . ) ∣ S t = s ] = E [ R t + 1 + γ G t + 1 ∣ S t = s ] = E [ R t + 1 + γ v ( S t + 1 ) ∣ S t = s ] v(s) = E [G_t | S_t =s ] \\ =E[R_{t+1} + \gamma R[t+2] + \gamma^2R_{t+3} ... | S_t = s ] \\ =E[R_{t+1} + \gamma (R[t+2] + \gamma R_{t+3} ... )| S_t = s ] \\ =E[R_{t+1} + \gamma G_{t+1} | S_t = s ] \\ =E[R_{t+1} + \gamma v(S_{t+1})|S_t = s] v(s)=E[Gt∣St=s]=E[Rt+1+γR[t+2]+γ2Rt+3...∣St=s]=E[Rt+1+γ(R[t+2]+γRt+3...)∣St=s]=E[Rt+1+γGt+1∣St=s]=E[Rt+1+γv(St+1)∣St=s]
可以得到等式
v ( s ) = E [ R t + 1 + γ v ( S t + 1 ) ∣ S t = s ] v(s)=E[R_{t+1} + \gamma v(S_{t+1})|S_t = s] v(s)=E[Rt+1+γv(St+1)∣St=s]
进一步, R t + 1 R_{t+1} Rt+1期望是本身,每次离开同一个状态所得到的奖励都是一个固定的值
下一个时刻的状态根据概率转移矩阵的概率进行变化,所以下一时刻状态价值的期望也要乘以概率
v ( s ) = R s + γ ∑ s ′ ∈ S P s s ′ v ( s ′ ) v(s) = R_s + \gamma \sum_{s' \in S}P_{ss'}v(s') v(s)=Rs+γs′∈S∑Pss′v(s′)
R s R_s Rs该状态的奖励
γ \gamma γ衰减比
P s s ′ P_{ss'} Pss′ 状态s到状态s’的概率
v(s’) 下一状态的价值
这个方程就是马尔科夫奖励过程(MRP)中的贝尔曼方程(Bellman equation)
贝尔曼方程如果写成矩阵的形式,可以直接求解。但是一般这类问题时间复杂度都是3次方,直接求解不太现实。
马尔科夫奖励过程能够评定某些状态的价值,但是强化学习还需要对行为进行选择,所以引出马尔科夫决策过程(Markov decision process,MDP)
MDP是 γ \gamma γ>
S 有限状态集
A有限的行为集
P 基于行为的状态转移概率
R 状态行为奖励函数
γ \gamma γ衰减因子
γ \gamma γ 衰减因子
回忆:MRP是
g a m m a gamma gamma>,多了个Action
马尔科夫决策过程的奖励R、状态转移概率P都和行为A直接相关。在相同的状态下,取不同的行为得到的奖励是不一样的。
如上图,在不同的状态选择不同的动作行为,会得到不同的奖励,黑点是表示行为
策略
: 在某个状态下,从行为集中选择一个行为的依据/方法,叫做策略。用 π \pi π表示
π ( a ∣ s ) = P [ A t = a ∣ S t = s ] \pi(a|s) = P[A_t = a | S_t = s] π(a∣s)=P[At=a∣St=s]
策略是基于行为集合的一个概率分布
随机策略
:随机选择行为
好,从头捋一下:
对于一个MDP:M= γ \gamma γ>和一个Policy(策略) π \pi π:
状态序列(episod): S1, S2, S3 … 是一个马尔科夫过程 P π P_\pi Pπ> (基于策略的,所以有pi的下标)
S1, R2, S2, R3, S3, R4… 是一个符合马尔科夫奖励过程 P π , R π , γ P_\pi, R_\pi, \gamma Pπ,Rπ,γ>
一个MDP和Policy对应一个MP和MRP。当policy改变,MP和MRP也会改变。因为都是基于策略的。
基于策略的(状态)价值函数:
v π ( s ) = E [ G t ∣ S t = s ] v_\pi(s) = E[G_t|S_t = s] vπ(s)=E[Gt∣St=s]
从状态s开始,所有的序列的收获(return)的数学期望。
回忆: G t G_t Gt是每个序列的R的和。
由于行为的加入,在某个状态选择如何选择行为?这需要一个能够评价在某个状态选择不同行为之间的好坏的方法。
行为价值函数
:
q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] q_\pi(s,a) = E[G_t|S_t = s, A_t = a] qπ(s,a)=E[Gt∣St=s,At=a]
可以看到和价值函数相比只是增加了一个前提条件:选择行为a。
这个行为价值函数是针对状态而言的,不同的状态、同一个行为的价值函数不一定相同。故也可以成为状态行为价值函数
行为是两个状态转化之间的桥梁。
要求解状态价值,就要知道下一个状态价值,而下一个状态是根据行为产生的。
故状态价值可用该状态下的所有行为价值来表示:
所以对于V的贝尔曼方程又可以写成:
最优状态状态函数 optimal state-value function
: v ∗ v_* v∗是所有策略中状态价值函数的的最大值。
最优行为价值函数
: q ∗ ( s , a ) q_*(s,a) q∗(s,a)所有策略中行为价值函数的最大值。
π \pi π优于 π ′ \pi' π′:对于任意一个状态价值函数 v π ( s ) ≥ v π ′ v_\pi(s) \geq v_{\pi'} vπ(s)≥vπ′
任何的MDP都存在至少一个最优策略。如果存在多个最优策略,
强化学习就是找到最优策略,而想要找到最优策略从而更好的做出决定,就需要使该策略下每一个状态价A值函数 v π v_\pi vπ和行为价值函数 q π q_\pi qπ最终优。也就是最大化状态价值函数或者行为价值函数的过程。因为一个最大化了,另一个也必然是最大化。
[1] David Silver深度强化算法学习教学视频
[2] Reinforcement Learning. Richard S. Sutton and Andrew G. Barto
[3] 强化学习入门——从原理到实践. 叶强