RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)

MP/MRP/MDP

文章目录

  • MP/MRP/MDP
    • 一、Markov process马尔科夫过程
      • 一些概念:
    • 二、马尔科夫奖励过程(Markov reward process, MRP)
      • 概念
      • 贝尔曼方程产生的推导
    • 三、马尔科夫决策过程
      • 行为价值和状态价值之间的关系
        • 例:状态价值函数求解
      • 最优策略
      • 最优策略的贝尔曼方程
      • 求解:
    • 四、总结:
    • 五、Reference

一、Markov process马尔科夫过程

一些概念:

马尔科夫性:在t+1时刻的状态只与t有关,而与其他无关。

马尔科夫过程/马尔科夫链:如果某个随机过程的每个状态都具备马尔可夫性,那么就认为这个过程是马尔科夫过程。

明天的天气只和今天的天气有关,和之前的天气没有任何关系。这就是具备马尔可夫性, 每一天都是这样,这个一天接一天的过程就是马尔科夫过程

状态转移概率矩阵:用来记录状态之间转换概率的矩阵。这个矩阵行和为1。 P i , j P_{i,j} Pi,j代表由状态i到状态j的概率。

状态转移矩阵对于一个状态空间来说只有一个(如果转移概率不变)。因为它包含了所有状态之间转移的概率

所以一个马尔科夫过程可以用来表示,其中S是状态,P是该状态下的转移到其他状态的概率矩阵。
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第1张图片

上图是一个马尔科夫过程,各个状态之间的转化概率已经标出,其中sleep是一个终止状态

状态序列(episode):假设当前状态为Class1(C1)
Class1 - Class2 - Sleep
C1-C2-C3-Pass-Sleep
等就是状态序列。

完整状态序列:一个状态序列最后一个状态是终止状态时 。

二、马尔科夫奖励过程(Markov reward process, MRP)

概念

MRP和马尔科夫过程的叙别就是加入了一个奖励的过程。
马尔科夫过程是c参数, MRP过程是 γ \gamma γ>

S有限的状态集, 状态空间
P 集合中状态转移概率矩阵。
R 奖励函数, R s = E [ R t + 1 ∣ S t = s ] R_s = E[R_{t+1}|S_t = s] Rs=E[Rt+1St=s]。 t时刻,状态S=s,s状态下的奖励值 R s R_s Rs是由转换到下一t+1时刻下的状态的奖励值 R t + 1 R_{t+1} Rt+1均值决定的。由环境确定。比如老师想要较早的让同学通过考试,就在pass设置较高的奖励,其他的较低。
简单来说就是当前的奖励值,是由未来的(之后的)奖励值决定的。
γ \gamma γ衰减因子,在0和1之间。

RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第2张图片

收获/回报(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[GtSt=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[GtSt=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+1St=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+γsSPssv(s)

R s R_s Rs该状态的奖励
γ \gamma γ衰减比
P s s ′ P_{ss'} Pss 状态s到状态s’的概率
v(s’) 下一状态的价值
这个方程就是马尔科夫奖励过程(MRP)中的贝尔曼方程(Bellman equation)

贝尔曼方程如果写成矩阵的形式,可以直接求解。但是一般这类问题时间复杂度都是3次方,直接求解不太现实。
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第3张图片RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第4张图片

三、马尔科夫决策过程

马尔科夫奖励过程能够评定某些状态的价值,但是强化学习还需要对行为进行选择,所以引出马尔科夫决策过程(Markov decision process,MDP)
MDP是 γ \gamma γ>

S 有限状态集
A有限的行为集
P 基于行为的状态转移概率
R 状态行为奖励函数
γ \gamma γ衰减因子
γ \gamma γ 衰减因子

回忆:MRP是 g a m m a gamma gamma>,多了个Action

马尔科夫决策过程的奖励R、状态转移概率P都和行为A直接相关。在相同的状态下,取不同的行为得到的奖励是不一样的。
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第5张图片

相同的图:
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第6张图片

如上图,在不同的状态选择不同的动作行为,会得到不同的奖励,黑点是表示行为

策略: 在某个状态下,从行为集中选择一个行为的依据/方法,叫做策略。用 π \pi π表示

π ( a ∣ s ) = P [ A t = a ∣ S t = s ] \pi(a|s) = P[A_t = a | S_t = s] π(as)=P[At=aSt=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[GtSt=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[GtSt=s,At=a]
可以看到和价值函数相比只是增加了一个前提条件:选择行为a。
这个行为价值函数是针对状态而言的,不同的状态、同一个行为的价值函数不一定相同。故也可以成为状态行为价值函数

故:
按照贝尔曼方程,可以有:(推导见上)
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第7张图片

行为价值和状态价值之间的关系

行为是两个状态转化之间的桥梁。
要求解状态价值,就要知道下一个状态价值,而下一个状态是根据行为产生的。
状态价值可用该状态下的所有行为价值来表示:
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第8张图片

同理,行为价值可以用状态价值表示:
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第9张图片

所以对于V的贝尔曼方程又可以写成:

RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第10张图片

对于Q的贝尔曼方程:
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第11张图片

例:状态价值函数求解

RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第12张图片

最优策略

最优状态状态函数 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都存在至少一个最优策略。如果存在多个最优策略,

  • 彼此的状态价值函数相等。
  • 彼此行为价值函数也相等
    优于状态价值函数v和行为价值函数q可以相互表示,所以找最优的策略也可以通过最大化q

最优策略的贝尔曼方程

最优状态价值函数
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第13张图片

最优行为价值函数:
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第14张图片

状态价值函数进一步推理
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第15张图片

行为价值函数进一步推:
RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)_第16张图片

求解:

  • 最优贝尔曼方程的求解是非线性的
  • 通常采用迭代法:
    • Value Iteration
    • Policy Iteration
    • Q-learning
    • Sarsa

四、总结:

强化学习就是找到最优策略,而想要找到最优策略从而更好的做出决定,就需要使该策略下每一个状态价A值函数 v π v_\pi vπ和行为价值函数 q π q_\pi qπ最终优。也就是最大化状态价值函数或者行为价值函数的过程。因为一个最大化了,另一个也必然是最大化。

五、Reference

[1] David Silver深度强化算法学习教学视频
[2] Reinforcement Learning. Richard S. Sutton and Andrew G. Barto
[3] 强化学习入门——从原理到实践. 叶强

你可能感兴趣的:(强化学习RL)