社会焦点

OpenAI详解进化策略方法:可替代强化学习(3)

字号+ 作者: 来源: 2017-03-26

数据学习效率对比。以上对比表明进化策略(橘黄)有着与 TRPO 算法(蓝色)相媲美的表现,尽管在所有情况下它不完全匹配或超越 TRPO 算法。此外,通过水平扫描我们可看到进化策略效率略低,但不低于 1/10(注意横坐

数据学习效率对比。以上对比表明进化策略(橘黄)有着与 TRPO 算法(蓝色)相媲美的表现,尽管在所有情况下它不完全匹配或超越 TRPO 算法。此外,通过水平扫描我们可看到进化策略效率略低,但不低于 1/10(注意横坐标是指数标度)。

时间对比。取代观察看到的状态原数量,我们可以认为要观察的最重要的标准是时间:解决一个问题需要多久(以秒为计)?这一数值最终指示了一个研究人员可完成的迭代速度。因为进化策略算法需要的工作器(worker)之间的通信几乎可以忽略,我们能够使用 80 台机器上的 1440 个 CPU,10 分钟就解决最难的 MuJoCo 任务(3D 人形)。作为对比,在典型的一台机器上 32 个 A3C 工作器配置中,解决该任务需要 10 小时左右。用算法与工程上的努力,当然也能改进强化学习的表现,但我们发现在标准的云 CPU 环境中单纯延展 A3C 非常难,因为需要高通信带宽。

以下是用进化策略训练的 3D 人形任务行走的动图。就像我们所看到的,根据优化最终收敛到的局部最优值,结果挺多样的。

OpenAI详解进化策略方法:可替代强化学习

在 Atari 游戏中,用 1 小时在 720 核上训练进化策略取得了的表现可媲美于在 32 核上训练一天的 A3C。下面是在 Pong、Seaquest 和 Beamrider 游戏中的结果片段。这些片段显示了预处理的画面,也就是代理在玩游戏时所看到的:

OpenAI详解进化策略方法:可替代强化学习

特别要注意 Seaquest 游戏中的潜水艇在氧气值低的时候学习准确率会上升。

相关研究

进化策略是源自神经进化系的算法。神经进化在人工智能中有着很长的历史,完整文献原因超出本文所覆盖的范围。我们鼓励感兴趣的读者查阅 Wikipedia、Scholarpedia 的相关文献,以及 Jurgen Schmidhuber 的回顾文章(Section 6.6)。最影响我们研究的一项工作是 Wierstra 等人在 2014 年作出的自然进化策略(Natural Evolution Strategies)。相比于该工作以及它所启发出的其他工作,我们专注于将这些算法延展到大规模的、分布式环境中,寻找让这些算法能与深度神经网络很好结合的组件,并在现在的强化学习基准上评估这些算法。

还值得注意的是神经进化相关的方法最近在机器学习研究中有所复苏(resurgence),例如 HyperNetworks、Large-Scale Evolution of Image Classifiers 和 Convolution by Evolution。HyperNetworks,「Large-Scale Evolution of Image Classifiers」和「Convolution by Evolution」.

结论

我们的研究表明神经进化方法在现在的代理-环境基准上,可与强化学习的方法相媲美,同时在代码复杂性上也有重大收益、易于延展到大规模分布式环境。我们也期望通过重新回顾这条线上的其他观点从而作出更多激动人心的工作,比如间接编码方法,或者除了参数以外用其他方法进化网络架构。

注意监督学习:要注意的一点是监督学习问题(例如图像分类、语音识别或者产业中的大部分其他任务)并不受这些成果的直接影响。监督学习可以用反向传播方法直接计算损失函数的确切梯度。例如,在初步试验中我们使用进化策略在 MNIST 数字识别任务上评估梯度,发现它要比使用反向传播的方法慢 1000 倍。只有在强化学习环境中,也就是必须要用采样评估预期奖励(expected reward)的梯度,进化策略才具有可比性。

代码发布:最后,如果你想要尝试运行下进化策略,你可以阅读以下论文,或了解 GitHub repo 的详细细节。

  论文:

  https://arxiv.org/abs/1703.03864

  Github:

  https://github.com/openai/evolution-strategies-starter

转载请注明出处。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章