OpenAI首届迁移学习竞赛,南大阿里团队夺冠,中科院第二

简介: OpenAI举行的首届迁移学习竞赛Retro Contest结束,各路AI玩《刺猬索尼克》游戏,在提交结果的229支队伍中,中国的团队获得了冠亚军。

OpenAI举办的首届迁移学习竞赛Retro Contest结束,在全部229支队伍里,来自中国的团队获得了冠亚军。冠军是一个6人团队,其中有南京大学和阿里巴巴搜索事业部的研究人员;亚军是中科院的两名研究生。

这个竞赛的目标,是评估强化学习算法从以往的经验中泛化的能力。具体说,就是让AI玩视频游戏《刺猬索尼克》,这是世嘉公司开发的一款竞速式2D动作游戏,其基本上模拟马里奥的游戏方式,玩家在尽可能短的时间内到达目的地,索尼克可以通过不停加速来快速完成关卡。最后可能需要对抗BOSS。

8d4754fe6859881a18ff99d88380e59a429f6525

冠军方案展示:由南大和阿里研究人员组成的Dharmaraja队的agent,学习穿越游戏中海洋废墟区域(Aquatic Ruin Zone)。Agent已经在游戏的其他关进行过预训练,但这是第一次遇到这一关。

OpenAI的这个竞赛Retro Contest从2018年4月5日发布,持续时间为2个月。开始有923支队伍报名,但最终只有229个提交了解决方案。OpenAI的自动评估系统对这些结果进行了评估。为了避免参赛者拟合数据集,评审时使用了完全不同的数据集。此外,OpenAI还将前十名的最终提交结果进行了再测试,让这些agents在11个由游戏设计师特别设计的关卡中,分别进行了3次测试,每次都从环境中随机生成初始状态。最终得到的排名如下:

51e60d0590e776dc1c68fa0bcdc6a2b5ad0f67d8

前五名排名

其中,冠军Dharmaraja在测试和评审中始终排名第一,mistake以微弱的优势战胜aborg取得第二。这张图显示了排名前三的三个方案的agent在同一个关卡学习的情况。红点代表初期,蓝点代表后期。从上到下分别是Dharmaraja、aborg和mistake。

b0a754caa02c7a9fe1b63023bdd1df45dff8cb07

所有关卡平均下来,这几支队伍的学习曲线是这样的:

ea9bebb4ee8de56cd0d50c2cfbae015b7fb09462

值得注意的是,Dharmaraja和aborg在开始阶段分数相近,而mistake的则要低很多。这是因为前两支队伍的方法,是对预训练网络进行微调(使用PPO),而mistake则是从零开始训练(使用Rainbow DQN)。mistake的学习曲线提前结束,是因为他们在12小时的时候时间用完了。

OpenAI对这次的竞赛的评价是,从整体看,虽然参赛队伍尝试了很多方法,但主要的结果都来自对现有算法(如PPO和Rainbow)的微调或扩展。同时,结果也显示了我们还有很长的路要走:训练后AI玩的最高成绩是4,692分,而理论最好成绩是10,000分。

但是,获胜的解决方案是一般的机器学习方法,而不是针对这次竞赛进行的hacking,表明作弊是不可能的,也就证实了OpenAI的Sonic基准是机器学习研究界一个值得去关注的问题。

获奖团队及方案:PPO和Rainbow优化

cd219c27b11f2b97e8496b85090d47969c5dca55

Dharmaraja(法王)是一个6人组成的团队:Qing Da、Jing-Cheng Shi、Anxiang Zeng、Guangda Huzhang、Run-Ze Li 和 Yang Yu。其中,Qing Da和Anxiang Zeng来自阿里巴巴搜索事业部AI团队,他们最近与南京大学副教授Yang Yu合作,研究如何将强化学习用于现实世界问题,尤其是电子商务场景。

Dharmaraja的解决方案是联合PPO的变体。PPO(proximal policy optimization,近端策略优化算法),是此前OpenAI为强化学习提出的一类新的策略梯度法,可以通过与环境的交互在样本数据中进行转换,使用随机梯度下降优化替代目标函数(surrogate objective function)。标准的策略梯度法是在每一个数据样本上执行一次梯度更新,而PPO的新目标函数可以在多个训练步骤(epoch)中实现小批量(minibatch)的更新。PPO 拥有置信域策略优化(TRPO)的一些好处,但更加容易实现,也更通用,并且有更好的样本复杂度。OpenAI研究人员认为,考虑到总体的复杂度、操作简便性和 wall-time,PPO 是比在线策略梯度法更好的选择。

在PPO的基础上,Dharmaraja的解决方案做了一些改进。首先,使用RGB图像而不是灰度图做输入。其次,使用了稍微扩大的动作空间,并使用更常见的按钮组合。第三,使用了增强奖励功能,奖励agent访问新的状态(根据屏幕的感知散列来判断)。

除了这些改进外,团队还尝试了许多东西,比如DeepMimic,使用YOLO进行对象检测,以及一些针对索尼克游戏的特定想法。不过这些方法并没有特别起效。

代码:https://github.com/eyounx/RetroCodes

20a99a1993b84fb36cf73206c57bcc86e35042bb

Mistake

Mistake队有两名成员,Peng Xu和Qiaoling Zhong。他们都是研二的学生,来自中国科学院网络数据科学与技术重点实验室。

他们的解决方案是基于Rainbow基准。Rainbow是DeepMind对DQN算法进行的组合改良。DeepMind的实验表明,从数据效率和最终性能方面来说,Rainbow能够在Atari 2600基准上提供最为先进的性能。

Mistake团队进行了一些有助于提升性能的修改:n对n步Q-learning的更好的值;额外添加了一层CNN层到模型,这使得训练速度更慢但更好;DQN目标更新间隔更短。此外,团队还尝试与Rainbow进行联合训练,但发现这样做实际上降低了性能。


原文发布时间为:2018-06-23

本文作者:文强

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。

原文链接:OpenAI首届迁移学习竞赛,南大阿里团队夺冠,中科院第二

相关文章
|
机器学习/深度学习 人工智能 安全
四年、投入20%计算资源,OpenAI成立专门团队构建解决对齐问题的超强AI
四年、投入20%计算资源,OpenAI成立专门团队构建解决对齐问题的超强AI
315 0
|
11月前
|
机器学习/深度学习 人工智能 算法
NeurIPS 2024:自我纠错如何使OpenAI o1推理能力大大加强?北大、MIT团队给出理论解释
在人工智能领域,大型语言模型(LLMs)的自我纠错能力正成为研究热点。北京大学和麻省理工学院的研究团队在NeurIPS 2024上发表的研究,通过基于上下文学习的理论分析,揭示了Transformer模型中关键设计在自我纠错中的作用,并提出了“Checking as Context”策略,应用于缓解社会偏见和防御LLM越狱攻击,显著提升了模型性能。然而,研究主要基于简化设置和合成数据集,存在局限性。
265 26
|
API
OpenAI用不了?丝滑迁移通义API!
OpenAI用不了?丝滑迁移通义API!
210 1
|
存储 人工智能 API
[译][AI OpenAI-doc] 迁移指南 Beta
我们已经改变了助手 API 在 beta 的 v1 版本和 v2 版本之间工具和文件的工作方式。今天,通过 API,两个 beta 版本仍然可以访问,但我们建议尽快迁移到我们 API 的最新版本。我们将在 2024 年底之前废弃 beta 的 v1 版本。
[译][AI OpenAI-doc] 迁移指南 Beta
|
SQL 人工智能 API
openai停止中国的api服务,但是性能相当的阿里云免费提供迁移
OpenAI暂停中国API服务,阿里云百炼响应迅速,提供免费tokens(2200万)与迁移服务给受影响开发者。Qwen2-72B与GPT-4同列全球第四(HELM MMLU榜)。Qwen-plus调用成本仅GPT-4的1/50。阿里云百炼以开放性著称,兼容LlamaIndex等,支持多种数据源及自定义组件,加速AI应用集成。官网有丰富资源,助力快速上手大模型开发。
588 0
|
人工智能 弹性计算 JSON
OpenAI首届开发者大会精彩解读,GPT4再升级
美国时间11月6日,OpenAI的CEO山姆·奥特曼(Sam Altman)在旧金山举办了首届开发者大会,在大会上OpenAI正式推出了GPT-4 Turbo以及ChatGPT的一系列升级内容。
|
机器学习/深度学习 人工智能 供应链
OpenAI再建顶级团队,重金招聘核心岗成员,阻止超级AI的威胁!
OpenAI再建顶级团队,重金招聘核心岗成员,阻止超级AI的威胁!
230 0
|
机器学习/深度学习 人工智能 机器人
【攻克Dota2】OpenAI自学习多智能体5v5团队战击败人类玩家
刚刚,OpenAI 宣布了一个大新闻——他们的一个由5个神经网络组成的OpenAI Five,已经开始击败Dota 2的业余玩家队伍。
1761 0
|
机器学习/深度学习 人工智能 安全
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。