学界 | 策略梯度下降过时了,OpenAI 拿出一种新的策略优化算法PPO

AI 科技评论按:美国时间7月20日,OpenAI 刚刚通过自己的研究博客介绍了一种新的优化算法 Proximal Policy Optimization(近端策略优化,PPO)。据介绍,这种算法用在强化学习中时表现能达到甚至超过现有算法的顶尖水平,同时还更易于实现和调试。所以 OpenAI 已经把PPO作为自己强化学习研究中首选的算法。AI 科技评论把这篇介绍 PPO 算法的博文编译如下。

图中就是一个 OpenAI 利用 PPO 训练的机器人。它要学习走、跑、转弯来尝试接近球型的、随机移动的目标;环境中还有一个会撞机器人的小球给它增大难度,所以它还要学会受到撞击以后恢复平衡,甚至被撞倒以后重新站起来。

现有算法

近期的策略梯度的一类方法让深度神经网络在控制任务中取得了明显进步,电脑游戏、三维运动、围棋都是很好的例子。但是用策略梯度的方法取得好的结果也有一些难度,因为这类方法对迭代步骤数非常敏感:如果选得太小,训练过程就会慢得令人绝望;如果选得太大,反馈信号就会淹没在噪声中,甚至有可能让模型表现雪崩式地下降。这类方法的采样效率也经常很低,学习简单的任务就需要百万级至十亿级的总迭代次数。

为了解决方法中的这些问题,研究人员们已经找到了 TRPO(Trust Region Policy Optimization,信任区域策略优化,https://arxiv.org/abs/1502.05477)和 ACER(Sample Efficient Actor-Critic with Experience Replay,能高效采样的带有经验回放的表演者-评论者算法,https://arxiv.org/abs/1611.01224) 这样的方法,对策略更新的大小做出限制或者另外的优化。达到了这样的效果,这些方法也就在别的方面付出了代价:ACER 比 PPO复杂得多,需要额外的代码用于策略外的纠正以及一个回放缓冲区,在 Atari 测试中的具体表现却只比 PPO 勉强好一点点;TRPO 虽然在连续控制任务中很有用,但是对策略函数和价值函数或者辅助损失之间有共享参数的算法较难兼容,比如 Atari 和其它一些视觉输入占据主要部分的任务就是这样。

PPO

在监督学习中,实现损失函数、在上面做梯度下降都很容易,而且基本上不费什么功夫调节超参数就肯定能够得到很好的结果。但是在强化学习中想要获得好结果就没有这么简单了,算法中有许多变化的部分导致难以 debug,而且需要花很大的精力在调试上才能得到好结果。PPO 则在实现的难易程度、采样复杂度、调试所需精力之间取得了新的平衡,它在每一步迭代中都会尝试计算新的策略,这样可以让损失函数最小化,同时还能保证与上一步迭代的策略间的偏差相对较小。

之前 OpenAI 就详细介绍过 PPO的一个变种 (详见文末),其中用一个自适应 Kullback–Leibler 惩罚项控制每次迭代中的策略变化程度。现在介绍的这种新变种则使用了一种其它算法中罕见的全新的目标函数:

信任区域更新的功能就可以通过这种目标函数得到实现,它与随机梯度下降兼容,而且移除了Kullback–Leibler 惩罚项及它的自适应升级功能差,从而简化了算法。在测试中,PPO 算法在连续控制任务中取得了最好的效果,而且在 Atari 游戏测试中的表现几乎与 ACER 持平;考虑到 PPO 的简便性,这样的结果真是令人惊喜万分。

可控的复杂机器人

OpenAI 的研究人员们设计了具有互动能力的机器人,然后用 PPO 训练它们的策略。在这些基于 Roboschool 环境的实验中,可以用键盘给机器人设定新的目标位置;尽管输入的目标序列与用来训练机器人的序列不同,机器人仍然可以进行泛化。

除了 Roboschool 中这样的简单机器人,他们还用 PPO 教会复杂的仿真机器人走路,比如来自波士顿动力的 Atlas 的仿真模型。相比前面的双足机器人的17个独立关节,这个模型中独立关节的数目高达30个。也有一些其它的研究人员已经成功借助 PPO 训练仿真机器人用精彩的跑酷动作跨越障碍(参见 AI 科技评论文章 机器人走路未必笨拙,DeepMind新方法训练的人工智能走得就很飘逸 )。

基准模型:PPO 和 TRPO

OpenAI 一并发布了包含大小可变的、并行实现的 PPO 和 TRPO 的基准模型,两者都用 MPI 作为数据传递模块,Python3 和 TensorFlow 都可以支持。他们还把用于训练上文中的机器人的预训练模型增加到了 Roboschool 机器人动物园 ( https://github.com/openai/roboschool/tree/master/agent_zoo )中。

PPO变种 - NIPS 2016 论文视频「通过策略优化进行深度强化学习」视频地址:https://channel9.msdn.com/Events/Neural-Information-Processing-Systems-Conference/Neural-Information-Processing-Systems-Conference-NIPS-2016/Deep-Reinforcement-Learning-Through-Policy-Optimization

论文地址:https://arxiv.org/abs/1707.06347

基准模型地址: https://github.com/openai/baselines

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-07-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

基于神经网络的实体识别和关系抽取联合学习

作者丨罗凌 学校丨大连理工大学博士生 研究方向丨深度学习,文本分类,实体识别 联合学习(Joint learning)一词并不是一个最近才出现的术语,在自然语言...

6669
来自专栏大数据文摘

Kaggle大神带你上榜单Top2%:点击预测大赛纪实(下)

1402
来自专栏AI科技评论

开发 | 计算机视觉中,究竟有哪些好用的目标跟踪算法(上)

AI科技评论按:本文源自YaqiLYU在知乎问题【计算机视觉中,目前有哪些经典的目标跟踪算法?】下的回答,AI科技评论已获得授权发布。 相信很多来到这里的人和我...

2756
来自专栏TensorFlow从0到N

TensorFlow从0到1 - 13 - AI驯兽师:神经网络调教综述

在未来的AI时代,“手工程序”将变得越发稀有,而基于通用AI程序,通过大数据“习得”而生的程序,会无所不在。到那时,程序员将光荣卸任,取而代之的是一个新职业物...

4247
来自专栏CSDN技术头条

Kaggle 数据挖掘比赛经验分享

Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台。笔者从 2013 年开始,陆续参加了多场 Kagg...

5439
来自专栏PPV课数据科学社区

大赛 | Kaggle 数据挖掘比赛经验分享

简介 Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台。笔者从 2013 年开始,陆续参加了多场 K...

38412
来自专栏人工智能

十种深度学习算法要点及代码解析

谷歌董事长施密特曾说过:虽然谷歌的无人驾驶汽车和机器人受到了许多媒体关注,但是这家公司真正的未来在于机器学习,一种让计算机更聪明、更个性化的技术。 也许我们生活...

2288
来自专栏机器学习之旅

理论:SVD及扩展的矩阵分解方法

svd是现在比较常见的算法之一,也是数据挖掘工程师、算法工程师必备的技能之一,这边就来看一下svd的思想,svd的重写,svd的应用。 这边着重的看一下推荐算...

1733
来自专栏AI研习社

基于 Jetson 在 Aerial 系统内进行深度学习

无人驾驶空中系统(UAS)在过去十年中被广泛应用,尽管 UAS 最早被应用在军事上,事实证明,它们在很多其它领域都是有用的,包括农业、地理制图、航空摄影、搜索和...

1361
来自专栏数据派THU

20篇顶级深度学习论文(附链接)

本文讲述了深度学习正值快速发展进化阶段,新技术,新工具以及新的应用实现正在深刻改变着机器学习领域并不断获得累累硕果。

1173

扫码关注云+社区