今日,谷歌发布博客介绍其最新推出的强化学习新框架 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. iOS 证书 设置指南

    点击这里跳转到改链接:http://docs.jpush.cn/pages/viewpage.action?pageId=1343727

  2. [LeetCode&Python] Problem 728. Self Dividing Numbers

    A self-dividing number is a number that is divisible by every digit it contains. For example, 128 is ...

  3. JavaScript 之call , apply 和prototype 介绍

    1. 前言 为什么将这三个概念放在一起说.原因是这些是会在实现js 继承会需要使用到的 2. call 和 apply call 和 apply 的作用基本类似, 都是去执行function并将这个f ...

  4. SQLite数据库学习小结——Frameworks层实现

    3. SQLite的Frameworks层实现 3.1 Frameworks层架构 Android系统方便应用使用,在Frameworks层中封装了一套Content框架,之所以叫Content框架而 ...

  5. ioctl命令

    _IO._IOR._IOW._IOWR 宏的使用说明 驱动程序中 ioctl  函数传递的变量 cmd 是应用程序向驱动程序请求处理的命令.cmd 除了用于区别不同命令的数值,还可包含有助于处理的几种 ...

  6. 序列化效率比拼——谁是最后的赢家avaScriptSerializer方式、DataContract方式、Newtonsoft.Json

    前言:作为开发人员,对象的序列化恐怕难以避免.楼主也是很早以前就接触过序列化,可是理解都不太深刻,对于用哪种方式去做序列化更是随波逐流——项目中原来用的什么方式照着用就好了.可是这么多年自己对于这东西 ...

  7. 前端基础之CSS快速入门

    前一篇写了我们的Html的常用组件,当然那些组件在我们不去写样式的时候都是使用的浏览器的默认样式,可以说是非常之丑到爆炸了,我们肯定是不能让用户去看这样丑到爆炸的样式,所以我们在这里需要使用css样式 ...

  8. ubuntu16安装及嵌入式开发环境搭建

    1.Ubuntu虚拟机新建好要安装vmware tools才能共享文件夹,解压安装tar zxf VMwareTools-10.0.10-4301679.tar.gz ,回车键,解压该文件. 解压完毕 ...

  9. 笔记本设置 2K 显示屏 Intel HD Graphics 3000

    收了一台 32英寸的显示器,接到笔记 本只有 1920x1080,心想没得救了,要换笔记本才能用了. 在网上找了一圈,找到一篇说 Intel HD Graphics 3000 可以支持到 2560x1 ...

  10. ActiveMQ默认协议和IO模型优化

    在ActiveMQ的官方网站上,列出了目前ActiveMQ中支持的所有消息协议,它们是:AMQP.MQTT.OpenWire.REST.Stomp.XMPP: 不同的协议需要设置不同的网络监听端口,这 ...