谷歌发布了增强型学习开发框架“多巴胺”,可以帮助快速形成算法

强化学习(RL)研究近几年取得了许多重大进展。这些进步使得智能体(agent)的游戏水平超过人类,比如 DeepMind 在 Atari 游戏应用的 DQN(Deep Q-Learning)算法,众所周知的 AlphaGo 和 AlphaGo Zero,还有最近玩 Dota 2 的 Open AI Five。

具体而言,DQN 中的重放记忆单元(replay memories)使得智能体可以利用先前的经验,大规模分布式训练使得学习进程能在几个工作线程中同时进行,而分布式优化方法能够让智能体能对完整的分布进行建模,而非仅仅只是对其期望值建模,这样可以更全面地学习和理解世界。之前取得的这些进步很重要,因为这些进步的算法还适用于其他领域,例如机器人技术上的应用。

通常,取得这些进展需要快速迭代设计——而这种设计通常没有明确的方向——有时甚至还会破坏原有方法的结构。然而,大多数现有的强化学习框架不能同时具备灵活性和稳定性,使研究人员能够有效地迭代 RL 方法,这样在探索新方向时可能不会马上得到明显的结果。此外,从现有框架复现结果通常太耗时,可能导致科学的重复性问题。

现在,Google 推出了一个新的基于 Tensorflow 的框架,旨在为初学者和经验丰富的强化学习研究人员提供兼顾灵活性、稳定性和可重复性的平台。该平台受到大脑中奖励驱动行为的主要构成部位的启发,反映了神经科学与强化学习研究之间的密切联系,同时希望能推动一些探索性甚至能带来巨大发现的研究。这个版本还包括一些使用该框架的 colabs。

易用性

清晰度和简洁性是该框架设计中考虑的两个关键因素。Google 提供的代码很简洁(大约 15 个 Python 文件),并且有详细的文档。这一框架结合了街机学习环境(Arcade Learning Environment,一个成熟的,易于理解的基准环境)和四个基于 value 值的 DQN 变体算法:DQN、C51、一个优化过的的 Rainbow DQN 算法的简化版本,以及上个月发表于 ICML 会议的隐分位数智能体(Implicit Quantile Network agent)算法。Google 希望这种简单性使研究人员能够轻松了解算法的内部原理并快速尝试新的想法。

可重复性

Google 对强化学习研究中可重复性十分重视。为此,为代码提供完整的测试覆盖率; 这些测试也可作为文档的补充。此外,在标准化经验评估方面,Google 的实验框架遵循 Machado 等人(论文:Machado et al, 2018)在街机学习环境中给出的建议。

基准测试

对于新的研究人员而言,能够根据自己的想法快速对其进行基准测试非常重要。因此,研究人员在街机学习环境所支持的 60 个游戏中提供四个支持智能体算法的完整训练数据,包括 Python pickle 文件(使用 Google 的框架训练)和 JSON 数据文件(用于与其他框架训练的算法进行比较);另外,Google 还提供了一个网站,在这里,可以快速观察到这 60 个游戏中所提供算法的训练运行过程。下图是在 Seaquest 上的 4 个智能体的训练过程(Seaquest 是由街机学习环境支持的 Atari 2600 游戏之一。)

图 |Seaquest 上运行的 4 个智能体训练过程。x 轴表示迭代轮次,每轮迭代相当于 100 万局游戏(实际约 4.5 小时游戏时间);y 轴表示每局游戏中平均得分。阴影面积表示 5 个独立运行结果的置信区间。(来源:Google blog)

Google 还提供了训练的这些算法的深度网络、原始数据日志以及用于使用 Tensorboard 可视化模块的 Tensorflow 事件文件。这些都可以在 Google 网站的下载界面找到。

Google 希望其框架的灵活性和易用性能够让研究人员尽可能的尝试新思想。这一框架已经用于 Google 的研究,研究人员发现它能够灵活地快速迭代许多想法。Google 同时也期待看到更多的社区可以利用此框架做一些事情。