(David Silver深度强化学习) - Lecture2 - Markov Decision Processes

David Silver deep reinforcement learning course in 2019. For document and discussion.

Lecture2: Markov Decision Processes

Ⅰ Markov Processes (Markov Chain)

1.Introduction to MDPs

  • MDP描述的是RL中的环境(environment),且该环境是fully observable
  • MDP中的state完全描述了这个过程
  • 几乎所有的RL问题都可以转换为MDPs
    • 最优控制主要处理连续的MDPs
    • Partially observable problems可以转换为MDPs
    • 多臂赌博机是只有一种state的MDPs

2.Markov Property

  • state S t S_t St是Markov当且仅当 P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S t , . . . , S t ] P[S_{t+1}|S_t]=P[S_{t+1}|S_t,...,S_t] P[St+1St]=P[St+1St,...,St]

  • 当前的状态已经包含了所有 t − 1 t-1 t1及其之前的历史信息,因此history可以丢弃,因此所有信息可用当前时刻 t t t下的一个特定的状态来表示,而不需要保留历史信息

  • 该状态是future的充分统计量( s s s包含了足够信息来描述未来所有的reward

  • state transition matrix (状态转移矩阵):

    • 对于一个Markov state s s s及其后继state s ′ s' s,状态转移概率为

在这里插入图片描述

  • 状态转移矩阵 P P P定义了从state s s s 转移到后继 s ′ s' s 的转移概率(每行的和为1),即从任一状态转移到其他状态的概率有多少(转移到其他所有状态的概率和为1)

在这里插入图片描述

3.Definition of Markov Process (Markov Chain)

  • 是一个无记忆的,具有随机状态序列的,具有Markov属性的过程

  • 定义为一个tuple < S , P > <S, P> <S,P> S S S是一个有限的状态的集合,P为状态转移概率矩阵

  • Example

  • e.g.1 其中Sleep为Markov Process的最终状态, P P P为该过程的状态转移矩阵

在这里插入图片描述

学生提问:如果处理概率随着时间变化的情况

答:有两种答案,一种是可以设定一个non-stationary Markov process,仍然使用stationary MDP的算法,但逐步调整算法来找到最好的算法,另一种是将其变为一个更复杂的Markov process,可以假设各个state上停留的时间,增加状态转移概率,但不改变MDP的基本结构。

Ⅱ Markov Reward Processes (MRP)

1.定义

  • MRP是一个带有value的Markov chain,可知道在MP中积累了多少reward

  • 定义为一个tuple < S , P , R , γ > <S, P, R, γ> <S,P,R,γ>

    • S S S 是有限状态集合
    • P P P 是状态转移概率矩阵
    • R R R 是(immediate)reward函数, R s = E [ R t + 1 ∣ S t = s ] R_s=E[R_{t+1}|S_t=s] Rs=E[Rt+1St=s]
    • γ γ γ 是折扣因子, γ ∈ [ 0 , 1 ] γ∈[0, 1] γ[0,1]
  • Example

在这里插入图片描述

2.Return(回报)

  • 定义为 G t G_t Gt ,是在 t t t时刻时的总折扣奖励(total discounted reward)→目标是最大化回报

    G t = R t + 1 + γ R t + 2 + . . . = ∑ k = 0 ∞ γ k R t + k + 1 G_t=R_{t+1}+γR_{t+2}+...=∑_{k=0}^∞γ^kR_{t+k+1} Gt=Rt+1+γRt+2+...=k=0γkRt+k+1

    • 折扣 γ ∈ [ 0 , 1 ] γ∈[0, 1] γ[0,1]是对未来reward的关注程度值, γ γ γ值为0代表最大短视myopic(对应immediate reward),表示目光短浅,注重当前利益; γ γ γ值为1代表最大远见far-sighted(对应delayed reward),表示目光长远,深谋远虑。
    • k + 1 k+1 k+1时间后agent收到的reward是 γ k R γ^kR γkR

学生提问:为何 G t G_t Gt不需要求取期望值

答:因为此处 G G G只是MRP中的一个随机样本

  • 为什么需要折扣 γ γ γ? 答:没有比较完美的model可以完全适用于环境中,或者说未来有很多的不确定性;便于数学计算;避免循环MPs中出现无限回报;未来的不确定性可能没有得到充分体现;如果reward是经济上的,立即的reward可能比延迟的reward获得更多的利息;人和动物的行为对immediate reward有趋向性;如果所有序列都终止,那么也可以使用非折扣的MRPs。

3.Value Function

  • 定义为 v ( s ) v(s) v(s),是从状态 s s s 开始的预期return,是对所有可能过程的平均,即 v ( s ) = E [ G t ∣ S t = s ] v(s)=E[G_t|S_t=s] v(s)=E[GtSt=s]
  • Example γ = 1 / 2 γ = 1/2 γ=1/2

在这里插入图片描述

4.Bellman Equation for MRPs (贝尔曼方程)

  • value function可分解为 R t + 1 R_{t+1} Rt+1 γ v ( S t + 1 ) γv(S_{t+1}) γv(St+1)两部分,可以看出,其只与状态s有关

在这里插入图片描述

  • 贝尔曼方程可以被分成两部分,第一部分是在 t + 1 t+1 t+1时刻获取到的immediate reward的期望和下一状态的有折扣的return的期望。第一部分因为 t + 1 t+1 t+1时刻获取的reward期望其实是 t t t时刻的状态所获得的,因此期望符号可以略去,第二部分可以利用如下图所示的状态转移概率矩阵来求。

#pic_center

  • 贝尔曼方程的矩阵形式-
    在这里插入图片描述
  • 贝尔曼方程的求解(为一个线性方程),计算需要 O ( n 3 ) O(n^3) O(n3)的时间复杂度,因此大型的MRPs问题不适合直接求解

在这里插入图片描述

  • 对于大型的MRPs一般采取迭代的方法
    • 动态规划(Dynamic programming )
    • 蒙特卡洛估计(Monte-Carlo evaluation)
    • 时间差分学习(Temporal-Difference learning)

Ⅲ Markov Decision Processes (MDPs)

1.MDPs的定义

  • MDP其实是MRP基础上再加入action,处于所有状态都是Markov的环境,下一个state取决于采取的action和当前的state。

  • 定义为一个tuple < S , A , P , R , γ > <S, A, P, R, γ> <S,A,P,R,γ>

    • S S S是有限状态集
    • A A A是有限动作集
    • P P P是状态转移概率矩阵,其中 P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ] P_{ss'}^a=P[S_{t+1}=s'|S_t=s,A_t=a] Pssa=P[St+1=sSt=s,At=a]
    • R R R是奖励函数,其中 R s s = E [ R t + 1 ∣ S t = s , A t = a ] R_s^s=E[R_{t+1}|S_t=s,A_t=a] Rss=E[Rt+1St=s,At=a]
    • γ γ γ是折扣因子,
  • Example:从例子中可以看出,每个action都有其对应的reward

在这里插入图片描述

2.Policy

  • 定义为 π π π,是给定state下action的分布,实际上是一个状态转移矩阵, π ( a ∣ s ) = P [ A t = a ∣ S t = s ] π(a|s) = P[A_t = a | S_t = s] π(as)=P[At=aSt=s]

  • Policy完全定义了agent的行为(Markov Property)

  • MDP的policy是基于当前state的(并非基于history)

  • MDP转换为MP,MRP

在这里插入图片描述

3.Value Function

  • state-value function定义为$v_π(s) $,是从状态s(遵循policy π π π)开始的期望回报 v π ( s ) = E π [ G t ∣ S t = s ] v_π(s) = E_π [G_t | S_t = s] vπ(s)=Eπ[GtSt=s]

  • action-value function定义为 q π ( s , a ) q_π(s,a) qπ(s,a) ,是从状态s和动作a(遵循policy π π π)开始的期望 q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] q_π(s,a) = E_π [G_t | S_t = s,A_t = a] qπ(s,a)=Eπ[GtSt=s,At=a]

  • Example

在这里插入图片描述

  • 贝尔曼期望方程,同样也可以分解为reward项和下一state的期望

在这里插入图片描述

  • 同样对以上方程进行分解

在这里插入图片描述

  • 将二者叠加则会产生如下结果

在这里插入图片描述

  • 基于以上分解,就不难计算出Example中的各个值

在这里插入图片描述

  • 贝尔曼分解方程的矩阵形式

在这里插入图片描述### 4.Optimal Value Function(最优值函数)

  • 目的:找到MDPs中最优的动作(即最优解决问题的方法

  • 最佳状态值函数 v ∗ ( s ) v_*(s) v(s)是所有策略情况下的最大值函数 v ∗ ( s ) = m a x π v π ( s ) v_∗(s) = max_πv_π(s) v(s)=maxπvπ(s)

  • 最佳动作值函数 q ∗ ( s , a ) q_∗(s,a) q(s,a)是所有策略情况下的最大动作值函数 q ∗ ( s , a ) = m a x π q π ( s , a ) q_∗(s,a) = max_π q_π(s,a) q(s,a)=maxπqπ(s,a)

  • 最佳值函数(the optimal value function)说明了MDP中可能出现的最佳性能

  • 当知道最优值函数后,可以MDP过程相当于有解了

  • Example(从最优值10往前推)

在这里插入图片描述
在这里插入图片描述

5.Optimal Policy(最优策略)

  • 定义策略上的偏序 π ≥ π ′    i f    v π ( s ) ≥ v π ′ ( s ) , ∀ s π ≥ π'\;if\;v_π(s) ≥ v_{π'}(s),∀s ππifvπ(s)vπ(s),s,即一个最优策略的状态值函数要在任何状态下都优于(至少等于)其他的策略状态值函数,

  • 任何一个MDP都至少存在一个最佳的策略 π ∗ π_* π优于或等于其他的策略 π ∗ ≥ π , ∀ π π_*≥π,∀π ππ,π

  • 最优策略表示一个MDP中最好的behavior是什么

  • 最优策略都能达到最优的值函数(optimal policies → optimal value functions) v π ∗ ( s ) = v ∗ ( s ) v_{π_∗}(s) = v_∗(s) vπ(s)=v(s)

  • 最优策略都能达到最优的动作值函数 (optimal policies → optimal action-value functions) q π ∗ ( s , a ) = q ∗ ( s , a ) q_{π_∗}(s,a) = q_∗(s,a) qπ(s,a)=q(s,a)

  • 寻找最优策略:通过最大化 q ∗ ( s , a ) q_*(s,a) q(s,a)可以找到,如下公式所示

在这里插入图片描述

  • 因此,如果知道了 q ∗ ( s , a ) q_*(s,a) q(s,a),就可以获得最优策略

  • Example

在这里插入图片描述

6.Bellman Optimality Equation(贝尔曼最优方程)

  • 最优值函数通过贝尔曼最优性方程递归关联
    在这里插入图片描述

  • 进一步推算

在这里插入图片描述

  • Example

在这里插入图片描述

  • ​ 求解贝尔曼最优方程(非线性,因为包含max函数,因此没有闭式解)
    • Value Iteration(值迭代)
    • Policy Iteration(策略迭代)
    • Q-learning
    • Sarsa

Ⅳ Extensions to MDPs

1.Infinite and continuous MDPs (无限和连续)

  • 可数无限的状态和动作空间,按以上方式求解
  • 连续状态和动作空间,使用线性二次模型的封闭形式
  • 连续时间的情况,需要偏微分方程及HJB方程求解,贝尔曼方程时间步长为0的极限情况

2.Partially observable MDPs(部分可观察POMDP)

  • 定义:部分可观察MDP是一种具有隐状态的MDP决策过程,这是一个具有动作的隐马尔可夫模型。
  • 从定义中可以看出,状态转移矩阵 P P P是不可见的, s ′ s' s为隐状态,而 o o o才为实际可观测状态

在这里插入图片描述

  • history重新定义为 actions, observations and rewards H t = A 0 , O 1 , R 1 , . . . , A t − 1 , O t , R t H_t = A_0,O_1,R_1,...,A_{t−1},O_t,R_t Ht=A0,O1,R1,...,At1,Ot,Rt

  • 隐状态分布,也就是信念状态 b ( h ) b(h) b(h)是在给定history下的状态的概率分布

    b ( h ) = ( P [ S t = s 1 ∣ H t = h ] , . . . , P [ S t = s n ∣ H t = h ] ) b(h) = (P[S_t = s^1 | H_t = h],...,P[S_t = s^n | H_t = h]) b(h)=(P[St=s1Ht=h],...,P[St=snHt=h])

  • POMDP的简化表示

在这里插入图片描述

3.Undiscounted, average reward MDPs(无折扣,奖励平均)

  • 各态历经的MP,历经无限时间,无系统的周期

在这里插入图片描述

  • 各态历经的MDP(满足任意策略的导出的MP都是各态历经的)

在这里插入图片描述

  • 平均奖励值函数

在这里插入图片描述

References

https://www.bilibili.com/video/BV1kb411i7KG?from=search&seid=5362588914313557002

https://blog.csdn.net/u013745804/category_7216686.html

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html

(转载整理自网络,如有侵权,联系本人删除,仅供技术总结使用)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值