Lecture2:Markov Decision Process

Markov Process

几乎所以的强化学习问题都可以表述成马尔可夫决策过程(MDP)的形式。

Markov Property

Definition
A state S t S_t St is Markov if and only if
P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 , … , S t ] \mathbb{P}[S_{t+1}|S_t]=\mathbb{P}[S_{t+1}|S_1,\dots,S_t] P[St+1St]=P[St+1S1,,St]
下一个状态只与当前状态有关

从状态s到状态s’的状态转移概率
P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ] P_{ss'}= \mathbb{P}[S_{t+1}=s'|S_t=s] Pss=P[St+1=sSt=s]
状态转移矩阵定义从状态s到状态s’的转移概率。
在这里插入图片描述

Markov Process

马尔可夫过程中的所有状态均满足马尔可夫性,马尔可夫过程可以表示成一个而元组,包含状态和状态转移矩阵。
在这里插入图片描述

下图是一个马尔可夫过程的例子。初始状态为C1,最终状态为Sleep。
在这里插入图片描述
采样(sample)是一个非常重要的概念。如图所示,采样的初始状态为C1,最终状态为Sleep。
比如:

  • C1 C2 C3 Pass Sleep
  • C1 FB FB C1 C2 Sleep
  • C1 C2 C3 Pub C2 C3 Pass Sleep
    采样的长度是不固定的是随机的。
    在这里插入图片描述
    马尔可夫过程可以用上述状态转移矩阵表示,第一行第二列是0.5,也就是从C1到C2的转移概率,第二行,第三列为0.8,也就是从C2到C3的转移概率。每一行的总和为1。

Markov Reward Process

可以认为带有value的马尔可夫过程。
在这里插入图片描述
R告诉我们从在时间t,状态s的时候,能获得多少reward,这是立即奖励,也就是t+1时候的reward。
在这里插入图片描述

Return

G t G_t Gt可以看作是从时间t开始到结束的累计奖励。
γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]
γ \gamma γ接近于0时,我们倾向于短期的reward,当接近于1时,倾向于长期reward。
在这里插入图片描述
为什么要设置衰减因子 γ \gamma γ
在这里插入图片描述

Value Function

value function 衡量在状态s时,到结束时可以获得reward的总和,也就是对 G t G_t Gt的期望。
在这里插入图片描述
还是以上面的为例子:从C1开始, γ = 1 2 \gamma = \frac{1}{2} γ=21
G 1 = R 2 + γ R 3 + ⋯ + γ T − 2 R T G_1 = R_2 + \gamma R_3 + \dots +\gamma^{T-2}R_T G1=R2+γR3++γT2RT

可以理解为 G 1 G_1 G1是一个随机变量, G 1 G_1 G1 R 2 , R 3 , … R_2,R_3,\dots R2,R3,这些随机变量的和,v是 G 1 G_1 G1的期望。
在这里插入图片描述

Bellman Equation

当前的value function可以看出两部分组成。它的基本思想就是递归分解。

在这里插入图片描述
对于MRP而言,奖励仅仅与状态有关,因此bellman方程可以做一下分解表示:
在这里插入图片描述
在bellman方程中,值函数被分解为两部分,一部分是对于t+1时间步的奖励的期望,另一部分是对于有折扣的下一状态值的期望。第一部分中由于t+1步的奖励就是t时刻的状态所获得的奖励,因此期望可以直接略去;第二部分则是利用状态转移矩阵对状态值函数求的期望。

bellman equantion的矩阵表示形式

在这里插入图片描述
这里前面的v和后面的v是相同的,就是待求解矩阵。这种方法只适合状态比较少的情况。
在这里插入图片描述

Markov decision Process

MDP是一个包含MRP的决策过程。它是一个所有状态都具有马尔可夫性的环境。

在这里插入图片描述

Policy

A policy π \pi π is a distribution over actions given state,
π ( a ∣ s ) = P [ A t = a ∣ S t = s ] \pi(a|s) = \mathbb{P}[A_t = a | S_t = s] π(as)=P[At=aSt=s]

这里的policy π \pi π 中并不包含reward,因为我们并不关心过去所得的reward,我们的策略是最大化将来的reward。此外,当前的state包含之前的所有信息。

  • Policy 完全定义了agent的行为
  • MDP policy 只依赖于当前的状态
  • Policy是固定的,与时间无关
    A t ∼ π ( ⋅ ∣ S t ) , ∀ t > 0 A_t \sim \pi(\cdot | S_t ), \forall t>0 Atπ(St),t>0
  • 给定一个 MDP M = < S , A , P , R , γ > M = <S,A,P,R,\gamma> M=<S,A,P,R,γ>和policy π \pi π,状态序列 S 1 , S 2 , … S_1,S_2,\dots S1,S2, 是markov过程 < S , P π > <S,P^{\pi}> <S,Pπ>, 状态和奖励序列 S 1 , R 1 , S 2 , … S_1,R_1,S_2,\dots S1,R1,S2,也是markov过程 < S , P π , R π , γ > <S,P^{\pi},R^{\pi},\gamma> <S,Pπ,Rπ,γ>
  • 其中:
    P s , s ′ π = ∑ a ∈ A π ( a ∣ s ) P s s ′ a P_{s,s'}^{\pi}=\sum_{a\in A} \pi(a|s)P_{ss'}^{a} Ps,sπ=aAπ(as)Pssa
    R s π = ∑ a ∈ A π ( a ∣ s ) R s a R_{s}^{\pi}=\sum_{a\in A} \pi(a|s)R_{s}^{a} Rsπ=aAπ(as)Rsa
Value Function

在这里插入图片描述

之前提到的是不包含action的value function,也就是上图中的state-value function,他是关于state 的value function。这里又补充了关于action的value function。 v π ( s ) v_{\pi}(s) vπ(s)可以理解为状态s有多好, q π ( s , a ) q_{\pi}(s,a) qπ(s,a)可以理解为在状态s下采取action a有多好。

Bellman Expectation Equation

之前提到的关于state的bellman equation为:
v π ( s ) = E π [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s ] v_{\pi}(s) = \mathbb{E}_{\pi}[R_{t+1} + \gamma v_{\pi}(S_{t+1})|S_t = s ] vπ(s)=Eπ[Rt+1+γvπ(St+1)St=s]
现在关于action的bellman equation为:
q π ( s , a ) = E π [ R t + 1 + γ q π ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] q_{\pi}(s,a) = \mathbb{E}_{\pi}[R_{t+1} + \gamma q_{\pi}(S_{t+1},A_{t+1})|S_t=s,A_t = a ] qπ(s,a)=Eπ[Rt+1+γqπ(St+1,At+1)St=s,At=a]
下面用树状图解释一下:
白色的圈为状态,黑色的点为action。
在这里插入图片描述
求根结点s的value v π ( s ) v_{\pi}(s) vπ(s),在状态s时,可能会以不同的概率 π ( a ∣ s ) \pi(a|s) π(as)采取对应action,对应图中的两个黑色的点。采取每个action都会得到一个action-value function q π ( s , a ) q_{\pi}(s,a) qπ(s,a)。这里把不同的action对应的值进行平均就得到了状态s时的value v π ( s ) v_{\pi}(s) vπ(s)

在这里插入图片描述
这幅树状图描述了在状态s时采取action a得到的 q π ( s , a ) q_{\pi}(s,a) qπ(s,a)。每执行一次cation都会得到立即的reward R S a R_S^a RSa,然后会以概率 P s s ′ a P_{ss'}^a Pssa转移到不同的状态s’。在不同的状态s’都会有 v π ( s ‘ ) v_{\pi}(s‘) vπ(s),这里对所有可能的状态s’进行平均,然后乘衰减因子 γ \gamma γ,再加上之前立即reward R S a R_S^a RSa 就得到了最终的 q π ( s , a ) q_{\pi}(s,a) qπ(s,a)

下面两幅图是上面两幅图的组合。就是进行递归操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里讲解一下7.4 是如何计算的。7.4是在状态C3是的value。在状态C3时,可能采取两种action分别为Study和Pub,对应的概率均为0.5,采取action Pub之后会得到立即奖励 +1,然后分别以0.2,0.4,0.4的概率转换为状态C1,C2,C3。采取action Study之后会得到立即奖励+10,然后以1.0的概率转移到结束状态。
7.4 = 0.5*(1+0.2*(-1.3)+0.42.7+0.47.4) + 0.5*(10+1*0)

Bellman Expectation Equation(Matrix Form)

v π = R π + γ P π v π v_{\pi}=R^{\pi}+\gamma P^{\pi}v_{\pi} vπ=Rπ+γPπvπ
直接求解可得
v π = ( 1 − γ P π ) − 1 R π v_{\pi} = (1-\gamma P^{\pi})^{-1}R_{\pi} vπ=(1γPπ)1Rπ

Optimal Value function

其实我们并不关心在markov chain中可以得到多少reward,我们关心的是在系统中找到最佳路径。

在这里插入图片描述

v ∗ ( s ) v_*(s) v(s)仅仅告诉了我们最大可能的reward,但是并没有告诉我们最好的policy是什么。
q ∗ ( s , a ) q_*(s,a) q(s,a)告诉了我们在状态s,采取a所获取的最大reward ,如果我们可以获取到 q ∗ ( s , a ) q_*(s,a) q(s,a),我们就可以说MDP得到了解决。因此解决MDP可以认为是寻找 q ∗ q^* q

Optimal Policy

如何定义好的Policy?
π ⩾ π ′ if  v π ( s ) ⩾ v π ′ ( s ) , ∀ s \pi \geqslant \pi' \text{if} \ v_{\pi}(s) \geqslant v_{\pi'}(s),\forall s ππif vπ(s)vπ(s),s
在这里插入图片描述

  • 寻找optimal policy
    在这里插入图片描述
Bellman Optimality Equation

在这里插入图片描述
在之前求 v π ( s ) v_{\pi}(s) vπ(s)是平均不同action的reward q π ( s , a ) q_{\pi}(s,a) qπ(s,a),这里求 v ∗ ( s ) v_{*}(s) v(s)是找到最大的action所获得的reward q ∗ ( s , a ) q_{*}(s,a) q(s,a)

在这里插入图片描述
这里求 q ∗ ( s , a ) q_{*}(s,a) q(s,a)和之前的操作相同,也是采取的平均的方法。
下面两幅图为上面的组合,采用了递归的方法。
在这里插入图片描述
这里是max(… + …)而不是max(…) + …
在这里插入图片描述
Bellman最优方程是非线性的,没有固定的解决方案,解决Bellman optimality equation 的方法通常是采样迭代的方法,比如

  • Value Iteration
  • Policy Iteration
  • Q-learnig
  • Sarsa

Extensions to MDPs

视频中简要提及,没有详细讲解。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值