文章目录

  • 所解决的问题?
  • 背景
  • 所采用方法
    • Model Learning
    • Policy Learning
    • ME-TRPO
  • 取得的效果?
  • 所出版信息?作者信息?
  • 其它链接
  • 论文题目:model-ensemble trust-region policy optimization

所解决的问题?

  model free的方法具有high sample complexity ,难将其用于real-world。用ensemble的方式来克服model bias。

背景

  标准的model-based方法是交替使用model learning和policy aptimization。model learning通常就是用智能体与环境的交互数据做监督学习,而策略优化部分是基于learned model做搜索,寻求策略改进。这一类算法被称作vanilla model-based RL。此类算法需要足够多的数据来学习model,所学的模型越准确,优化策略越好,在real world中也会有较好的表现。

  vanilla model-based RL在低维相对较简单问题上会有较好的处理效果,然而在连续控制问题上效果较差,并且非常不稳定。 The reason is that the policy optimization tends to exploit regions where insufficient data is available to train the model, leading to catastrophic failures. 这类问题被称作model-bias,或者也可以被视为过拟合。处理过拟合问题,当然可以从监督学习算法方面寻求灵感,比如加regularization或者cross validation,这类算法处理的数据满足独立同分布,而model-based强化学习算法中数据稀缺,模型不精准,如果再引入像神经网络这样的expressive models只会恶化结果。

  model-based的方法最多的用于机器人领域。效果较好的是线性模型的方法。然而这种方法对复杂非线性系统,或者说高维状态空间系统效果不好。另一种办法就是非参数的高斯过程的方法(GP),这类方法有维度灾难的问题,目前主要用于低维空间。

  尽管也有一些基于神经网络的model-based 强化学习方法效果还是不太好。对于一些较难的控制对象,通常会结合model-free的强化学习方法或者是结合特定领域的学习和规划算法。

所采用方法

  原始的MBRL方法:

  作者采用一个ensemble Neural Network来处理enviorment中数据的不确定性。其实说白了就是model的学习用了一个集成的神经网络来做。使用交替执行model learning和policy learning,与固定dataset学习model的方法相比,能够处理更具挑战性的任务。

  本文是假定奖励函数已知,而状态转移概率未知来做的,因此并未学习奖励函数。

Model Learning

  model learning的过程中,作者使用神经网络去预测状态的改变量,而不是预测下一个状态。这会使得神经网络不需要去记住输入状态。这种做法在上下状态改变较小的情况下会比较有效。其loss函数如下:

min⁡ϕ1∣D∣∑(st,at,st+1)∈D∥st+1−f^ϕ(st,at)∥22\min _{\phi} \frac{1}{|\mathcal{D}|} \sum_{\left(s_{t}, a_{t}, s_{t+1}\right) \in \mathcal{D}}\left\|s_{t+1}-\hat{f}_{\phi}\left(s_{t}, a_{t}\right)\right\|_{2}^{2}ϕmin​∣D∣1​(st​,at​,st+1​)∈D∑​∥∥∥​st+1​−f^​ϕ​(st​,at​)∥∥∥​22​

Policy Learning

  Policy Learning的目标是:

η^(θ;ϕ):=Eτ^[∑t=0Tr(st,at)]\hat{\eta}(\theta ; \phi):=\mathbb{E}_{\hat{\tau}}\left[\sum_{t=0}^{T} r\left(s_{t}, a_{t}\right)\right]η^​(θ;ϕ):=Eτ^​[t=0∑T​r(st​,at​)]

  其中ϕ\phiϕ表示的就是model用的是所学的model。

ME-TRPO

取得的效果?

  策略学习效果鲁棒性更强,较好避免过拟合。达到了与SOTA model-free算法相同的结果。

所出版信息?作者信息?

  一篇来自伯克利的文章,一作Thanard Kurutach是加州大学伯克利分校AI研究(BAIR)的博士,由Stuart Russell教授和Pieter Abbeel教授共同指导。兴趣是开发使机器人能够通过学习和计划有效解决复杂决策问题的算法。

  个人主页:http://people.eecs.berkeley.edu/~thanard.kurutach/

其它链接

  • Videos available at: https://sites.google.com/view/me-trpo.
  • Code available at: https://github.com/thanard/me-trpo.

【ICLR 2018】模型集成的TRPO算法【附代码】相关推荐

  1. 基于蜣螂算法改进的随机森林回归算法 - 附代码

    基于蜣螂算法改进的随机森林回归算法 - 附代码 文章目录 基于蜣螂算法改进的随机森林回归算法 - 附代码 1.数据集 2.RF模型 3.基于蜣螂算法优化的RF 4.测试结果 5.Matlab代码 6. ...

  2. 路径规划算法:基于樽海鞘算法的路径规划算法- 附代码

    路径规划算法:基于樽海鞘优化的路径规划算法- 附代码 文章目录 路径规划算法:基于樽海鞘优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法结果 ...

  3. 路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码

    路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码 文章目录 路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函 ...

  4. 路径规划算法:基于蜻蜓算法的路径规划算法- 附代码

    路径规划算法:基于蜻蜓优化的路径规划算法- 附代码 文章目录 路径规划算法:基于蜻蜓优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法结果 3 ...

  5. 路径规划算法:基于鸟群优化的路径规划算法- 附代码

    路径规划算法:基于鸟群优化的路径规划算法- 附代码 文章目录 路径规划算法:基于鸟群优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法结果 3 ...

  6. 智能优化算法:多元宇宙优化算法-附代码

    智能优化算法:多元宇宙优化算法-附代码 文章目录 智能优化算法:多元宇宙优化算法-附代码 1.算法原理 2.算法流程图 3.算法结果 4.参考文献 5.MATLAB代码 6.python代码 摘要:多 ...

  7. 智能优化算法:正余弦优化算法-附代码

    智能优化算法:正余弦优化算法-附代码 文章目录 智能优化算法:正余弦优化算法-附代码 1.算法原理 2.算法流程 3.算法结果 4.参考文献 5.MATLAB代码 6.Python代码 摘要:正 余 ...

  8. 智能优化算法:蚁狮优化算法-附代码

    智能优化算法:蚁狮优化算法-附代码 文章目录 智能优化算法:蚁狮优化算法-附代码 1.算法原理 1.1 蚂蚁的随机游走 1.2蚁狮对蚂蚁随机游走的影响 1.3自适应机制 1.4 精英策略 2.算法步骤 ...

  9. 路径规划算法:基于飞蛾扑火算法的路径规划算法- 附代码

    路径规划算法:基于飞蛾扑火优化的路径规划算法- 附代码 文章目录 路径规划算法:基于飞蛾扑火优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法 ...

  10. 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码

    路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 文章目录 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法 ...

最新文章

  1. 世界顶级摄影作品,构图的最高境界!
  2. SQL点滴1—SET QUOTED_IDENTIFIER OFF语句的作用
  3. 【学习笔记】Python - NumPy
  4. Android中的Intent和Intent-filter总结
  5. 一、Java语言基础(4)_方法和数组——数组
  6. 2019第10周知识总结
  7. nssl1141,jzoj3470-最短路【SPFA,暴力】
  8. 面向空天地一体多接入的融合6G网络架构展望
  9. gradle java ide_使用Gradle构建Java项目
  10. oracle 更新flwid,Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
  11. linux中字体的安装以及Terminal字体重叠问题解决
  12. Bug--Mybatis报错:There is no getter for property named 'id' in 'class java.lang.Integer'
  13. .net5 程序 在docker 中运行
  14. Android移动应用基础教程【广播机制】
  15. 为什么建议向你的同事屏蔽朋友圈?
  16. 大数据平台的开发与思考一:
  17. Centos 7.4 防火墙关闭命令
  18. 读书《AB实验:科学归因与增长的利器》(刘玉凤)
  19. (已解决)STM32报错Error: L6218E: Undefined symbol assert_param (referred from misc.o).
  20. 力天创见双目客流统计方案

热门文章

  1. java处理日期时间代码
  2. Java jdk下载及安装
  3. Security+ 学习笔记12 安全编码实践
  4. Linux firewall防火墙详解(一)——firewall基础知识简介
  5. Linux文件类型与文件权限详解(三)
  6. IPSEC VXN在PPPoE对端配置方案
  7. 多种方法实现二叉树的先序、中序、后序、层序遍历
  8. Find命令使用详解及实例分析
  9. utf8_unicode_ci和utf8_general_ci的区别,联系及使用
  10. 一不小心就对未分配的内存进行访问和修改