探索新的强化学习算法遇到困难?不怕不怕,谷歌为你带来「多巴胺」
雷锋网 AI 科技评论按:强化学习的研究如此火热,但强化学习的研究中又有如此之多的实践上的困难。「工欲善其事,必先利其器」,谷歌就推出了一个强化学习研究专用的框架帮自己减负、加速。雷锋网 AI 科技评论把谷歌的介绍博客编译如下。
在过去的几年中,强化学习研究中涌现了许多重大技术进展。这些技术进展已经帮助智能体在游戏中发挥出超越人类的水平,著名的几个例子包括 DeeopMind 玩 Atari 游戏的 DQN、下围棋的 AlphaGo 和 AlphaGo Zero,还有近期连续击败了业余玩家和前职业选手的 DOTA2 AI OpenAI Five。
其中值得展开说明的是, DQN 中引入的记忆回放特性让当前智能体可以利用以前的不同智能体的经验进行学习, 大规模分布式训练 可以让训练过程分布在多台不同的运算计算机上同时运行, 值分布方法 让智能体可以对整个反馈分布建模,而不是仅仅为单个预期值建模,从而可以对自己所处的世界有个更完整的认识。这类技术进展非常重要,采用了这些新技术的算法也可以在测试任务之外继续发挥作用,比如谷歌自己就用强化学习算法控制机械臂运动。
大多数时候,探索更新更好的技术都需要一个从基础设计开始进行快速迭代的过程 —— 这个迭代改进的过程不一定有什么清晰的方向 —— 而且也会打乱已有方法的结构。然而,多数现有的强化学习框架提供的灵活性+稳定性组合并不理想,不足以让研究人员们高效地迭代改进正在探索的强化学习方法,拖慢了他们发现那些收益更偏向长远的研究方向的脚步。除此之外,现有的框架中复现现有模型的结果也非常耗费时间,这也为后续科研活动中的可重复性要求埋下了隐患。
新框架,「多巴胺」
今天谷歌发布了一个新的基于 TensorFlow 的强化学习框架「多巴胺」(Dopamine)。多巴胺是人脑中「行为 - 反馈」激励通路的主要组成部分之一,多巴胺的释放可以给人带来开心愉悦的感觉;它同时也反映了神经科学研究和强化学习研究之间渊源流长的联系。正如其名,它的目标是提供一个兼顾灵活、稳定、可重复性的强化学习实验框架,让不论资深还是新手研究人员都感受到「多巴胺」带来的放松和愉悦,从而帮助他们更多、更快、更好地开展有可能带来颠覆性发现的思辨、探索研究。
「多巴胺」框架的设计面向研究人员,它是一个简单但鲁棒的框架,适合用于强化学习算法设计中的快速原型设计和迭代改进。如果算法研究人员需要一个轻量、容易理解的代码库,为了自由地尝试各种不同的甚至狂野的想法,「多巴胺」就是最合适的选择。
「多巴胺」的设计原则是
-
便于实验 :新用户也可以简单地运行 benchmark 实验
-
灵活开发 :新用户也可以简单地尝试新的研究想法
-
紧凑可靠 :提供了几个经过检验的算法的实现
-
可重复性 :帮助提高实验结果的可重复性
遵循这些设计原则,「多巴胺」的首个版本重点关注了目前最先进的运行在单 GPU 上的 彩虹 DQN ,它在 Atari-2000 游戏中有惊人的表现。根据论文中得到的结论,「多巴胺」中的彩虹 DQN 实现了以下三个最为重要的组件:
-
n 步 Bellman 更新(详情参见 https://arxiv.org/abs/1602.01783 )
-
优先经验重放学习( https://arxiv.org/abs/1511.05952 )
-
值分布方法( https://arxiv.org/abs/1707.06887 )
除了彩虹 DQN 之外,「多巴胺」还实现了另外 3 个基于数值的智能体:DQN、 C51 以及上个月刚刚发表在 ICML 2018 上的 隐式分位数网络(Implicit Quantile Network) 。「多巴胺」目前支持 Arcade 学习环境 ,这是一个成熟、已经有了深入研究理解的环境。谷歌的开发人员们希望「多巴胺」的简单性可以让研究人员们轻松地理解智能体到底是如何运行的,从而得以尝试新的想法。
便于使用的实现
上手快捷 清晰、简介是框架设计、代码编写中的重要考量要素。「多巴胺」提供的代码紧凑,只有大约 15 个 Python 文档,而且有完善的注释。
可重复性 谷歌的开发人员们也对强化学习研究中的可重复性问题有非常深的感受。为了提供一些可重复性的保障,「多巴胺」的代码提供了完整的测试功能;测试功能也就可以作为另一种形式的文档。除此之外,「多巴胺」也遵循了 arxiv.org/abs/1709.06009 中提出的关于在 Arcade 学习环境中标准化经验评价的建议。
Benchmark 对于新手研究人员来说,能够在 benchmark 中快速比较自己的想法和已有方法的表现是非常重要的。出于这个目的,「多巴胺」也提供了包含的四个智能体的全部训练数据,其中均包含了 Arcade 学习环境支持的 60 个游戏中的数据;格式有 Python 格式以及 JSON 格式。谷歌的开发人员们还额外设计了一个 网站 ,可以在上面快速可视化这四个智能体在所有 60 个游戏中的训练过程。下图是四个智能体在 Atari 游戏 Seaquest 中的训练过程。
谷歌也在「多巴胺」中打包了经过训练的模型、原始统计记录以及可以在 Tensorboard 中绘图的 TensorFlow 事件记录文件。
谷歌的开发人员们希望「多巴胺」的灵活、便于使用的特性可以帮助研究人员们尝试新的点子,不论是逐步改进的,还是根本性颠覆的。谷歌已经把「多巴胺」应用到了自己的科研中,已经借助它的灵活性快速迭代改进了许多想法。所以谷歌不仅希望把这个美妙的工具分享给更多研究人员,帮助整个领域的研究人员更快地做出进展,也可以借助更多力量把「多巴胺」做得更好。
github 地址: https://github.com/google/dopamine
via ai.googleblog.com ,雷锋网 (公众号:雷锋网) AI 科技评论编译
雷锋网特约稿件,未经授权禁止转载。详情见。