文章目录

  • 策略迭代
  • 值迭代

策略迭代

  策略迭代法(Policy Iteration method)是动态规划中求最优策略的基本方法之一。它借助于动态规划基本方程,交替使用“求值计算”和“策略改进”两个步骤,求出逐次改进的、最终达到或收敛于最优策略的策略序列。

  我们发现如果想知道最优的策略,就需要能够准确估计值函数。然而想准确估计值函数,又需要知道最优策略,数字才能够估计准确。所以实际上这是一个“鸡生蛋还是蛋生鸡”的问题。而一般的策略迭代法的思路可总结为以下三个步骤:

  1. 以某种策略π\piπ开始,计算当前策略下的值函数vπ(s)v_{\pi}(s)vπ​(s)。
  2. 利用这个值函数,更新策略,得到π∗\pi^{*}π∗。
  3. 再用这个策略π∗\pi^{*}π∗继续前行,更新值函数,得到vπ′(s)v_{\pi}^{\prime}(s)vπ′​(s),一直到vπ(s)v_{\pi}(s)vπ​(s)不在发生变化。

  第一步就是上文说的策略评估(Policy Evaluation);第二步是如何更新策略的呢?大体思想是在当前策略的基础上,贪婪地选取行为,使得后继状态价值增加最多:

π′=greedy(vπ)\pi^{\prime} = greedy(v_{\pi}) π′=greedy(vπ​)

  上述过程的问题就在于策略迭代的主要时间都花费在策略评估上,对一个简单的问题来说,在策略评估上花费的时间不算长;但对复杂的问题来说,这个步骤的时间实在有些长。一个最直接的想法就是,我们能不能缩短在策略评估上花的时间呢?有,就是价值迭代。而策略迭代的优点也很明显,这样一步一步来做,是很容易证明其收敛性。

值迭代

  理解价值迭代原理的思路,可以从策略迭代的缺点出发。可以理解为是策略迭代的一个改进版本。

  1. 策略迭代的策略评估需要值函数完全收敛才进行策略提升的步骤,能不能对策略评估的要求放低,这样如果可以实现的话,速度会有所提升。

  2. 我们在策略迭代中关注的是最优的策略,如果说我们找到一种方法,让最优值函数和最优策略同时收敛,那样我们就可以只关注值函数的收敛过程,只要值函数达到最优,那策略也达到最优,值函数没有最优,策略也还没有最优。这样能简化了迭代步骤。

  我们的问题是寻找最优策略π\piπ,值迭代的解决方案是:使用贝尔曼最优方程,将策略改进视为值函数的改进,每一步都求取最大的值函数。具体的迭代公式如下所示:

vk+1(s)=max⁡a∈A(Rsa+γ∑s′∈SPss′avk(s′))v_{k+1}(s)=\max_{a \in \mathcal{A}}\left(R_{s}^{a}+\gamma \sum_{s^{\prime} \in S}\mathcal{P}_{ss^{\prime}}^{a}v_{k}(s^{\prime})\right) vk+1​(s)=a∈Amax​(Rsa​+γs′∈S∑​Pss′a​vk​(s′))

  上面这个公式与策略迭代相比,没有等到状态价值收敛才去调整策略,而是随着状态价值的迭代,及时调整策略,这样就大大减少了迭代的次数。也就是说从初始状态值函数开始同步迭代计算,最终收敛,整个过程中没有遵循任何策略。

  由于策略的调整,我们现在的价值每次更新。倾向于贪婪法寻找到最优策略对应的后续的状态价值。这样收敛的速度会更快。在值迭代过程中,算法不会给出明确的策略,迭代过程其间得到的价值函数不对应任何策略。

  基于state-value function(vπ(s)v_{\pi}(s)vπ​(s))每一次IterationComplexity为O(mn2)O(mn^{2})O(mn2),其中mmm表示action space,nnn表示state space

  基于state-action value function (qπ(s,a)q_{\pi}(s,a)qπ​(s,a))每一次IterationComplexity为O(m2n2)O(m^{2}n^{2})O(m2n2),其中mmm表示action space,nnn表示state space

强化学习中价值迭代和策略迭代各有什么优缺点?相关推荐

  1. 强化学习——值迭代和策略迭代

    [强化学习]值迭代和策略迭代 在强化学习中我们经常会遇到策略迭代与值迭代,但是很多人都搞不清楚他们两个之间的区别,他们其实都是强化学习中的动态规划方法(DP). --<Reinforcement ...

  2. 转载:强化学习中Bellman最优性方程背后的数学原理?

    一. Bellman最优 贝尔曼方程在强化学习(RL)中无处不在,它是由美国应用数学家理查德·贝尔曼(Richard Bellman)提出,用于求解马尔可夫决策过程. 贝尔曼最优性方程 贝尔曼最优性方 ...

  3. 最新综述 | 强化学习中从仿真器到现实环境的迁移

    ©PaperWeekly 原创 · 作者|李文浩 学校|华东师范大学博士生 研究方向|强化学习 最近 survey 了一下 sim2real 领域最近的相关工作,先整理个第一版(共有七篇论文)的总结. ...

  4. 八千字长文深度解读,迁移学习在强化学习中的应用及最新进展

    点击我爱计算机视觉标星,更快获取CVML新技术 本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载. 机器之心原创 作者:Luo Sainan 编辑:H4O 迁移学习通 ...

  5. 深度强化学习中的episode、epoch、batch-size、iteration

    深度强化学习中的episode.epoch.batch-size.iteration batch_size iteration epoch episode batch_size 即批大小,如果把全部数 ...

  6. 强化学习中的脉冲神经网络

    简 介: 脉冲强化学习是最近兴起的将脉冲神经网络应用到强化学习中的一个研究领域.固然脉冲神经网络的引入会给强化学习带来一些新的东西,但目前的研究仍然仅仅满足于如何让算法收敛,而没有发挥出脉冲神经网络独 ...

  7. 强化学习中的基础概念和术语——spinning up文档翻译

    Key Concepts and Terminology 以下内容翻译自open ai 的spinning up文档,同时加入了一些自己的理解.原始内容来自spinningup 文章目录 Key Co ...

  8. 从多臂老虎机开始学习强化学习中的探索与利用

    从多臂老虎机开始学习强化学习中的探索与利用 \quad 目录 从多臂老虎机开始学习强化学习中的探索与利用 多臂老虎机问题 形式化描述 估计期望奖励 代码实现 策略中的探索与利用 ϵ\epsilonϵ- ...

  9. 初探强化学习(10)强化学习中的一些术语(non-stationray,sample efficiency,planning和Learnin,Reward,off-policy和on-policy )

    1. 关于stationray 参考博客. Stationary or not 根据环境是否稳定.可以将强化学习问题分为stationary.non-stationary. 1.1 stationar ...

  10. 多智能体强化学习:鼓励共享多智能体强化学习中的多样性

    题目:Celebrating Diversity in Shared Multi-Agent Reinforcement Learning 出处:Neural Information Processi ...

最新文章

  1. 搜索引擎ElasticSearchV5.4.2系列二之ElasticSearchV5.4.2+kibanaV5.4.2+x-packV5.4.2安装
  2. np.zeros(shape) 注意shape的规范格式为元组,不是list
  3. pgsql中层次查询方法
  4. 再来一次的C语言贪吃蛇小游戏(三)
  5. 009_Spring Data JPA一对一关系
  6. 51 NOD 1238 最小公倍数之和 V3
  7. linux26内核,Linux26内核对象机制研究.pdf
  8. vue-cli3项目移动设备调试访问报错WDS:Disconnected,无法自动刷新或模块热替换
  9. linux检测系统是否被入侵(上)
  10. mysql 备份 没有自动删除文件_删掉spfile在没有自动备份控制文件下从以前的rman备份中恢复数据库...
  11. 自动为数字千位数,百万位数添加逗号
  12. 第一冲刺阶段意见汇总
  13. mdf2iso linux,MDF to ISO下载
  14. 多功能随身工具箱APP源码+随身助手后台php源码
  15. OpenGL Assimp的骨骼动画
  16. Excel打开时自动开一个sheet1页面
  17. 为您奉上Dicom文件格式属性清单,不谢!
  18. Python基础知识(二):序列结构---字符串、 列表、 元组、 字典、 集合
  19. PIL(pillow)读取图片自动旋转的问题
  20. 关于Amazon Redshift性能调优的十大Tips

热门文章

  1. 是驴是骡,遛一遛就知道了
  2. Wireshark使用技巧详解
  3. 防火墙双机热备配置实例(二)
  4. 批量部署 自动化之 - [pssh](转)
  5. 从 Microsoft SQL Server 迁移到 Oracle
  6. Linux 下Jetty 部署 项目 JNDI 数据源加载
  7. [转万一] 不使用标题栏拖动窗体
  8. NO.128 开发团队篇:参加项目计划会议,分解任务,领取任务,每天更新任务。...
  9. EmEditor 常用功能
  10. 服务端客户端均采用epoll模式,建立3万TCP连接对内存的影响。