【ICLR 2018】模型集成的TRPO算法【附代码】
2020/4/17 6:06:53
本文主要是介绍【ICLR 2018】模型集成的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函数如下:
Policy Learning
Policy Learning的目标是:
其中表示的就是model用的是所学的model。
ME-TRPO
取得的效果?
策略学习效果鲁棒性更强,较好避免过拟合。达到了与SOTA model-free算法相同的结果。
所出版信息?作者信息?
一篇来自伯克利的文章,一作Thanard Kurutach是加州大学伯克利分校AI研究(BAIR)的博士,由Stuart Russell教授和Pieter Abbeel教授共同指导。兴趣是开发使机器人能够通过学习和计划有效解决复杂决策问题的算法。
个人主页:people.eecs.berkeley.edu/~thanard.ku…
其它链接
- Videos available at: sites.google.com/view/me-trp….
- Code available at: github.com/thanard/me-….
这篇关于【ICLR 2018】模型集成的TRPO算法【附代码】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版