强化学习纲要(周博磊) | 2、马尔可夫决策过程

Markov Chain Markov Reward Process (MRP) Markov Decision Processes (MDP)

马尔可夫链

状态转移序列满足马尔可夫(马尔可夫链性质):下一状态只取决于当前状态,和之前的状态不相关。

image-20210920154122924

image-20210917204226390

描述了状态转移之间的关系,可以用状态转移矩阵表示状态变换的概率。

马尔可夫的例子:

image-20210917204310110

每步概率都是0.4,0.4,0.2的概率分布

马尔可夫奖励过程(MRP)

image-20210920155525167

马尔可夫奖励过程(MRP)即在马尔可夫过程中多一个奖励函数,当达到某一状态时将得到什么样的奖励。

image-20210917204444824

概念

Horizon:

每一episode最大步数

Return:

每一时间步获得收益之和:

image-20210917204725363

更希望得到及时的奖励,未来的奖励将会打折扣γ

疑问:因为当今奖励占的权重较大,如果存在否定当今行为(例如让一追三),选择其他行为未来的收益总和更大呢?

Value Function:

image-20210917205113467

为什么需要折扣因子(Discount Factor):
  • 避免马尔可夫有环
  • 将不确定性表现出来,希望得到及时奖励
  • γ=0,只取决于当前奖励;γ=1,未来奖励和当前奖励权重一样

如何计算value function?

Bellman equation
image-20210917205734577 $$ P(s'|s) :当前状态转移到未来状态的关系 $$ image-20210917205919767

image-20210917210059691

通过矩阵求幂的过程即可求出V(Value function),但是时间复杂度太大了。

优化:迭代计算Value function

  1. 动态规划 Dynamic Programming
  2. 蒙特卡罗方法 Monte-Carlo
  3. 时间差分 Temporal-Difference

Dynamic Programming动态规划,迭代法

image-20210917210618335

Monte-Carlo evaluation蒙特卡罗

image-20210917210225585

将多次轨迹奖励累加,当大于一定轨迹数量后,G除以轨迹数量得到价值Value

Temporal-Difffference learning时间差分(MC+DP二者结合,后续介绍)

Markov Decision Process (MDP)决策

image-20210920155615726

马尔可夫决策过程(MDP)即在马尔可夫奖励过程(MRP)基础上增加了决策过程(action)

Policy in MDP:

image-20210918144245264

MDP的policy:在某一St下,采取什么action 。如果已知policy,即已知π(a|s),已知每个state执行某个action的概率。后面的P(s’|s)π 、V(t)π 等指的是在某π下的状态转移概率和价值函数。
π ( a ∣ s ) = P ( a t = a ∣ s t = s ) π(a|s)=P(a_t=a|s_t=s) π(as)=P(at=ast=s)

MDP->MRP

image-20210918144301221

当policy已知,π(a|s)已知,MDP问题将转化为MRP,原先MRP需要知道P(s’|s),现在变成了需要知道P(s’|s,a),即在某一状态下,采取某种action转移到下一状态的概率。

image-20210920161609237

image-20210920161526942
MRP和MDP的直观区别
image-20210918144625405
Value function for MDP

image-20210918144801085

MDP中的Bellman Expectation Equation

image-20210920162548449

Backup推导
image-20210918145201566 image-20210918145216270

两层加和,内层加和是从叶子结点backup到父结点,外层加和是backup到图中的根节点(两个等式同理)。

Policy evaluation in MDP(value prediction)

image-20210918145818456

Policy Evaluation又叫value prediction,即已知policy,来计算value funciton的值vπ(s)。

Example

image-20210918145405422

image-20210918145432559

红色框“policy π(s)=Left with γ” 就是在该过程的policy π。

Control in MDP: policy iteration and value iteration

image-20210920163642744

动态规划(Dynamic Programming)

先寻找子问题的最佳解,然后再子问题逐步求解,最终得到原始问题的最佳解。

(MDP中:Bellman equation给出递归分解,价值函数储存并重用解决方案)

Policy evaluation on MDP

image-20210920164010668

思路:还是之前提到的根据MDP+policy转化为MRP,不断迭代得到V。可以用MC/DP/TD等方法求解。

image-20210920164454228

image-20210920164513684

得到image-20210920164547707

Optimal Value Function

image-20210921120446976

Finding Optimal Policy

如果已知最优Q函数,如何根据Q函数找到最佳策略?

image-20210920165316729

任何一个MDP问题都有确定的最优策略。如果我们知道就可以直接得到optimal policy。

Policy Search

穷举策略,将会有|A||s|种可能,复杂度太高=>常见方法:

  • policy iteration
  • value iteration

MDP control即根据值函数求的最佳策略

MDP最优策略是Deterministic、Stationary 、not unique的。

Policy iteration

1、policy evaluation,根据policy计算价值函数

2、根据得到的价值函数使用greedy得到心得策略拍π’=greedy(vπ)

image-20210920170211927
policy improvement

image-20210920170227963

得到新的policy后重新计算value funciton继续迭代。

证明过程(为什么policy improvement有效)

image-20210921120556760

image-20210921120629160

Value Iteration

当以下等式成立时,Bellman Optimality Equation成立。取得最优价值函数
v π ( s ) = max ⁡ a ∈ A q π ( s , a ) v^π(s)=\max_{a\in A}q^π(s,a) vπ(s)=aAmaxqπ(s,a)
得到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LwxQq1Ag-1632214923911)(C:/Users/jz/AppData/Roaming/Typora/typora-user-images/image-20210921121536766.png)]

image-20210920170359851

Difffference between Policy Iteration and Value Iteration

  1. Policy Iteration由policy evaluationpolicy improvement两部分组成
  2. Value Iteration则是直接利用Bellman Optimality Equation迭代求解,最后再有一个policy extraction,由动作值获得最终策略

Policy Iteration

image-20210921122536725

Value Iteration

image-20210921123011746

区别这两种Iteration的生动的解释:

策略迭代:https://zhuanlan.zhihu.com/p/34006925

价值迭代:https://zhuanlan.zhihu.com/p/33229439

Bellman Equation和MDP问题

image-20210920170537113

MDP Prediction问题:可直接用Bellman Expectation Equation迭代求解

MDP Control问题:可用Bellman Expectation Equation的方法(Policy iteration)或直接使用Bellman Optimality Equation进行值迭代(Value Iteration)。

Bellman Equation和MDP问题

[外链图片转存中…(img-tfy2lH9O-1632214923918)]

MDP Prediction问题:可直接用Bellman Expectation Equation迭代求解

MDP Control问题:可用Bellman Expectation Equation的方法(Policy iteration)或直接使用Bellman Optimality Equation进行值迭代(Value Iteration)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nosimper

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值