DeepMind都拿不下的游戏,刚刚被OpenAI玩出历史最高分

2024-04-12 19:58

本文主要是介绍DeepMind都拿不下的游戏,刚刚被OpenAI玩出历史最高分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=gif

640?wx_fmt=gif




  新智元报道  

来源:OpenAI

编译:肖琴,金磊


【导读】《蒙特祖玛的复仇》被公认为是Atari中最难的游戏之一,是AI的一大挑战。今天,OpenAI宣布他们的AI仅通过一次人类演示,就在蒙特祖玛的复仇游戏中获得了74500分的成绩,比以往公布的任何结果都要好。而且,这次的成果使用了PPO算法,这正是不久前OpenAI在Dota2 5v5中战胜人类的AI的算法。


《蒙特祖玛的复仇》( Montezuma’s Revenge)被认为是Atari中最难的几个游戏之一。2015年,DeepMind提出著名的DQN算法,使用强化学习系统来学习如何玩49个Atari游戏,该系统在大多数游戏中都能达到人类水平的表现,但在蒙特祖玛的复仇游戏中几乎没有任何进展。


640?wx_fmt=jpeg

DQN在蒙特祖玛的复仇游戏中几乎没有任何进展


在“蒙特祖玛的复仇”游戏中,目标是找到埋在充满危险机关的金字塔里的宝藏。要达到目标,玩家必须达成许多个次级的小目标,例如找到打开门的钥匙。这个游戏的反馈也不像“Breakout”之类的游戏那么即时,例如,在一个地方找到的钥匙可能能打开的是另一个地方的门。最终找到宝藏的奖励是之前的数千次动作的结果。这意味着网络很难将原因和结果联系起来。


这次,OpenAI的研究团队训练了一个智能体,仅通过一次人类demo,就在蒙特祖玛的复仇游戏中获得了74500分的成绩,比以往公布的任何结果都要好


强化学习算法PPO


研究人员说,这一算法很简单:智能体从demo中仔细选择状态,然后从这些状态开始玩一系列游戏,使用PPO算法(Proximal Policy Optimization)来优化游戏得分并从中学习。PPO是一个强化学习算法,同样也用在打Dota2的 OpenAI Five中。




如视频所示,我们的智能体在玩蒙特祖玛的复仇。在大约12分钟的游戏中,智能体的最终得分是74500分(视频为双倍速)。虽然智能体的大部分游戏操作模仿了我们的demo,但通过在沿途捡到更多钻石,智能体的得分最终超过了demo游戏的71500分。此外,智能体还学会了利用模拟器中的一个缺陷,使钥匙在视频的4分25秒处再次出现,而这在demo中是不存在的。


探索与学习


为了在强化学习问题上取得成功,AI需要解决两个问题:

  • 找到一系列能够带来积极奖励的行动。这是探索问题(exploration problem)

  • 记住要采取的行动的顺序,并推广到相关但略有不同的情况。这是学习问题(learning problem)


在蒙特祖玛的复仇游戏中,探索问题大部分可以通过重置demo里的状态来绕过。通过从demo里的状态开始,与从每章游戏的开头开始相比,智能体需要执行的探索更少。这样做可以让我们分开探索过程和学习过程。我们的研究结果表明,探索是蒙特祖玛的复仇以及类似的雅达利游戏(例如PrivateEye)中最难解决的问题。


为什么探索很困难?


Model-free的RL方法,例如策略梯度和 Q-learning,通过随机采取行动进行探索。如果随机行为偶然导致奖励,它们就会被强化,并且智能体未来会更倾向于采取这些有利的行为。如果奖励足够密集,随机行动能够导致合理概率的奖励,那么这种方法会很有效。但是,很多更复杂的游戏需要很长的特定动作的序列才能获取奖励,这样的序列随机发生的可能性非常低。




一个智能体采用随机行动来玩蒙特祖玛的复仇游戏。如上面的视频所示,随机的探索不太可能导致智能体在蒙特祖玛的复仇游戏中得到积极奖励。


考虑这样一个游戏,它需要N个特定动作的精确序列才能体验到第一个奖励。如果其中每个动作被采取的概率都是固定的,那么一个随机智能体要想获得第一个奖励,游戏时间需要扩展到exp(N)。


在蒙特祖玛的复仇游戏中,得到第一个钥匙的概率可以分解为:

p(get key) = p(get down ladder 1) * p(get down rope) * p(get down ladder 2) * p(jump over skull) * p(get up ladder 3).


通过将N个概率相乘,我们得到的结果概率p(get key)比任何单个输入的概率都要小。随着问题变得更具挑战性,以指数级缩小的算法很快就会崩溃,这限制了当前强化学习技术所能解决的任务。


通过demo简化探索问题


尽管 model-free 的RL方法很难找到长序列的动作,但对于较短的动作序列,它们可以表现很好。我们的主要观点是,可以通过将任务分解为需要短动作序列的子任务的curriculum来简化探索任务;我们通过从demo状态开始每个RL episode来构建这个curriculum。


我们的方法通过让每个RL episode从先前录制的demo中的一个状态开始。在训练初期,智能体在demo结束时开始一个episode。一旦智能体能够击败demo或至少与demo的分数持平,我们就慢慢地将起点往回移动。这个过程一直持续,直到智能体的起点回到游戏开始时,完全不使用demo程序,这时我们得到一个RL训练的智能体在整个游戏中击败人类专家或与人类专家的表现持平。


通过将起始状态从demo的结尾慢慢移动到起点,我们确保智能体在每个点上面临的探索问题都很容易解决,因为它已经学会解决大部分剩余的游戏。我们可以将这种解决RL问题的方法解释为一种动态规划( dynamic programming)的形式。如果需要一个特定的N个动作的序列达到一个奖励,现在这个序列可以在一个线性的时间里学习,而非指数的时间。


从demo状态的重置(resetting)开始episodes的想法以前也有提出过,但是没有提出构建一个将起始状态逐步从demo的结尾回到开头的curriculum。当与模仿学习(imitation learning)相结合时,一些研究人员报告说这种方法是有益的。对于我们的用例,我们发现这样的curriculum对于从demo中获得益处是至关重要的。


640?wx_fmt=png


在蒙特祖玛的复仇游戏中,利用强化学习和从demo的状态开始每一个episode,我们的智能体学习到达了第一把钥匙的位置。当智能体开始玩游戏时,我们将它放在钥匙的正前方,要求它纸条一次就能成功找到钥匙。在它学会这样做之后,我们慢慢地将起点往回移动。然后,智能体发现自己处于通往钥匙的梯子的中间。一旦它学会了在哪个地方爬上梯子,我们就再退回一步,让它从需要调过头骨的地方开始。当它学会后,我们再让它从绳子的位置开始,一直退回到从房间的地板开始,等等。最终,智能体回到了游戏的初始状态,并且学会了自己到达钥匙的位置。


与基于模拟的方法(imitation-based)的比较


近期,DeepMind通过模拟学习(imitation learning)的方法展示了学习《蒙特祖玛的复仇》的智能体。利用通过观看YouTube视频的方法[1]训练一个智能体,让它能够达到YouTube视频中《蒙特祖玛的复仇》里的状态;DeepMind最新的成果[2]则采用在与demo高度相似的操作中结合较复杂的Q-learning。这些方法的优点是,它们不像我们的方法一样需要控制很多的环境因素:除了游戏的起始状态,它们不需要重置环境的状态,他们不认为可以获得在demo中遇到的所有游戏状态。我们的方法所优化的并不是我们最关心的分数,而是让智能体模拟demo;因此,我们的方法将不会跟可能存在的次优demo过拟合,并且可以在多人游戏中提供便利:在这样的场景中,我们希望可以优化性能来对抗其它对手,而不仅仅是demo中的对手。


接下来的挑战


虽然我们的智能体一步一步的学习要比从头学起要简单得多,但这并非是没有价值的。我们RL智能体所面临的一个挑战是当它从demo一个较早的状态开始时通常无法达到确切的状态。这是因为智能体玩游戏的框架与我们用于记录demo的框架是不同的,但这也是由于操作的随机性,使得它不可能精确地再现任何操作的特定序列。因此,智能体将需要在非常相似但不相同的状态之间进行归纳。我们发现这对《蒙特祖玛的复仇》非常有效,但对于我们尝试过的其它Atari游戏就没有那么的有效(例如《地心引力》(Gravitar)和《陷阱》(Pitfall))。其中一个可能的原因是,后者这些游戏需要解决更为困难的视觉问题:我们发现这些游戏在下采样(down-sampled)的屏幕上很难操作,而当我们使用更大、更深入的神经网络时,会出现一些改进。


我们遇到的另外一个挑战是像策略梯度(policy gradients)这样的标准RL算法需要再探索和利用之间进行仔细的衡量:如果智能体的操作过于随机,当游戏从头开始时,它会犯过多的错误以至于无法达到最终所要求的分数;如果智能体的操作太具有确定性,那么智能体由于不再探索其它的行为而停止学习。因此,要实现《蒙特祖玛复仇》报告中的结果,需要仔细调整PPO中使用的熵值系数,并结合其它超参数(如学习率和scaling of rewards)。对于像《地心引力》和《陷阱》我们无法找到能够完整训练的超参数。算法还展示了随着运行过程中产生的大量变化,有些过程并没有达到《蒙特祖玛的复仇》的要求。我们希望未来RL的进展将产生对随机噪声和超参数选择更健壮的算法。


最后,就像强化学习中经常出现的情况一样,我们发现我们训练过的神经网络策略还没有在人类玩家的层面推广。测试泛化能力的一种方法是通过使动作具有粘性并在每一帧中以0.25的概率重复最后一个动作来扰乱策略。使用这种评估方法,我们的训练策略在《蒙特祖玛的复仇》中平均得分达到了10000分。或者,我们可以采用概率为0.01的随机操作(重复4帧分割步骤),这将导致我们的策略平均得分为8400。有趣的是,我们发现这样的干扰也显著地降低了人类玩家在《蒙特祖玛的复仇》中的得分。就我们所知,我们才用干扰策略所产生的结果比所有已有的结果都要好。用0到30个随机停止操作指令(no-op)来干扰学习策略不会让结果产生明显的变化,而且大多数的结果都达到了demo中获得的最终分数。


在过去的研究中,大多数的关注点都集中在了模仿上,这就造成了与demo中完全相同的行为,我们已经证明了通过直接优化返回值(returns)可以达到较好的结果。这就允许智能体与demo中的行为有一定的偏差,使智能体能够找到人类演示者没有考虑的,且更好的解决方案。通过在子任务上进行训练(通过重新设定demo状态获得),我们使用这种技术解决了一个需要长序列操作的困难的强化学习问题。


[1]Yusuf Aytar, Tobias Pfaff, etc. Playing hard exploration games by watching YouTube.

[2]Tobias Pohlen, Bilal Piot, etc. Observe and Look Further: Achieving Consistent Performance on Atari.

这篇关于DeepMind都拿不下的游戏,刚刚被OpenAI玩出历史最高分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/898093

相关文章

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

火柴游戏java版

代码 /*** 火柴游戏* <p>* <li>有24根火柴</li>* <li>组成 A + B = C 等式</li>* <li>总共有多少种适合方式?</li>* <br>* <h>分析:</h>* <li>除去"+"、"="四根,最多可用火柴根数20根。</li>* <li>全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断</li>** @

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

从希腊神话到好莱坞大片,人工智能的七大历史时期值得铭记

本文选自historyextra,机器之心编译出品,参与成员:Angulia、小樱、柒柒、孟婷 你可能听过「技术奇点」,即本世纪某个阶段将出现超级智能,那时,技术将会以人类难以想象的速度飞速发展。同样,黑洞也是一个奇点,在其上任何物理定律都不适用;因此,技术奇点也是超越未来理解范围的一点。 然而,在我们到达那个奇点之前(假设我们能到达),还存在另一个极大的不连续问题,我将它称之

第四次北漂----挣个独立游戏的素材钱

第四次北漂,在智联招聘上,有个小公司主动和我联系。面试了下,决定入职了,osg/osgearth的。月薪两万一。 大跌眼镜的是,我入职后,第一天的工作内容就是接手他的工作,三天后他就离职了。 我之所以考虑入职,是因为 1,该公司有恒歌科技的freex平台源码,可以学学,对以前不懂的解解惑。 2,挣点素材钱,看看张亮002的视频,他用了6000多,在虚幻商城买的吸血鬼游戏相关的素材,可以玩两年。我

nyoj 1038 纸牌游戏

poj 的一道改编题,说是翻译题更恰当,因为只是小幅度改动。 一道模拟题,代码掌控能力比较好,思维逻辑清晰的话就能AC。 代码如下: #include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct node{char c[5];int rk;char da[5];int nu

如果出一个名叫白神话悟空的游戏

最近黑神话由于与原著不符引起了原著派的争议。 所以我在摸鱼的时候想到如果游科或者某个别的公司“痛改前非”不夹带私货完全复刻吴承恩百回版剧情制作一个“重走西游路”的游戏,会有一个什么样的销量?(设定为原著派已经多方渠道认证,此游戏的确没有夹带私货,绝大部分复刻了原著剧情) 游戏玩法我想了几类 超长线性有岔路蜈蚣形状地图,蜈蚣的腿部是探索区域和支线,重走西游路线,开篇就是开始取经前唐玄宗御弟cg