强化学习(三) - 基于模型学习(DP)

上一节主要是引入了MDP(Markov decision process)的各种相关的定义与概念。最后得到了 最优状态值函数 v ∗ ( s ) v_∗(s) v(s)最优状态动作值函数 q ∗ ( s , a ) q_∗(s,a) q(s,a) 的定义与公式。

若学习任务中的四个要素都已知,即S、A、P、R都已经给出,这样的情形称为 “有模型学习”
这一节主要是在已知模型的情况下利用动态规划来进行强化学习求解 v ∗ ( s ) v_∗(s) v(s) q ∗ ( s , a ) q_∗(s,a) q(s,a)。已知模型指的是 &lt; S , A , P , R , γ &gt; &lt;S,A,P,R,γ&gt; <S,A,P,R,γ>这些都是已知的。求解的方法主要有两个,一个是值迭代,另一个是策略迭代


Value Iteration(值迭代)

策略评估

当模型已知时,策略的评估问题转化为一种动态规划问题,即以填表格的形式自底向上,先求解每个状态的单步累积奖赏,再求解每个状态的两步累积奖赏,一直迭代逐步求解出每个状态的T步累积奖赏。

每次迭代过程中,用所有的状态s的第k次迭代得到的的 v k ( s ′ ) v_k(s′) vk(s)来计算第k+1次的 v k + 1 ( s ) v_{k+1}(s) vk+1(s)的值。经过这种方法的反复迭代,最终是可以收敛到最优的 v ∗ ( s ) v_∗(s) v(s)。迭代的公式如下:
在这里插入图片描述
该方法的前提是策略π从一开始就没有改变(如一直保持随机策略),只是通过不断地迭代计算 v ( s ) v(s) v(s)的值,直到最后 v ( s ) v(s) v(s)收敛才停止迭代。

策略改进

我们的目标是要得到最优策略,所以在迭代到V值收敛后,我们可以进行策略改进(策略 π 表示在一个状态s下,agent接下来可能会采取的任意一个action的概率分布)。可以使用贪婪算法(在每一步总是做出在当前看来是最好的选择)来进行策略改进,将策略选择的动作改为当前最优的动作。即:
在这里插入图片描述

上述过程就是从最优化值函数的角度出发,即先迭代收敛得到最优值函数,再来计算如何改进策略,这便是值迭代算法
在这里插入图片描述

事实上,这样需要迭代很多次才会收敛,可能我们会想,我们可不可以每迭代计算一次v(s)的值,就改进一下我们的策略,而不是等到v(s)收敛了才来改进策略呢?
所以接下来我们就来讲策略迭代,它就是这么干的。


Policy Iteration(策略迭代)

策略迭代和上面的值迭代不同就在于,策略评估与策略改进是反复交替的

策略迭代同样也分为两部分:第一个部分是策略评估,第二部分是策略改进
策略评估:在当前的策略下计算 v ( s ) v(s) v(s)的值。
策略改进:利用策略评估得到的 v ( s ) v(s) v(s)来进行策略改进。
然后继续重复策略评估、策略改进,直到最后收敛到最优策略
在这里插入图片描述

总结

值迭代是一开始不改变策略,一直迭代计算 v ( s ) v(s) v(s)的值,直到最后 v ( s ) v(s) v(s)收敛得到最优值函数,这时候再根据贪婪算法改进策略;
策略迭代则是每计算一次 v ( s ) v(s) v(s)的值,就改进一次策略,然后利用改进的策略再继续计算 v ( s ) v(s) v(s)的值,…不断迭代直到策略收敛。策略迭代在每次改进策略后都要对策略进行重新评估,因此比较耗时。



参考:
动态规划求解MDP
周志华《Machine Learning》学习笔记(17)–强化学习



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值