前沿 | 利用遗传算法优化神经网络:Uber提出深度学习训练新方式
作者:Kenneth O. Stanley、Jeff Clune
机器之心编译
参与:陈韵竹、刘晓坤
在深度学习领域,对于具有上百万个连接的多层深度神经网络(DNN),现在往往通过随机梯度下降(SGD)算
选自Uber 作者:Kenneth O. Stanley、Jeff Clune 机器之心编译 参与:陈韵竹、刘晓坤 在深度学习领域,对于具有上百万个连接的多层深度神经网络(DNN),现在往往通过随机梯度下降(SGD)算法进行常规训练。许多人认为,SGD 算法有效计算梯度的能力对于这种训练能力而言至关重要。但是,Uber 近日发布的五篇论文表明,神经进化(neuroevolution)这种利用遗传算法的神经网络优化策略,也是训练深度神经网络解决强化学习(RL)问题的有效方法。 Uber 涉及领域广泛,其中许多领域都可以利用机器学习改进其运作。开发包括神经进化在内的各种有力的学习方法将帮助 Uber 发展更安全、更可靠的运输方案。 遗传算法——训练深度学习网络的有力竞争者 我们惊讶地发现,通过使用我们发明的一种新技术来高效演化 DNN,一个极其简单的遗传算法(GA)可以训练含有超过 400 万参数的深度卷积网络,从而可以在像素级别上玩 Atari 游戏;而且,它能在许多游戏中比现代深度强化学习(RL)算法(例如 DQN 和 A3C)或进化策略(ES)表现得更好,同时由于更好的并行化能达到更快的速度。这个结果非常出乎意料:遗传算法并非基于梯度进行计算,没人能预料遗传算法能扩展到如此大的参数空间;而且,使用遗传算法却能与最先进的强化学习算法媲美、甚至超过强化学习,这在以前看来是根本不可能的。我们进一步表明,现代遗传算法的增强功能提高了遗传算法的能力,例如新颖性搜索(novelty research),它同样在 DNN 规模上发挥作用,且能够促进对于欺骗性问题(存在挑战性局部最优的问题)的探索。要知道,这些欺骗性问题通常对奖励最优化算法形成障碍,例如 Q 学习(DQN)、策略梯度算法(A3C)、进化策略(ES)以及遗传算法。 左:遗传算法在 Frostbite 中得分 10500。DQN、AC3 和 ES 的得分均未超过 1000;右:遗传算法在 Asteroids 也表现得很好。它的平均表现超越了 DQN 和 ES,但没有超过 A3C。 通过梯度计算的安全突变 在论文「Safe Mutations for Deep and Recurrent Neural Networks through Output Gradients」中,我们展示了如何将神经进化和梯度相结合,以提高循环神经网络和深度神经网络的进化能力。这种方法可以使上百层的深度神经网络成功进化,远远超过了以前的神经进化方法所展示的可能性。我们通过计算网络输出关于权重的梯度(即,和在传统深度学习中使用误差梯度不同)来实现这一点,使得在随机突变的校准过程中,对最敏感的变量(相比其他变量而言)进行更加精细的处理,从而解决大型网络中随机变量的一个主要问题。 这两个动画展示了用于解决迷宫问题的单个网络的一批突变(左下角是起点,左上角是终点)。一般的突变大多不能解决这个问题,但是安全突变很大程度地在产生多样性的同时保留了解决问题的能力,表明了安全突变的显著优势。 ES 如何与 SGD 联系起来? 我们的论文对 A Visual Guide to Evolution Strategies(参见「」)进行了补充和完善。这是由 OpenAI 团队首先提出的想法(),即 ES 的变型——神经进化——可以在深度强化学习任务中竞争性地优化深度神经网络。但是,迄今为止,这个结果有没有更广泛的应用仍然只是猜想。通过进一步创新 ES,我们通过一个综合研究「On the Relationship Between the OpenAI Evolution Strategy and Stochastic Gradient Descent」深入了解 ES 和 SGD 的关联,探索 ES 梯度近似实际上和在 MNIST 中通过 SGD 在每个 mini-batch 上计算的的最优梯度的联系有多紧密,以及这种近似如何导致了优越的性能。我们发现,如果提供足够的计算来改善梯度近似,ES 能在 MNIST 上实现 99% 的准确率,这暗示着 ES 何以愈发成为深度强化学习的有力竞争者——因为在并行计算增加时,还没有方法能获得完美的梯度信息。 ES 不只是传统的有限差分 为了增加理解,一个伴随性研究「ES Is More Than Just a Traditional Finite-Difference Approximator」经验地证实,ES(具有足够大的扰动尺寸参数)的行为与 SGD 表现得有差别。这是因为 ES 优化的是一代策略群体(由概率分布描述,即搜索空间中的「云」)的预期回报,但 SGD 仅为单一的策略(搜索空间中的「点」)优化回报。这种变化使得 ES 可以访问搜索空间的不同区域,无论是好是坏(这两种情况都被示出)。对每代的参数扰动进行优化的另一个结果是,ES 获得了鲁棒性,这是 SGD 不能做到的。强调 ES 优化每代的参数这一做法,同样强调了 ES 和贝叶斯算法中的有趣联系。 对步行者进行重量的随机扰动,TRPO 训练的步行者会产生明显的不稳定步态,而 ES 进化的步行者步态显得更加稳定。初始的训练步行者位于每个 9 帧合成的中心(绿框)。 传统的有限差分(梯度下降)不能跨越低适合度(fitness)的窄缝,但 ES 能容易地穿过并寻找另一侧的更高适合度。 ES 会在高适合度的窄缝中慢慢停止,但传统的有限差分(梯度下降)会毫无停顿地通过相同的路径。这与前面的动画一起说明了两种不同方法的区别和权衡。 加强对 ES 的探索 深度神经进化有一个令人兴奋的结果:之前为神经进化开发的工具集,现在成为了加强深度神经网络训练的候选者。我们通过引入新的算法「Improving Exploration in Evolution Strategies for Deep Reinforcement Learning via a Population of Novelty-Seeking Agents」进行探索,这种算法将 ES 的优化能力和可扩展性与神经进化所独有的、通过群体激励将不同智能体区别开的促进强化学习领域的探索结合起来。这种基于群体的探索有别于强化学习中单一智能体传统,包括最近在深度强化学习领域的探究工作。我们的实验表明,通过增加这种新的探索方式,能够提高 ES 在许多需要探索的领域(包括一些 Atari 游戏和 Mujoco 模拟器中的类人动作任务)的性能,从而避免欺骗性的局部最优。 通过使用我们的超参数,ES 迅速收敛到局部最优,即不需要再次吸入氧气,因为吸入氧气暂时不能获得奖励。但是,通过探索,它学会了如何吸入氧气,从而在未来获得更高的奖励。请注意,Salimans et al. 2017 并没有报道 ES,根据他们的超参数,他们能够实现特定的局部最优。但是,就像我们所展示的,没有 ES,它很容易无限期地困在某些局部最优处(而那个探索能够帮助它跳出局部最优)。 智能体需要学着跑得尽可能远。ES 从未学过避免欺骗性的陷阱。但是,通过添加一个探索压力,其中一个学会了绕过陷阱。 结论 对有志于转向深度神经网络的神经进化研究人员,有几个重要因素值得考虑:首先,这种类型的实验需要的计算量比以前更多;对于这些新论文中的实验,我们经常需要运行成百上千个同步 CPU。但是,对 GPU 或 CPU 的需求不应该被视为一个负担;从长远来看,面对即将到来的世界,向大规模并行计算中心的规模变化也许意味着神经进化最能利用未来的优势。 新的结果与之前在低维神经进化中观察到的结果有显著差异。它们有效推翻了多年来的直觉,特别是对高维度探索的潜力的启发。正如在深度学习中发现的那样基于遗传算法的随机优化搜索,在复杂性的某些阈值之上,在高维度的搜索似乎变得更加容易,因为它不易受到局部最优的影响。虽然深度学习已经对这种思维方式非常熟悉,但它的含义最近才在神经进化当中开始被理解。 神经进化的再度兴起,是旧算法与当代计算量相结合产生惊人成果的另一个例子。神经进化的可行性非常有趣,因为在神经进化社区中开发的许多技术可以立即在 DNN 规模上变得可行,它们每个都提供了不同工具以解决具有挑战性的问题。此外,正如我们的论文所展示的,神经进化搜索与 SGD 不同,因此为机器学习工具箱提供了有趣的替代方法。我们想知道,深度神经进化是否会像深度学习一样经历复兴。如果是这样,2017 年可能标志着这个时代的开始,我们也非常期待未来会发生什么! 下面是我们今天发布的 5 篇论文及关键发现的总结: 令人惊讶的是,在一个 DNN 中,随机搜索能比 DQN、A3C 和 ES 在 Frostbite 游戏中表现得更好,但是还是不能超过 GA。 原文链接: (编辑:源码门户网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |