前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenAI公布强化学习新算法,可控制复杂机器人

OpenAI公布强化学习新算法,可控制复杂机器人

作者头像
AI科技大本营
发布2018-04-26 11:32:01
8860
发布2018-04-26 11:32:01
举报
文章被收录于专栏:AI科技大本营的专栏

近日,OpenAI 发布了一种新型的强化学习算法:近端策略优化(Proximal Policy Optimization,简称 PPO),这种算法不但在性能上比肩甚至超过当前最先进的方法,而且更容易实现和调试。由于 PPO 易于使用并且性能优秀,OpenAI 已将其设为默认的强化学习算法。

视频内容

近端策略优化(PPO)可以让我们在极具挑战性的环境中训练 AI 策略。如上所示的 Roboschool(进行机器人模拟的开源软件,集成在 OpenAI Gym 中),当其中的智能体尝试捕获目标(粉红色球体)时,它需要学习如何行走、跑动和转向。在被白色方块撞击后,它还需要学习如何借助自身力量恢复平衡,在被撞倒时,还要学习如何从草地上站起来。

代码地址

https://github.com/openai/baselines

深度神经网络可以用来控制视频游戏,三维运动或者围棋等。近来在这方面取得的突破依托了“策略梯度方法”(Policy gradient methods)。但是想要借助这种方法得出优秀结果十分困难,因为它对步长大小的选择非常敏感。如果步长太小,训练进展就会非常缓慢;但如果步长太大,信号则会被噪声覆盖,甚至可能导致性能急剧下降。同时这种策略梯度法的样本效率非常低,它需要数百万(或数十亿)的时间步数来学习一个简单的任务。

研究人员试图使用 TRPO 、ACER 等方法约束或优化策略更新的步长大小,借以消除这些弊端。但是这些方法本身也存在缺陷,ACER 方法要比 PPO 方法复杂的多,它需要额外添加代码来进行 off-policy 修正以及一个 replay buffer,但它在 Atari 基准上的表现仅仅比 PPO略好。

TRPO 虽然在连续控制任务中非常有用,但它与那些在策略和值函数或辅助损失函数(auxiliary losses)间共享参数的算法不易兼容,此类算法中有些常被用于解决 Atari 和其他视觉输入很重要的领域中的问题。

近端策略优化(PPO)

通过监督学习,我们可以轻松地实现 cost function,并在 cost function 上执行梯度下降。我们确信,只需稍微调试几次超参数,就能得到非常优秀的结果。

在强化学习上取得成功并不容易,算法中通常具有许多难以调试的活动模块,为了获得好的结果,需要花费大量的精力来调整这些模块。PPO 算法在实现难度、样本复杂度和调试难度之间找到了一个平衡点,它尝试在每一步长上计算一个最小化 cost function 的更新,同时确保与先前策略的偏差维持在较小水平。

我们先前曾详细介绍了 PPO 的一个变体,该变体使用一个自适应 KL 惩罚项来控制每次迭代中的策略改变。这一新变体使用了一种新的目标函数,该目标函数很少在其他算法中使用:

该目标函数实现了一种与随机梯度下降法相兼容的置信域(Trust Region)更新方法,同时还通过移除 KL 惩罚项和不进行适应性更新,简化了算法。在测试中,该算法在连续控制任务中表现出了最佳性能,并且在 Atari 上几乎比肩 ACER 算法的性能,但是它实现起来却简单的多。

可控制的复杂机器人

视频内容

利用 PPO 训练的智能体可以制定灵活的移动策略,在朝目标所在位置移动时可以临时进行转向和倾斜。

我们借助用 PPO 训练出的策略开发出了交互式智能体。借助这种智能体,我们可以使用键盘在 Roboschool 环境中为机器人设置新的目标位置;虽然输入序列与训练智能体所用的序列不同,但是它可以设法进行泛化(generalize)。

我们还使用 PPO 来教复杂的模拟机器人学习行走,如波士顿动力(Boston Dynamics)公司研发的「Atlas」模型;此模型有 30 个不同的关节,而双足机器人只有 17 个。其它研究人员还使用 PPO 训练机器人,使其在跨越障碍时可以展现出惊人的跑酷技巧。

视频内容

基准:PPO 和 TRPO

发布的基准包括 PPO 和 TRPO 的可扩展并行实现工具,它们两个都使用 MPI 来进行数据传输,而且使用的都是 Python3 和 TensorFlow。我们还加入了策略的预训练版本,用以在 Roboschool agent zoo 中训练上述机器人。

OpenAI 正在寻找可以帮助他们构建和优化强化学习算法代码库的人员。如果你对强化学习,标准检查程序,深入实验以及开源有兴趣,请点击以下网址进行申请:https://jobs.lever.co/openai/5c1b2c12-2d18-42f0-836e-96af2cfca5ef,并且注明你已阅读关于 PPO 的文章。

原文地址 https://blog.openai.com/openai-baselines-ppo/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档