今日,谷歌发布博客介绍其最新推出的强化学习新框架 Dopamine,该框架基于 TensorFlow,可提供灵活性、稳定性、复现性,以及快速的基准测试。

GitHub repo:https://github.com/google/dopamine

在过去几年里,强化学习研究取得了多方面的显著进展。这些进展使得智能体能够以超越人类的水平玩游戏,其中比较可圈可点的例子包括:DeepMind 的 DQN 在 Atari 游戏上的表现、AlphaGo、AlphaGo Zero 以及 Open AI Five。具体来说,在 DQN 中引入重播记忆(replay memory)使得智能体能够利用先前的经验,大规模分布式训练使得智能体能够将学习过程分配给多个工作线程(worker),分布式方法使得智能体能够建模完整的分布,而不仅仅是它们的期望值,从而了解它们所在环境的完整情况。这种进步非常重要,因为算法催生的这些进展还可用于其他领域,如机器人学(参见:前沿 | 谷歌提出 Sim2Real:让机器人像人类一样观察世界)。

通常来讲,取得此类进展需要在设计上进行快速迭代(通常没有明确的方向),打破已有方法的结构。然而,多数现有强化学习框架并不同时具备可让研究者高效迭代 RL 方法的灵活性和稳定性,因此探索新的研究方向可能短期内无法获得明显的收益。再者,复现现有框架的结果通常太过耗时,可能会导致科学复现性问题。

今天,谷歌介绍了一款基于 TensorFlow 的新框架,旨在为强化学习研究者及相关人员提供具备灵活性、稳定性及复现性的工具。该框架的灵感来自于大脑中奖励–激励行为的主要组成部分「多巴胺」(Dopamine),这反映了神经科学和强化学习研究之间的密切联系,该框架旨在支持能够推动重大发现的推测性研究。谷歌还发布了一组相关的 Colab(https://github.com/google/dopamine/blob/master/dopamine/colab/README.md),以说明该框架的使用方法。

易用性

清晰性(clarity)和简明性(simplicity)是该框架设计过程中的两个关键考量因素。谷歌提供的代码很紧凑(大约 15 个 Python 文件)且记录良好。原因在于谷歌研究人员专注于街机模式学习环境(ALE,一个成熟、已被充分了解的基准)和四个基于价值的智能体:DQN、C51、精心设计的 Rainbow 智能体简化版和 Implicit Quantile Network 智能体(上个月才在 ICML 大会上得到展示)。谷歌希望这一简明性特点可使研究者容易理解智能体的内在工作原理,快速尝试新想法。

复现性

谷歌非常看重强化学习研究中的复现性。因此,谷歌提供了其代码的完整测试;这些测试见文档附表。此外,谷歌的实验框架遵循 Machado 等人(2018)关于利用 ALE 标准化经验评估的推荐方法。

基准测试

对于新研究者来说,对自己的想法进行快速的基准测试是非常重要的。谷歌提供四个智能体的完整训练数据,包括 ALE 支持的 60 个游戏,格式为 Python pickle 文件(对于使用谷歌框架训练的智能体)和 JSON 数据文件(用于对比其他框架训练的智能体)。谷歌还提供了一个网站,研究者可以使用该网站对所有提供智能体在所有 60 个游戏中的训练运行进行快速可视化。下图即谷歌的 4 个智能体在 Seaquest 上的训练运行(Seaquest 是 ALE 支持的 Atari 2600 游戏之一)。

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

谷歌还提供利用这些智能体训练的深度网络、原始统计日志以及用于 Tensorboard 可视化的 TensorFlow 事件文件。相关地址:https://github.com/google/dopamine/tree/master/docs#downloads

谷歌希望其框架的灵活性和易用性能够帮助研究者尝试新想法。谷歌已经在研究中使用了该框架,发现它可使很多想法快速迭代,具备很强的灵活性。谷歌期待看到社区使用这一框架。

原文链接:https://ai.googleblog.com/2018/08/introducing-new-framework-for-flexible.html2

谷歌推出新型强化学习框架Dopamine的更多相关文章

  1. 谷歌重磅开源强化学习框架Dopamine吊打OpenAI

    谷歌重磅开源强化学习框架Dopamine吊打OpenAI 近日OpenAI在Dota 2上的表现,让强化学习又火了一把,但是 OpenAI 的强化学习训练环境 OpenAI Gym 却屡遭抱怨,比如不 ...

  2. ICML论文|阿尔法狗CTO讲座: AI如何用新型强化学习玩转围棋扑克游戏

    今年8月,Demis Hassabis等人工智能技术先驱们将来到雷锋网“人工智能与机器人创新大会”.在此,我们为大家分享David Silver的论文<不完美信息游戏中的深度强化学习自我对战&g ...

  3. ICML 2018 | 从强化学习到生成模型:40篇值得一读的论文

    https://blog.csdn.net/y80gDg1/article/details/81463731 感谢阅读腾讯AI Lab微信号第34篇文章.当地时间 7 月 10-15 日,第 35 届 ...

  4. 强化学习论文(Scalable agent alignment via reward modeling: a research direction)

     原文地址: https://arxiv.org/pdf/1811.07871.pdf ======================================================== ...

  5. 【转载】 DeepMind发表Nature子刊新论文:连接多巴胺与元强化学习的新方法

    原文地址: baijiahao.baidu.com/s?id=1600509777750939986&wfr=spider&for=pc 机器之心 18-05-15   14:26 - ...

  6. 强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)

    在强化学习(十七) 基于模型的强化学习与Dyna算法框架中,我们讨论基于模型的强化学习方法的基本思路,以及集合基于模型与不基于模型的强化学习框架Dyna.本文我们讨论另一种非常流行的集合基于模型与不基 ...

  7. 强化学习(十五) A3C

    在强化学习(十四) Actor-Critic中,我们讨论了Actor-Critic的算法流程,但是由于普通的Actor-Critic算法难以收敛,需要一些其他的优化.而Asynchronous Adv ...

  8. 6、DRN-----深度强化学习在新闻推荐上的应用

    1.摘要: 提出了一种新的深度强化学习框架的新闻推荐.由于新闻特征和用户喜好的动态特性,在线个性化新闻推荐是一个极具挑战性的问题. 虽然已经提出了一些在线推荐模型来解决新闻推荐的动态特性,但是这些方法 ...

  9. 【强化学习】MOVE37-Introduction(导论)/马尔科夫链/马尔科夫决策过程

    写在前面的话:从今日起,我会边跟着硅谷大牛Siraj的MOVE 37系列课程学习Reinforcement Learning(强化学习算法),边更新这个系列.课程包含视频和文字,课堂笔记会按视频为单位 ...

随机推荐

  1. MacBook常用软件

    本文分享一些我在mac上的常用软件,也为以后重新配置工作环境做一个记录. 其中提到的大多数软件在网上都有丰富教程,所以仅仅简单描述其功能,不再赘述. 通用 ---Typora Markdown写作工具 ...

  2. MySQL性能优化方法三:索引优化

    原文链接:http://isky000.com/database/mysql-performance-tuning-index 大家都知道索引对于数据访问的性能有非常关键的作用,都知道索引可以提高数据 ...

  3. 【opencv基础】Rect类的神奇用法

    前言 最近看github上源码发现对两个cv::Rect使用相与(&)操作,猛地感觉自己蒙啦,Rect类还有这种神奇用法?!翻看opencv官网Rect类,果然如此! opencv中Rect类 ...

  4. cocoapods 安装过程及常见问题

    1.可以参考这个网页的教程:http://code4app.com/article/cocoapods-install-usage 2.按照以下步骤进行安装: 1.配置rugy静态环境 gem sou ...

  5. Windows10 解决“装了 .NET Framework 4.5.2/4.6.1/4.7.1等等任何版本 或版本更高的更新”问题

    ========================================================= 系统自带的.net framework版本为4.7,自己安装.NET Framewo ...

  6. Python之进程(multiprocessing)

    一.multiprocessing模块简介——进程基于“threading”的接口 multiprocessing模块支持创建进程——使用threading模块相似的API.multiprocessi ...

  7. benthos 几个方便的帮助命令

    benthos 的命令行帮助做的是比较方便的,基本上就是一个自包含的帮助文档 全部命令 benthos --help 查询系统支持的caches benthos -list-caches 说明 使用帮 ...

  8. H.264帧结构详解

    6.1.2.源码简单浏览 6.1.3.重点1:h.264帧结构6.1.4.重点2:帧结构分析软件的使用6.1.5.重点3:rtsp网络编程6.1.6.重点4:wireshark网络抓包工具的使用 6. ...

  9. 浏览器的自动翻译会影响 JS 逻辑

    有人在 QQ 群里反馈,官方注册后跳转时出现 Bug. 收到群友非常有用的资讯,这是因为浏览器的自动翻译功能引起的. 11:04:21[潜水]Better Command 2017/12/30 11: ...

  10. unbuntu 安装及服务器配置

    关于分区: 挂载点 装置 说明 / /dev/hda1 15G /home /dev/hda2 最大的剩余空间 /boot /dev/hda3 200MB左右 swap /dev/hda5 大约内存大 ...