强化学习:马尔科夫决策过程(MDP)

马尔科夫决策过程


马尔科夫过程

马尔科夫性: 系统的下一个状态 St+1 S t + 1 仅与当前状态有关系,而与如何之前的状态没有关系。也就是说,下一个状态并不取决于之前的状态。(不具备记忆性?)

定义: 一个状态 St S t 具备马尔科夫性,当且仅当: P(St+1|St)=P(St+1|St,St1,,S1) P ( S t + 1 | S t ) = P ( S t + 1 | S t , S t − 1 , ⋯ , S 1 )
从这个定义中可以得知,之前的状态如何并不会影响下一步的状态。

对于一个马尔科夫状态 s s 和后续状态s,其间的状态转移概率可以定义为:

Pss=P(St+1=s|St=s) P s s ′ = P ( S t + 1 = s ′ | S t = s )

假设一共有 n n 个状态,且都具备马尔科夫性,那么它们之间的转换概率可以使用矩阵表示:

P=|p11p1npn1pnn|

矩阵行表示当前状态,列表示下一个状态,对应的值为两个状态转移的概率。因此,可以得知每列的和为1。

一个马尔科夫过程是无记忆的随机过程,例如一个随机的状态序列,其中每个状态都具备马尔科夫性。马尔科夫过程(马尔科夫链)可以定义为一个元组(tuple) <S,P> < S , P > <script type="math/tex" id="MathJax-Element-72"> </script>,其中 S S 是一个组数目有限的状态,P是状态转移概率矩阵。
马尔科夫过程
$$

马尔科夫奖励过程

马尔科夫奖励(reward)过程是一个带值得马尔科夫链。通常可以被定义为一个元组 <S,P,R,γ> < S , P , R , γ > <script type="math/tex" id="MathJax-Element-75"> </script>,其中 S S 是一个有限的状态集;P是状态转移概率矩阵; R R 是回报函数,Rs=E[Rt+1|St=s]; γ γ 是衰减因子, γ[0,1] γ ∈ [ 0 , 1 ]

回报(return)

回报函数 Gt G t 是从时间步 t t 之后的总的衰减奖励。

Gt=Rt+1+γRt+2+=k=0γkRt+k+1

衰减因子的值会影响后续状态转移的回报值。 γ γ 小则更注重短期(myopic)回报$$;相应地
,$\gamma$若是较大,则表示更加注重长期(far-sight)回报。
回报

为什么需要衰减因子?
1)避免在马尔科夫回环中产生无限大的值
2)未来并不不确定,因此不需要全部回报
3)符合人类的实践行为—注重眼前效益

状态价值函数(value function)

价值函数描绘的是状态的长期价值。一个状态的回报值与其形成的马尔科夫链有关系,不同的链具有不同的回报值。因此,一个马尔科夫随机过程中状态 s s 的状态价值函数可以定义为其回报的期望:

v(s)=E[Gt|St=s]

状态价值函数

贝尔曼方程

从给出的例子中可以看出,马尔科夫链是可以存在回环的,这就回给求回报时带来一定的困难。尤其当 γ0 γ ≠ 0 时。通过观察所定义的状态价值函数,它可以分解为直接回报和后继状态的衰减值:

v(s)v(s)=E[Gt|St=s]=E[Rt+1+γRt+2+γ2Rt+3+|St=s]=E[Rt+1+γ(Rt+2+γRt+3+)|St=s]=E[Rt+1+γGt+1|St=s]=E[Rt+1+γv(St+1)|St=s]=E[Rt+1+γv(St+1)|St=s]=E[Rt+1|St=s]+γE[v(St+1)|St=s]=Rs+γsSPssv(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 [ R t + 1 + γ v ( S t + 1 ) | S t = s ] = E [ R t + 1 | S t = s ] + γ E [ v ( S t + 1 ) | S t = s ] = R s + γ ∑ s ′ ∈ S P s s ′ v ( s ′ )

将上述式子改写成矩阵形式:

v=R+γPvv(1)v(n)=R1Rn+P11Pn1P1nPnnv(1)v(n) v = R + γ P v [ v ( 1 ) ⋮ v ( n ) ] = [ R 1 ⋮ R n ] + [ P 11 ⋯ P 1 n ⋮ ⋱ ⋮ P n 1 ⋯ P n n ] [ v ( 1 ) ⋮ v ( n ) ]

这是一个线性方程组,结合线性代数的知识可以直接求解(如果满足要求的话):

v=(IγP)1R v = ( I − γ P ) − 1 R

对于小的MRP问题,可以直接使用上述式子求解。但对于大型的问题,则需要使用迭代的方法来进行求解。如:
-动态规划法
-蒙特卡罗法
-时间差分学习法

马尔科夫决策过程

定义

一个马尔科夫决策过程(MDP)是一个带决策的马尔科夫奖励过程,是一个其中任意状态具备马尔科夫性的环境。

马尔科夫决策过程可以使用一个元组 <S,A,P,R,γ> < S , A , P , R , γ > <script type="math/tex" id="MathJax-Element-92"> </script>表示,其中:
S S 表示一个有限的状态组,
A是一个有限的行为组,
P P 是状态转移概率矩阵,R是回报函数;

Pass=P[St+1=s|St=s,At=a] P s s ′ a = P [ S t + 1 = s ′ | S t = s , A t = a ]
γ γ 是衰减因子, γ[0,1] γ ∈ [ 0 , 1 ]

一个马尔科夫简单的例子如下:
马尔科夫决策过程

策略

一个策略 π π 是给定状态下关于行为的概率分布:

π(a|s)=P[At=a|St=s] π ( a | s ) = P [ A t = a | S t = s ]

-一个策略完全定义了agent的行为。
-MDP策略取决于当前的状态,非历史状态。
-策略是固定的,不是随时间变化的。

对于给定的一个MDP M=<S,A,P,R,γ> M =< S , A , P , R , γ > 和对应的策略 π π ,其状态序列 S1,S2, S 1 , S 2 , ⋯ 是一个马尔科夫过程 <S,Pπ> < S , P π > ;状态及回报序列 S1,R2,S2, S 1 , R 2 , S 2 , ⋯ 是一个马尔科夫奖励过程 <S,Pπ,Rπ,γ> < S , P π , R π , γ >

Pπss=aAπ(a|s)PassRπs=aAπ(a|s)Ras P s s ′ π = ∑ a ∈ A π ( a | s ) P s s ′ a R s π = ∑ a ∈ A π ( a | s ) R s a

相应地,状态价值函数可以定义为:

vπ(s)=Eπ[Gt|St=s]=Eπ[Rt+1+γvπ(St+1)|St=s] v π ( s ) = E π [ G t | S t = s ] = E π [ R t + 1 + γ v π ( S t + 1 ) | S t = s ]

另外,可以新定义行为价值函数:

qπ(s,a)=Eπ[Gt|St=s,At=a]=Eπ[Rt+1+γqπ(St+1,At+1)|St=s,At=a] q π ( s , a ) = E π [ G t | S t = s , A t = a ] = E π [ R t + 1 + γ q π ( S t + 1 , A t + 1 ) | S t = s , A t = a ]

贝尔曼方程

qπ(s,a)=Ras+γsSPassvπ(s)=Ras+γsSPassaAπ(a|s)qπ(s,a) q π ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) = R s a + γ ∑ s ′ ∈ S P s s ′ a ∑ a ′ ∈ A π ( a ′ | s ′ ) q π ( s ′ , a ′ )

贝尔曼行为价值函数

vπ(s)=Eπ[Rt+1+γvπ(St+1)|St=s]=aAπ(a|s)qπ(s,a)=aAπ(a|s)(Ras+γsSPassvπ(s)) v π ( s ) = E π [ R t + 1 + γ v π ( S t + 1 ) | S t = s ] = ∑ a ∈ A π ( a | s ) q π ( s , a ) = ∑ a ∈ A π ( a | s ) ( R s a + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) )
贝尔曼状态价值函数

改写为矩阵形式则有:

vπ=Rπ+γPπvπvπ=(IγPπ)1Rπ v π = R π + γ P π v π v π = ( I − γ P π ) − 1 R π

最优价值函数

最优状态价值函数

v(s)=maxπvπ(s) v ∗ ( s ) = max π v π ( s )

最优行为价值函数

q(s,a)=maxπqπ(s,a) q ∗ ( s , a ) = max π q π ( s , a )

最优价值函数指出了在马尔科夫决策过程中可能的最好决策结果,当我们知道最优结果时则称这个马尔科夫决策过程(MDP)是已解(solved)的。

最优策略

定义一种偏序:

如果对于任意的 s s vπ(s)vπ(s),那么 ππ π ≥ π ′ .

定理:

对于任意的MDP:
存在一个最优的策略 π π ∗ 使得对于任意的 π π ππ π ∗ ≥ π ;
所有的最优策略对应最优状态价值函数,即: vπ(s)=v(s) v π ∗ ( s ) = v ∗ ( s )
所有的最优策略对应最优行为价值函数,即: qπ(s,a)=q(s,a) q π ∗ ( s , a ) = q ∗ ( s , a )

最优策略的寻找可以通过最大化 q(s,a) q ∗ ( s , a ) :

π(a|s)={1if  a=argmaxaAq(s,a)0o.w. π ∗ ( a | s ) = { 1 i f     a = arg ⁡ max a ∈ A q ∗ ( s , a ) 0 o . w .

对于任意的MDP过程,总是存在一个确定的最优策略;一旦知道 q(s,a) q ∗ ( s , a ) 则可以直接得到最优策略。

贝尔曼最优方程

v(s)=maxaRas+γsSPassv(s)q(s)=Ras+γsSPssmaxaq(s,a) v ∗ ( s ) = max a R s a + γ ∑ s ′ ∈ S P s s ′ a v ∗ ( s ′ ) q ∗ ( s ) = R s a + γ ∑ s ′ ∈ S P s s ′ max a ′ q ∗ ( s ′ , a ′ )

贝尔曼最优方程是非线性的,通常没有闭式解。但可以通过迭代法来求得数值解:
1、值迭代(value iteration)
2、策略迭代(policy iteration)
3、Q学习
4、Sarsa


References
[1]UCL Course on RL
[2]强化学习入门 第一讲 MDP

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值