查看原文
其他

Dopamine - 灵活、可重复的强化学习研究新框架

Google 谷歌开发者 2018-12-15

文 / 研究软件开发人员 Pablo Samuel Castro 和Google Brain Team 研究科学家 Marc G. Bellemare


在过去的几年中,强化学习(RL)研究取得了多方面的重大进展。 这些进步使 AI 智能体能够在一些游戏上超越人类 – 其中,令人瞩目的例子有:DeepMind 攻破 Atari 游戏的 DQN,在围棋中获得瞩目的 AlphaGo 和 AlphaGo Zero,以及在 Dota2 对战人类职业玩家的 Open AI Five。具体而言,在 DQN 中引入重播记忆(replay memories)使智能体能够利用先前的经验,大规模的分布式培训使之能将学习过程分配给多个工作线程,分布式方法允许智能体模拟完整的分布建模,从而学习了解整个格局,而不仅仅局限于期望值。 这种进步至关重要,因为催生这些进步的算法还适用于其他领域,如机器人技术(请参考我们最近的关于对机器人的操控以及教机器人学会观察进行自我适应的研究报道)。


取得此类进展常常需要在设计上快速迭代,这通常并没有一个明确的方向,以及打破现有方法的构架。 然而,大多数现有的强化学习框架无法同时兼具灵活性和稳定性,研究人员难以有效地迭代强化学习,因此探索新的研究方向可能在短期内无法获得明显的效益。 再者,在现有框架基础上复制结果往往太过耗时,从而导致后续的科学再现性问题。

 

今天,我们推出了一款新的基于 Tensorflow 的框架,旨在为新手和经验丰富的强化学习研究人员提供兼具灵活性,稳定性和可重复性的新工具。 该框架的灵感来源于大脑中奖励-动机行为的主要成分 “多巴胺受体”,这反映了神经科学与强化学习研究之间的强大的历史联系。这个平台旨在推动重大发现的推测性研究。 另外,我们还发布了一组该框架的教学 colabs

注: colabs 链接

https://github.com/google/dopamine/blob/master/dopamine/colab/README.md



易用性

简洁和清晰是我们在该框架的设计过程中考量的两个关键因素。 我们提供的代码很紧凑(大约 15 个 Python 文件),并且有详细的文档记录。通过专注于街机模式学习环境(ALE 是一个成熟的,已经被充分理解的基准)和四个基于价值的智能体来实现:DQN,C51,精心设计的简化版的 Rainbow 智能体,以及在上个月的国际机器学习大会(ICML)上刚刚发布的 IQN(Implicit Quantile Network)智能体。 我们希望这种简明的特性能够使研究人员轻松了解智能体的内部运作原理,并快速尝试各种新的想法。



可重复性

我们对强化学习研究中的可重复性尤为关注。 为此,我们为代码提供完整的测试覆盖; 这些测试详见文档附表。 此外,我们的实验框架遵循了 Machado等人(2018)关于利用街机学习环境(ALE)标准化经验评估里的推荐方法。 



基准测试

对于新手研究人员来说,能够根据既定方法快速对自己的想法进行基准测试是至关重要的。 为此,我们在 ALE 学习环境支持的 60 款游戏中提供四个智能体的完整训练数据,格式为 Python pickle 文件(对于使用我们的框架训练的智能体)和 JSON 数据文件(用于对比其他框架训练的智能体); 我们还提供了一个网站,方便研究人员可以快速查看所有 60 款游戏中提供的智能体的训练运行情况。 下面我们将展示在 ALE 学习环境下支持的 Atari 2600 游戏之一 Seaquest 上的 4 个智能体的训练情况。


4 个智能体在 Seaquest 上训练运行。x 轴表示迭代,其中每次迭代是 100 万个游戏帧(实时游戏 4.5 小时); y 轴是每次游戏获取的平均分。 阴影区域表示 5 个独立运行的置信区间

 

我们还提供这些智能体训练的深度网络,原始统计日志以及用于 Tensorboard 可视化的 Tensorflow 事件文件。 这些都可以在我们网站的下载区找到。

注:Tensorboard 链接

https://www.tensorflow.org/guide/summaries_and_tensorboard

下载区链接

https://github.com/google/dopamine/tree/master/docs#downloads


我们希望我们的框架的灵活性和易用性能够帮助研究人员尝试新的想法,包括渐进式和激进式。 我们已积极将它应用于各类研究,发现它可以使很多想法得到快速灵活地迭代。 我们期待看到大社区使用这一框架,发掘无限可能。 请在我们的 github repo 中查看和使用,别忘了告诉我你的想法!

注:github repo 链接

https://github.com/google/dopamine



鸣谢

与谷歌的多次合作,使我们这个项目得以实现。 核心团队包括 Marc G. Bellemare,Pablo Samuel Castro,Carles Gelada,Subhodeep Moitra 和 Saurabh Kumar。 特别感谢 Sergio Guadamarra,Ofir Nachum,Yifan Wu,Clare Lyle,Liam Fedus,Kelvin Xu,Emilio Parisoto,Hado van Hasselt,Georg Ostrovski 和 Will Dabney 以及其他协助我们测试的 Google 工作人员。



TensorFlow 社区活动:

· 金币换礼品!(火热进行中......)


☟ 点击 “阅读原文” 

参加 TensorFlow 社区活动

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存