写点什么

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

  • 2018 年 8 月 29 日
  • 本文字数:1692 字

    阅读完需:约 6 分钟

近日 OpenAI 在 Dota 2 上的表现,让强化学习又火了一把,但是 OpenAI 的强化学习训练环境 OpenAI Gym 却屡遭抱怨,比如不太稳定、更新不够及时等。今日,谷歌推出了一款全新的开源强化学习框架 Dopamine,该框架基于 TensorFlow,主打灵活性、稳定性、复现性,能够提供快速的基准测试。

配套开源的还包括一个专用于视频游戏训练结果的平台,以及四种不同的机器学习模型:DQN、C51、简化版的 Rainbow 智能体和 IQN(Implicit Quantile Network),相比 OpenAI 的强化学习基准,Dopamine 更多关注 off-policy 方法。 为了实现可重复性,Github 代码包括 Arcade Learning Environment 支持的全部 60 个游戏的完整测试和训练代码,并遵循标准化经验评估结果的最佳实践。 除此之外,谷歌还推出了一个网站,允许开发人员将训练中的多个智能体的运行情况快速可视化。

强化学习(RL)领域的研究在过去几年中取得了重大进展,这些进展让相关代理能够以超人类水平玩游戏——包括 DeepMind 的 DQN(AlphaGo 和 AlphaGo Zero)和 Open AI Five。具体地说,在 DQN 中引入重放记忆可以利用以前的代理经验,大规模分布式训练可以在多个工作进程之间分配学习任务,分布式方法让代理对完整的分布(而不只是期望值)进行建模,从而实现更完整的学习。这方面的进展非常重要,因为相关算法还可以应用到其他领域,例如机器人技术。

通常,这类进展要求在设计方面进行快速迭代——通常没有明确的方向——并颠覆已有的方法结构。然而,大多数现有的 RL 框架并不会提供灵活性和稳定性组合,让研究人员能够有效地迭代 RL 方法,发现新的但可能没有直接明显好处的研究方向。此外,在现有框架中重现结果通常太耗时,从而导致科学的可重现性问题。

今天,我们推出了一个全新的基于 Tensorflow 的框架——Dopamine,旨在为 RL 研究人员提供灵活性、稳定性和可重复性。这个框架受大脑奖励动机行为主要组件的启发,并反映了神经科学与强化学习研究之间强的历史联系,旨在实现可以推动激进发现的投机性研究。该框架还提供了一组解释如何使用框架的 Colab( https://github.com/google/dopamine/blob/master/dopamine/colab/README.md )。



易用性

清晰和简洁是这个框架的两个关键设计考虑因素。我们提供的代码非常紧凑(大约 15 个 Python 文件),并且有详细的文档。这是基于 Arcade 学习环境(一个成熟的、易于理解的基准)和四个基于值的代理 DQN、C51、Rainbow 代理的简化版本以及隐式分位数网络代理(刚在上个月的国际机器学习大会上发布)实现的。我们希望这种简洁能够让研究人员轻松了解代理的内部运作并快速尝试新的想法。

可重现性

我们非常关注可重现性在强化学习研究中的作用。我们的代码通过了完整的测试覆盖,这些测试用例也可作为某种形式的文档使用。此外,我们的实验框架遵循了 Machado 等人给出的使用 Arcade 学习环境标准化进行经验评估的建议。

基准测试

对于研究人员来说,能够根据已有方法快速对想法进行基准测试是非常重要的。因此,我们以 Python pickle 文件(用于使用我们的框架训练的代理)和 JSON 数据文件(用于与其他框架训练的代理进行比较)的形式提供了受 Arcade 学习环境支持的 60 个游戏的完整训练数据。我们还提供了一个网站,可以在上面快速查看所有的训练运行情况。下图展示了我们的 4 个代理在 Seaquest 上的训练运行情况。



x 轴表示迭代,其中每次迭代是 100 万个游戏帧(4.5 小时的实时游戏);y 轴是每场比赛获得的平均分数;阴影区域显示来自 5 次独立运行的置信区间。

我们还提供这些代理训练的深度网络、原始统计日志以及 Tensorflow 事件文件。这些都可以从我们的网站上下载。

开源项目地址: https://github.com/google/dopamine

可视化网站: https://google.github.io/dopamine/baselines/plots.html

相关下载链接: https://github.com/google/dopamine/tree/master/docs#downloads

想了解更多关于强化学习的内容,请参看下面的文章:

深度强化学习劝退文泡沫破裂之后,强化学习路在何方?

查看英文原文: https://ai.googleblog.com/2018/08/introducing-new-framework-for-flexible.html

2018 年 8 月 29 日 19:004889
用户头像

发布了 731 篇内容, 共 387.6 次阅读, 收获喜欢 1915 次。

关注

评论

发布
暂无评论
发现更多内容

JDK8中的新时间API:Duration Period和ChronoUnit介绍

程序那些事

java8 jdk8 新特性 程序那些事 时间API

5G时代的到来对直播的影响

anyRTC开发者

5G 音视频 WebRTC 直播 RTC

英特尔独显终于来了!锐炬®Xe MAX为非凡S3x带来设计师级创作体验

新闻科技资讯

看完这篇你还能不懂C语言/C++内存管理?

C语言与CPP编程

c c++ C语言 内存管理 编程开发

推进AI融合 2020 LF AI & DATA DAY(AI开源日)即将召开

深度解读智能推荐系统搭建之路 | 会展云技术揭秘

京东科技开发者

人工智能 推荐系统

程序人急速变富指南(一)

陆陆通通

程序员 职业 财富 认知 眼界

刷了LeetCode的链表专题,我发现了一个秘密!

Simon郎

Java 面试 链表

vivo 云服务海量数据存储架构演进与实践

vivo互联网技术

数据库 架构 云服务 数据存储

TensorFlow 篇 | TensorFlow 数据输入格式之 TFRecord

Alex

tensorflow keras dataset tfrecord

如何在面试中解释关键机器学习算法

计算机与AI

学习 数据科学

一场关于FLV是否要支持HEVC的争论

wangwei1237

技术文化

「排序算法」图解双轴快排

bigsai

排序算法 快速排序 双轴快排

C++中的vector和Java中的ArrayList的构造函数的区别

jiangling500

Java c++ ArrayList vector

面经手册 · 第16篇《码农会锁,ReentrantLock之公平锁讲解和实现》

小傅哥

Java 面试 小傅哥 ReentrantLock 公平锁

第一届“多模态自然语言处理研讨会”精彩回顾(免费获取PPT)

京东科技开发者

人工智能 自然语言处理

开源技术够用了么?我的 NAS 选型与搭建过程

LeanCloud

开源 NAS

CloudQuery V1.2.0 版本发布

CloudQuery社区

数据库 sql 编辑器 工具软件

Redis-缓存雪崩,缓存击穿,缓存穿透

topsion

redis

网易云音乐基于 Flink + Kafka 的实时数仓建设实践

Apache Flink

flink

腾讯内容首发:分布式核心原理解析笔记+分布式消息中间件实践笔记PDF版

Java架构追梦

Java 架构 面试 分布式 消息中间件

接口测试用例编写和测试关注点

测试人生路

接口测试 测试用例

国内外互联网大厂工程师联合推荐:程序员三门课+151个建议

小Q

Java 学习 编程 程序员 开发

甲方日常 44

句子

工作 随笔杂谈 日常

Linux高级编程常用的系统调用函数汇总

哒宰的自我修养

Linux 线程 网络编程 进程 MySQL数据库

环球易购数据平台如何做到既提速又省钱?

苏锐

大数据 hdfs S3 CDH 成本优化

如何将MySQL查询优化到极致?

冰河

MySQL sql 性能优化 查询优化 查询

redis的stream类型命令详解

LLLibra146

redis stream 消息队列

23张图!万字详解「链表」,从小白到大佬!

王磊

Java 数据结构与算法

央视呼吁电商双十一少一些套路:应该严打网店套路营销

石头IT视角

设置Vmware中的Ubuntu为桥接模式

jiangling500

ubuntu vmware 桥接

吊打OpenAI!谷歌重磅开源强化学习框架Dopamine-InfoQ