Root 编译自 OpenAI
量子位 出品 | 公众号 QbitAI

一直以来,在典型的强化学习研究里,常拿怀旧小游戏训练算法。

可算法的训练和测试环境都是同一个,这就会让那些本身带有超参数和靠死记硬背的算法获得不错的结果。

为了解决这个问题,OpenAI办了一个迁移学习的比赛,让大家训练出的AI智能体去玩世嘉经典「音速小子索尼克」,看哪个智能体能在从没见过的关卡里获得最佳的表现。

OpenAI会给你一个训练集,是一系列刺猬索尼克的关卡。然后用特定为这次比赛制作的测试集来评估你的算法。

这个比赛从4月5号开始,到6月5号截止,为期两个月。

比赛用的数据集Gym Retro,是一个整合经典电动游戏到Gym的全新平台,目前已包含30个世嘉创世的游戏。



为了方便大家上手,OpenAI放出了Retro的基线表现,这样大家就能get到怎么用强化算法去跑这些比赛的任务了。

Retro比赛测试集的基线结果显示,即使用了迁移学习,强化学习算法的表现依然比人类水平差很远。红色那根水平虚线是人类玩家的表现,这还是人类玩了一小时的结果,而算法已经玩了18个小时。

在训练的时候,你可以用任何环境和数据集。但测试期间只有18个小时(100万时步)去过每个没见过的关卡。听起来,18个小时过一关很长,但对现在比人类玩家弱鸡的强化学习模型来说,这个训练时间捉襟见肘。

音速小子索尼克

为了把基准表现描述得更具体些,以及提供一些基线结果,OpenAI给出了一份技术报告:Gotta Learn Fast:A New Benchmark for Generalization in RL。

地址:https://storage.googleapis.com/agi-data/blog/gym-retro/contest-tech-report.pdf

从这份报告里除了能看到基准表现,还可以看到跑彩虹DQN,PRO和简单随机猜测算法JERK的结果。

JERK的表现代表了专门为刺猬索尼克作出优化尝试而采取的一系列随机行为,随着训练时间增长,索尼克会更频繁地使用那些能拿高分的行为。

同时,OpenAI也发现,通过训练时获得的经验可以显著提高PRO在测试中的表现。

尤其是在训练阶段有预训练网络以及测试阶段有精细地微调的话,它的表现能翻番,甚至比最强的基线结果还要好。

虽然这并不是首个把迁移学习成功用在强化学习的例子,但是能看到迁移学习能有那么厉害和稳定的作用也是很让人亦可赛艇的事儿。

要算法达到人类的表现,还有很长的一段路要走。

像上面提到的,人类玩家只要训练两个小时,测试时玩个一小时所拿到的分数都远远高于用了迁移学习的强化学习算法。

Gym Retro的Beta版

OpenAI放出的Gym Retro是一个打包了一堆经典的电子游戏的系统,给强化学习模型提供一个环境。最初放出的这一版里有从世嘉创世Steam的老游戏大包里挑出的30个游戏,还有雅达利2600里Arcade Learning Environment里的62个游戏。

近五年来,Arcade Learning Environment是强化学习研究的主要驱动力。它是一个强化学习和雅达利2600的交互界面集合。这些雅达利的游戏,相比于之前强化学习的基准来说,要更复杂多变,也是之前设计来挑战人类玩家的运动控制技能和解决问题的能力。

Gym Retro的Beta版采用了比雅达利更先进的控制台,拓展了适合强化学习研究的游戏的数量和复杂度。世嘉创世里的游戏很多关在很多维度上都类似,比方是物理层面,物体的外观等等,而在材质上不同。

对迁移学习来说,这就是非常理想的测试环境了。它还有一点比雅达利游戏要好的是,能够用上更好的创世里的硬件,比方说,内存容量是雅达利的500倍,可以获得更大范围的控制输入,以及支持更好的画面。

Gym Retro系统是受到怀旧学习环境的启发,不过会更加复杂。比方说,如果你想更细致地定义环境,可以不再用C++了,用JSON文件就能搞定。这对新游戏整合来说更容易了。

Gym Retro是OpenAI团队第二次尝试搭建大型的强化学习环境数据集。其中一些理念出自于2016年下半年的Universe,不过因为Universe环境的运行不是同步,而是实时的,所以OpenAI团队无法取到满意的结果。

Universe简介:https://blog.openai.com/universe

Gym Retro就拓展了Arcade Learning Environment的模型,使其适配更多的游戏。

Gym Retro系统GitHub地址:https://github.com/openai/retro#gym-retro

有些时候,算法也很鸡贼。像经PRO训练的策略就发现索尼克不断往右挪就能直接穿墙,这样可以获得更高的分数。



这就是一个典型的,奖赏机制是怎么导致AI智能体做出些奇奇怪怪的行为例子。

BTW,测试集一共有两个,一个是能影响比赛进行过程中的排行榜,另外一个是只用于最后排名的。另外,OpenAI建议参赛者采用分开的训练集、测试集的默认关卡,大家可以从技术报告中看到所有的训练测试结果以及学习曲线。

参赛规则

训练你码好的AI智能体去玩刺猬索尼克,然后向OpenAI提交你的成果(用Docker容器)。然后OpenAI会用上述的神秘测试集去测你AI的表现,你将会在排行榜上看到你AI的分数。整个过程看下图。



最后,附比赛报名地址:

https://contest.openai.com/

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。


量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态


迁移学习比赛:OpenAI喊你重温「音速小子索尼克」相关推荐

  1. 单元测试在深度学习中的应用 | 附代码「AI产品/工程落地」

    关注:决策智能与机器学习,深耕AI脱水干货 作者 |   Tilman Krokotsch 编译 |   ronghuaiyang   报道 |  AI公园 导读 本文非常详细的介绍并演示了如何将单元 ...

  2. 清华大学开源迁移学习算法库:基于PyTorch实现,支持轻松调用已有算法

    机器之心报道 编辑:魔王 作者:清华大学大数据研究中心 近日,清华大学大数据研究中心机器学习研究部开源了一个高效.简洁的迁移学习算法库 Transfer-Learn,并发布了第一个子库--深度领域自适 ...

  3. 清华大学开源迁移学习算法库:基于PyTorch实现已有算法

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...

  4. 自然语言处理中的迁移学习(下)

    作者:哈工大SCIR 徐啸 本文小结:本文为教程的第二篇,包含教程的 3-6 部分. 提纲 介绍:本节将介绍本教程的主题:迁移学习当前在自然语言处理中的应用.在不同的迁移学习领域中,我们主要定位于顺序 ...

  5. 数学与 AI「融通」 ,徐宗本院士进行超强“迁移学习”

    来源: AI科技评论  编辑 | 唐里 徐宗本院士在数学与 AI 之间进行了一次超强的"迁移学习". 9 月 21 日至 22 日,为期两天的 CCAI 2019 正在秋意浓浓的中 ...

  6. 14 篇论文为你呈现「迁移学习」研究全貌 | 论文集精选 #04

    PaperWeekly 是一个 AI 学术分享社区.这里聚集了大批一线 AI 学者,他们用精炼妙语推荐各自发现的优质论文.点击本文底部的「阅读原文」即刻加入社区,创建属于你的论文集. 这里是第 4 期 ...

  7. Deeplearning4j 实战 (10):迁移学习--ImageNet比赛预训练网络VGG16分类花卉图片

    Eclipse Deeplearning4j GitChat课程:https://gitbook.cn/gitchat/column/5bfb6741ae0e5f436e35cd9f Eclipse ...

  8. KESCI 迁移学习提供「借贷风险评估」解决方案的baseline改写,XGBOOST方法+SMOTE

    迁移学习提供「借贷风险评估」解决方案 大赛简介 金融场景是算法落地的重要场景.本次练习赛,我们聚焦于「借贷风险评估」问题.探索机器学习细分领域--迁移学习,在金融场景的更多可能性,以及其实践落地. 本 ...

  9. PaddleHub 1.0正式发布: 一键模型加载,十行代码完成迁移学习

    允中 发自 凹非寺 量子位 编辑 | 公众号 QbitAI 飞桨(PaddlePaddle)核心框架Paddle Fluid v1.5已经发布,而作为其关键工具,用来迁移学习的PaddleHub也进行 ...

最新文章

  1. 最近做了一个博客 玩玩而已 运城搜搜 www.lenovoyh.com
  2. 静止无功发生器(SVG)原理简介及仿真验证
  3. 批处理之显示隐藏文件
  4. 计算机应用基础模4答案,2012年自考“计算机应用基础”练习题及答案四
  5. 浅谈缓存最终一致性的解决方案
  6. Elasticsearch内存
  7. 若依如何修改数据监控登录账户密码?
  8. ubuntu下命令行设置壁纸
  9. 每天一个linux命令(59):rcp命令
  10. 个人作业7 第一阶段SCRUM冲刺(九)
  11. 联想ThinkPad SL410(28428KC)与2842-EWC区别
  12. 苹果系统itunes连iphone连不上服务器,iphone连不上itunes怎么办,iphone连不上itunes的解决办法...
  13. 2014年的暑假ACM之旅!
  14. centos7 搭建最新的RAP2接口管理工具并导入原rap旧数据
  15. 【Unity3D实战】零基础一步一步教你制作酷跑类游戏(1)
  16. 镂空三角形(for循环找规律)
  17. 行云创新受邀加入信通院云原生成熟度专家组,开启业内首批云原生技术架构/应用成熟度评估测试
  18. html显示latex公式,wordpress显示数学公式插件【LaTeX转HTML】
  19. ThinkPHP中vendor()方法导入第三方类库的用法!ThinkPHP 3.2 vendor()方法的深入研究!
  20. ubuntu14.04 下载安装 yocto平台

热门文章

  1. 精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!
  2. 一线大厂架构师都推荐的Java零基础大全,附面试答案
  3. java模板变量_IntelliJ IDEA实时模板变量
  4. python计算2的20次方_Python学习二运算符
  5. python怎么后撤步_你的后撤步用对了吗? | 后撤步的目的
  6. python中prime_在AP中查找第一个元素,该元素是Python中给定Prime的倍数
  7. 瀑布流布局的实现方式
  8. linux3.8内核下载,linux 3.8内核usbmouse代码注释
  9. java 我爱你_Java初级教程-课程笔记
  10. 安装MYSQL的思考与分析_mysql安装和基本使用