强化学习(reinforcement learning)学习笔记(二)——值迭代与策略迭代

上一次我分享了强化学习相关基础概念,推导了Bellman方程。这次我们来学习求解强化学习模型的2种思路——值迭代与策略迭代

动态规划

这里面我要简单介绍一下动态规划,因为严格来说,值迭代与策略迭代是用来解决动态规划问题的两种规划方法。而强化学习又有另外一个昵称——就是拟动态规划。说白了强化学习就是模拟动态规划算法。

用一句话来总结动态规划就是,对一个复杂问题给出一个一般性的解决办法。它主要由两个性质:

  1. 最优子结构:最优解法能被分解到多个子问题中
  2. 重叠子问题:子问题能重复多次且解法能被重复利用

马尔科夫决策过程(MDP)满足以上两个性质,所以任何MDP都可以用动态规划来解。动态规划与强化学习的区别就是动态规划假设MDP模型是全知的(即参数可知)强化学习可以使MDP未知

MDP需要解决的问题有两种,第一种是prediction,它已知MDP的 S,A,P,R,γ 以及policy,目标是算出在每个状态下的value function(值函数其实就是问题的目标,一般都是跟reward有关的函数,例如Atari小游戏,一般值函数就是累计的得分的期望。目标一般就是最大化这个值函数。而第二种是control,它已知MDP的 S,A,P,R,γ 但是policy未知(即动作 at 未知),因此它的目标不仅是计算出最优的value function而且要给出最优的Policy。

策略迭代 (policy iteration)

策略迭代就是在policy未知的情况下,根据每次的reward学到最优policy。
对一个具体的MDP问题,每次先初始化一个策略,根据这个策略计算值函数 v(s) , 通过这个re值函数来根据贪心策略更新策略,不断迭代最终得到最优策略与最优值函数。总结下来就两个阶段。

  • Policy evaluation :根据每一次的给出策略估计 vπ
  • Policy improvement:根据Greedy poilcy和之前得到的 vπ 获得当前策略 π

图解如下:
这里写图片描述
这里写图片描述

给一个例子:下图是一个叫Small Gridworld的例子,左上角和右下角是终点, γ=1 ,移动一步reward减少1,起始的random policy是朝每个能走的方向概率相同,先单独看左边一列,它表示在第k次迭代每个state上value function的值,这一列始终采用了random policy,这里的value function就是通过Bellman Expectation Equation得到的,考虑k=2的情况,-1.7 = -1.0 + 2*(1/3.0)(-1),-2.0 = -1.0 + 4(1/4.0)*(-1)。而右边一列就是在当前的value function情况下通过greedy算法找到当前朝哪个方向走更好。

这里写图片描述
这里写图片描述

值迭代(value iteration)

值迭代就是在已知policy和MDP模型的情况下,根据策略获得最优值函数和最优策略。
只不过这是确定策略,在值函数 vπ 取得最大值的 at (策略)
通过每次迭代bellman方程获得 vi , 知道值函数收敛。图解如下:这里写图片描述

最后对策略迭代和值迭代进行一个比较:
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值