专栏首页新智元深度强化学习试金石:DeepMind和OpenAI攻克蒙特祖玛复仇的真正意义

深度强化学习试金石:DeepMind和OpenAI攻克蒙特祖玛复仇的真正意义


新智元报道

来源:medium 作者:Arthur Juliani

编译:肖琴

【新智元导读】《蒙特祖玛的复仇》是一个出了名困难的游戏,是强化学习的一大挑战。本文作者长期从事深度强化学习研究,他认为DeepMind和OpenAI攻克蒙特祖玛的复仇并没有看上去意义那么重大,深度强化学习的长期目标是让智能体具备先验知识,可以从零开始玩游戏。

最近,DeepMind和OpenAI都宣布他们开发了可以学习完成Atari 2600游戏《蒙特祖玛的复仇》第一关的智能体。他们这些宣称很重要,因为《蒙特祖玛的复仇》这个游戏对于AI研究来说很重要。与街机学习环境(Arcade Learning Environment,ALE)里的绝大多数游戏不同,大多数游戏现在很容易被利用深度学习的agent解决掉,达到超越人类水平的表现。但《蒙特祖玛的复仇》一直没有被深度强化学习方法解决,而且被一些人认为在未来的几年里都无法解决。

蒙特祖玛的复仇的第一个房间

蒙特祖玛的复仇与ALE中其他游戏的区别在于,它的奖励(rewards)相对少。这意味着agent只在长时间完成特定的一系列动作之后才会收到奖励信号。在蒙特祖玛的复仇的第一个房间里(见上图1),这意味着agent要从梯子上下来,用绳子跳过一个空地,从另一个梯子下来,跳过一个会移动的敌人,最后还要爬上另一个梯子。所有这些只是为了在第一个房间里拿到第一把钥匙!

在游戏的第一关,有23个这样的房间,agent要在这些房间里拿到所有钥匙,才能完成这个关卡(见图2)。更复杂的是,游戏中导致失败的条件也相当严格,agent会由于很多可能的事件导致死亡,其中最累人的是从高的地方坠落。不熟悉这个游戏的人可以试着玩一下,看看你要花多长时间才能通过第一个房间,更不用说通过第一个关卡了。这个游戏有在线版本:

https://www.retrogames.cz/play_124-atari2600.php?language=EN

蒙特祖玛的复仇第一关

由于难度太高,《蒙特祖玛的复仇》游戏被视为Deep RL方法的一大挑战。事实上,这款游戏激发了一些更有趣的方法的开发,这些方法可以对传统的Deep RL算法进行增强或重构,利用新的方法进行分层控制、探索和体验回放。因此,当DeepMind和OpenAI各自声称已经开发出能够如此出色地玩这个游戏的算法时,就成了大新闻(至少在有些领域是如此)。

DeepMind和OpenAI在这个游戏到底达到了多厉害的水平呢?是这样先前的技术最高水平是2600分(DeepMind的FuN模型),而新方法可以达到数万分。从工程和理论的角度来看,所有这三种方法都得到了令人印象深刻的结果,所有方法都需要学习。

但是,用深度强化学习来解决蒙特祖玛的复仇的说法并不像它们看起来的那样。在这三种情况下(DeepMind的两篇论文和OpenAI的一篇博客文章),使用人类专家演示都是他们的算法的一个组成部分,这从根本上改变了学习问题的本质。

在这篇文章中,我想讨论的是,这些方法是为了解决蒙特祖玛的复仇游戏的第一个关卡,以及为什么在游戏环境以及Deep RL的长期目标中,这些方法并没有看上去意义重大。最后,我将简要地讨论一下这个出了名困难的游戏中真正重大的结果是什么,这将为这个领域指明前进的方向。

DeepMind的结果:从YouTube学习和Q-Learning

从YouTube学习

DeepMind在5月份发布了一篇引人注目的论文“通过观看YouTube来玩困难的探索游戏”(Playing hard exploration games by watching YouTube),里面提出了我们今天介绍的解决蒙特祖玛的复仇的三种方法中最有趣的一种。正如题目所示,研究小组设计了一种方法,可以使用专业玩家通关游戏第一关的视频来辅助学习过程。

“从视频学习”这个问题本身就是一个有趣的挑战,完全超出了游戏本身的挑战。正如作者所指出的,在YouTube上发现的视频包含了各种各样的artifacts,它们可以阻止在视频中发生的事情与在ALE中玩游戏的agent可能观察到的事情之间进行映射。为了解决这一“差距”,他们创建了一种方法,能够将对游戏状态(视觉的和听觉的)的观察结果嵌入到一个共同的嵌入空间中。

不同的演示视频和模拟器图像的比较

然后,利用这个嵌入空间为学习智能体提供奖励。agent不再只接受原始游戏提供的稀疏奖励,而是还能获得中间奖励,该中间奖励对应于沿着专家玩家提供的路径到达检查点。通过这种方式,agent可以获得更强的学习信号,最终以41000的分数通过了游戏的第一关。

Q-Learning

大约在YouTube论文发表的同时,DeepMind分享了另一组实验的结果,这次的论文标题不那么引人注目:“Observe and Look Further: Achieving Consistent Performance on Atari”。

在论文中,他们提出一系列有趣的算法改进Deep Q-learning,提高算法的稳定性和能力。第一个是在Q-update中增加折扣因子(discount factor),这样就可以学习更长期的时间依赖性,而不需要考虑高折扣因子的典型缺点。第二种方法是使Deep Q-learning能够解释不同数量级的奖励信号,从而使算法能够解决最优策略涉及学习这些不同奖励的任务。

除了这两项改进之外,他们还建议使用人类演示(human demonstrations)作为增强探索过程的一种手段,自动向网络提供专业玩家会遵循的状态空间轨迹的信息。结合这三种改进,作者最终得到一个能够以38000分的成绩完成蒙特祖玛的复仇第一关的agent。值得注意的是,只使用前两项改进(没有人类演示)不足以在游戏中获得瞩目的表现,得分只有2000多分。

OpenAI的结果:近端策略优化

训练期间使用restart

在DeepMind的结果发表几周后,OpenAI发布了一篇博客文章,描述了一种也可以训练智能体完成蒙特祖玛的复仇第一关的方法。该方法也依赖于人类的演示,但他们的方法与DeepMind的方法稍有不同。

在OpenAI的方法中,人类演示不是作为奖励或学习信号的一部分,而是作为智能体重新启动(restart)的一种手段。在游戏中给定人类专家的移动轨迹,agent在游戏接近尾声时启动,然后在每次重新启动的过程中缓慢地往回移动轨迹。这样做的好处是,仅将agent暴露给游戏中人类玩家已经探索过的部分,并随着agent本身变得更强而扩大范围。因为使用了默认的近端策略优化(PPO算法),这种方法对实际学习算法没有任何改变。只要在“正确”的位置启动agent,就足以确保它找到正确的解决方案,最终,该方法获得了历史最高的74500分。

模仿学习的局限性

上述所有方法都有一个共同点,就是它们都使用了一组人类专家的演示。第一种方法利用演示来学习奖励信号,第二种方法利用演示来学习更准确的Q值,第三种方法利用演示来更智能地重新启动agent。在这三种情况下,演示对学习过程都至关重要。一般来说,使用演示是为agent提供关于任务的有意义的知识的好方法。实际上,这就是我们人类能够学习无数任务的方法。人类从演示中学习的能力的关键是,我们能够对单个演示进行抽象和归纳,并在新的情况中利用。就《蒙特祖玛的复仇》这个游戏而言,与其开发一种通用的游戏解决方案(如DeepMind的两篇论文所指出的那样),真正被开发出来的是一种利用游戏的关键弱点作为实验平台的聪明方法:游戏的确定性(determinism)。

不管是人类还是AI智能体,每次玩《蒙特祖玛的复仇》时,都会看到很多完全相同的房间,每个房间都有完全相同的障碍和谜题。因此,对每个房间里的动作进行简单的记忆就足以让你获得高分,并且能够通过这一关。虽然如果智能体被迫从头开始学习不一定是明显的缺陷,但当这种情况加入了专家演示时,就变成了一个缺陷。这三种解决方案都利用了游戏的确定性,使智能体能够更轻松地学习解决方案的路径。最终它学到的不是如何玩困难的游戏,而是如何执行预先确定的一套动作,以完成特定的游戏。

OpenAI的博客文章简要地提到了确定性的问题,但它是在Atari 模拟器本身的层面,而不是在特定的游戏层面。他们的解决方案是使用一个随机的跳帧控制(frame-skip)来阻止agent记住轨迹。虽然这阻止了agent记忆一系列的动作,但它并不阻止通过状态空间来记忆一般轨迹。

在所有这些情况下,《蒙特祖玛的复仇》这个游戏不再是稀疏奖励问题的一个很难解决的问题,而是变成了通过固定的状态空间学习轨迹一个更容易的问题。这是令人遗憾的,因为在最初的构想中,这个游戏仍然可能为深度强化学习的研究者提供更具吸引力的挑战。

解决蒙特祖玛的复仇——艰难的道路

几年来,我一直密切关注着蒙特祖玛的复仇的结果,因为我把它们看作是一种试金石,用来检验深度强化学习是否开始显示出更一般的推理和学习能力的迹象。许多结果表明,给定足够的计算能力,深度强化学习,甚至随机搜索都能解决简单的优化问题。然而,许多研究人员对人类水平的智能感兴趣,而这不仅是简单的优化。它涉及在多个抽象层次上学习和推理概念,包括将从一个问题空间学到的概念知识以一种可适应的方式推广到许多问题空间。

当你把蒙特祖玛的复仇的第一个房间呈现给任何人,并问他们需要做什么时,他们很快就会开始向你描述一系列的行动和观察,这表明人类对游戏可能的动态有复杂的理解。最明显的表现他们会认识到钥匙是理想的物体,骷髅头是需要避免的东西,梯子是有活动能力的东西。然后钥匙暗示打开锁着的门的能力,突然出现复杂的多步骤计划以及如何完成关卡的方式。这种推理和计划不仅适用于游戏的某个特定关卡,还适用于我们所遇到的任何类似的关卡或游戏。这些技能对于人类智能而言至关重要,而且对于那些试图将深度强化学习推广到一套简单的优化算法之外的人来说也很感兴趣。然而,在确定性环境中使用人类演示完全绕过了对这些技能的需要。

如果没有用来解释视觉场景的先验知识,像《蒙特祖玛的复仇》这类游戏看起来可能是这样的

当然,这些技能也是最难以用算法形式表达的,尤其是它们的人类表现形式尚没有被完全理解。特别是在概念学习的情况下,通常需要把外部的一般知识引入到新的问题上。正如伯克利的一个研究团队所指出的那样,如果我们没有先验知识(无论是与生俱来来说后天学习的),许多我们认为理所当然的视频游戏会变得更加复杂。

然后问题就变成了,AI智能体如何才能自然地学习像《蒙特祖玛的复仇》这样的游戏所需要的先验知识。此外,这些习得的先验知识如何不仅仅被用于玩一个特定游戏的特定关卡,而是可以玩任何类似游戏的任何关卡。表示学习和概念基础方面正在进行一些有趣的工作,我认为这对解决这些问题是至关重要的。还有一些工作正在开发更多的随机环境,以更好地测试智能体的泛化能力,其中最引人注目的是GVGAI竞赛(通用视频游戏AI竞赛)。

我热切地期待有一天我们可以毫无疑问地说,AI智能体可以学会从头开始玩《蒙特祖玛的复仇》。当那一天到来时,会有很多令人兴奋的事情。

参考链接:

【1】Playing hard exploration games by watching YouTube

https://arxiv.org/abs/1805.11592

【2】Observe and Look Further: Achieving Consistent Performance on Atari

https://arxiv.org/abs/1805.11593

【3】Learning Montezuma’s Revenge from a Single Demonstration

https://blog.openai.com/learning-montezumas-revenge-from-a-single-demonstration/

本文分享自微信公众号 - 新智元(AI_era)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【免费】5本机器学习电子书推荐(附简介与下载)

    【新智元导读】 这五本精心挑选的电子书,可以帮助你更全面地了解机器学习,掌握进入这个行业必备的技能。 需要注意的是,虽然有关机器学习的免费电子书成千上万,而且其...

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

    【新智元导读】《蒙特祖玛的复仇》被公认为是Atari中最难的游戏之一,是AI的一大挑战。今天,OpenAI宣布他们的AI仅通过一次人类演示,就在蒙特祖玛的复仇游...

    新智元
  • 普林斯顿大学教授:用理论的力量横扫深度学习(77PPT)

    【新智元导读】目前深度学习的应用较为广泛,尤其是各种开源库的使用,导致很多从业人员只注重应用的开发,却往往忽略了对理论的深究与理解。普林斯顿大学教授Sanjee...

    新智元
  • 学习笔记:神经网络学习算法

    有监督学习也称为有导师学习,其特点是需要依赖教师信号进行权值调整,如下图所示。学习时,需要提供训练集。训练集由输入(也称为特征)和输出(也称为目标)构成,也就是...

    Lauren的FPGA
  • 3. 预备知识和符号约定

    如果你已经学习了机器学习课程(如我在Coursera上的Machine Learning MOOC),或者你拥有应用监督式学习的经验,你应该可以理解下面的内容。...

    YingJoy_
  • [干货] 一个数据科学家的新年计划

    大数据文摘
  • 预备知识和符号约定

    YingJoy_
  • 【推荐】一文了解强化学习

    摘要 转自:极客头条 强化学习非常重要,原因不只在于它可以用来玩游戏,更在于其在制造业、库存、电商、广告、推荐、金融、医疗等与我们生活息息相关的领域也有很好的...

    顶级程序员
  • Medium网友分享了一篇帖子 介绍了他的深度学习心路历程

    Medium网友Favio Vázquez分享了他是如何学习深度学习并利用它来解决数据科学问题的。这是一个非正式的帖子,但内容很有趣。以下是他分享的内容。 ? ...

    AiTechYun
  • 重磅!!|“NLP系列教程01”之自然语言处理概要

    作者出该系列教程的目的是让大家能够掌握深度学习算法在自然语言处理中应用,同时也希望能够加深自己对自然语言处理的理解。

    ShuYini

扫码关注云+社区

领取腾讯云代金券