这台对世界好奇的机器,竟然还玩起了超级马里奥?

摘要

十年前我们就能让机器人完成那些可以被完美建模的任务了,那些机器人完美地运转在工厂的车间里,完成一个特定的操作。但真正的人工智能需要在一个无法被建模的情境中,走出去,学会独自探索需要完成什么任务。这就是「好奇心」,是通向强人工智能的必经之路。

编者注:本文转载自机器之能(ID:almosthuman2017),作者:ERIC NYQUIST,来源: WIRED,编译: Nurhachu Null,Rik R,邱陆陆,极客公园已获转载授权。


你也许不记得自己第一次玩超级马里奥兄弟时的感受了,但是让我们试着回想这个 8-bit 的游戏世界闪亮登场:淡蓝色的天空,有纹路的石头地面,一个矮胖的、红色着装的小人静静站在那里。他面朝右边:你将他朝右推动。走几步之后便会有一排砖头在头顶盘旋,上面盘旋着一堆「愤怒的蘑菇」。游戏手柄的另一个按键能够让那个小人儿跳起来,他的四个像素大的拳头指向天空。然后呢?或许是把「向右」和「跳跃」动作结合起来。好了,惊喜不惊喜:他会用自己的头部撞击悬浮在空中的砖块,砖块会像装了弹簧一样迅速向上弯曲并且弹回,把小人儿弹向正在靠近的蘑菇的身上,将其迅速压平。马里奥轻轻地从被征服的蘑菇身上跳开。然后出现一个带有问号的棕色的对话框,似乎在问,「现在呢?」

对于 20 世纪 80 年代长大的人来说,这个场景特别熟悉,但你可以在 Pulkit Agrawal 的 YouTube 频道上看到更年轻的玩家。加利福尼亚大学伯克利分校的计算机科学研究员 Agrawal 正在研究天生的好奇心如何让学习完成一个不熟悉的任务的过程更有效率——就像你第一次玩超级马里奥兄弟一样。重点是,Agrawal 的视频中的新手玩家不是人类,甚至是没有生命的。它就像马里奥一样,仅仅是一个软件。但是这个软件配备了 Agrawal 和他在伯克利人工智能研究实验室(BAIR)的其他同事 Deepak Pathak, Alexei A. Efros 和 Trevor Darrell 一起开发的实验性机器学习算法。这个算法有一个让人惊叹的目标:让机器具有好奇心。


Agrawal 说,「你可以把好奇心想象成是智能体内部自动生成的一种奖励,有了好奇心之后它们可以更进一步的探索这个世界」。这个内部生成的奖励信号在认知心理学中被称为「内在激励」。这种感觉你或许在读我写的游戏描述时有间接的体会——就是一种想要看看视野之外有什么的欲望,或者想要走出你的能力范围,去看一下到底会发生什么——这就是内在激励。
人类也会响应源于外界环境的外在激励。这类例子包括你从工作中获得的薪水、你必须在特定时点完成的需求等。计算机科学家利用一种类似的,被称为「强化学习」的方法来训练他们的算法:软件程序在按照被期望的方式执行任务的时候会得到「分数」,然而在以不被期望的方式执行的时候会受到惩罚。
但是这种胡萝卜加大棒的方法对机器学习而言是有局限性的,并且人工智能研究者开始将内在激励视为能够高效灵活学习的软件智能体的一项重要组成部分,也就是说,它们不太像脆弱的机器,而是更像人类和动物一样。在人工智能中使用内在激励的方法受启发于心理学和神经生物学几——以及那些有数十年历史的原始人工智能研究,现在重新变得有用了起来。(「机器学习领域里无新鲜事。」OpenAI 研究员 Rein Houthooft 如是说。)
这种智能体现在已经可以被训练用于视频游戏中,但是开发「具有好奇心」的人工智能的吸引力超越任何现有工作。伯克利人工智能实验室的联合主管 Darrell 说,「你列举一个你最喜欢的应用领域,我会给出一个例子」。「在家里,我们希望自动化地清理房间、收拾东西。在物流领域,我们希望货物能被自动化地搬运、完成各种操作。我们希望汽车能够在复杂的环境中自动驾驶,我们希望救援机器人能够在建筑里搜救需要帮助的人。在所有这些例子中,我们都在尝试解决这个非常棘手的问题:你如何创造一台能够自己想明白要完成什么的任务机器?」

「打分」问题

强化学习是让 Google 的 AlphaGo 软件得以在围棋中战胜人类玩家的利器。在此之前,围棋作为一款古老的直觉游戏,向来被认为是机器无法企及的。如何在特定的领域成功使用强化学习的细节是很复杂的,但是通用的思想是简单的:给算法或者「智能体」一个奖励函数,一个用数学方法定义的信号来追寻并最大化。然后把它自由地置于一个环境中,可以是任何的虚拟世界或者现实世界。随着智能体在环境中运行,能够增加奖励函数的值的动作会被强化。只要有足够多的重复——如果说计算机在某一件事上百分百胜过人类,那就是重复——智能体就会学会这个动作的模式或者策略,以最大化它的激励函数。理想情况下,这些策略会导致智能体达到期望的最终状态(例如在围棋游戏中获胜),在这个过程中程序员或者工程师不必在智能体进化的每一步都手动编码。
换句话说,一个奖励函数就是能够让配备了强化学习算法的智能体能够锁定目标的指导系统。目标定义得越是清晰,智能体就运行得越好——这就是为什么目前很多智能体都是在较老的视频游戏上做测试的原因,因为这些游戏都有基于分数的明确奖励制度。(游戏的块状的、二维的图像也是研究者选择它们的理由:因为游戏相对比较容易模仿,研究者可以快速地运行并测试他们的实验。)


加州伯克利的计算机科学家 Pulkit Agrawal

Agrawal 说,「然而现实世界中并没有分数」。计算机科学家希望让他们创造的智能体去探索一个不是预加载了可量化对象的世界。
此外,如果环境没有快速并且有规则地提供显式的激励,那么智能体「就没有一个用来判断它是否做得正确的准则」,Houthooft 说。就像热引导的导弹不能锁定目标一样,「它没有任何自己通过环境引导自己的方法,所以只能乱飞」。
最后,即使是煞费苦心定义的激励函数能够指导智能体表现出不同凡响的智能行为——就像 AlphaGo 打败顶级人类玩家一样——这种激励函数也不可能在未经大量修订的情况下迁移到任何其他情境中。并且,这种修改必须是人工完成的,确切地说这就是机器学习首先应该帮助人类完成的事。
除了像导弹一样能够可靠地命中目标的伪人工智能体之外,我们真正想要从人工智能获得的更像是一种内部引导能力。「你是可以自己给自己创造激励的对吧?」Agrawal 说,「并不存在一个天天指导你做这件事要『加 1』或者『减 1』的神」。

好奇心作为协同引导力

Deepak Pathak 从未尝试过给「好奇心」这么虚无缥缈的概念建模。「『好奇心』一词指的是『引导一个智能体在存在噪声的环境中有效地探索的模型』」。隶属于伯克利 Darrell 的实验室研究员 Pathak 如是说。
但是在 2106 年,Pathak 着迷于强化学习中的稀疏奖励问题。含有强化学习技术的深度学习软件最近在玩分数驱动的雅达利游戏(比如太空入侵者和打砖块)中获得了显著的进步。但是在像超级马里奥兄弟一样的稍微复杂的游戏就超出人工智能的能力范围了。因为在这些复杂的场景需要在时间和空间上朝着一个遥远的目标前进,而且没有一个明确的奖励,更不用说学习并成功地执行游戏中的组合动作(例如在奔跑中同时跳跃)。
Pathak、Agrawal、Darrell 以及 Efros 这群研究员给他们的智能体配备了他们称之为内在好奇模块(ICM),这个模块被设计用来让游戏向前推进而不至于发生混乱。毕竟这个智能体并没有关于如何玩超级马里奥兄弟的先验知识——事实上,它并不像一个新手玩家,更像一个新生的婴儿。

加州大学伯克利分校计算机科学家 Deepak Pathak

事实上,Agrawal 和 Pathak 的灵感来自于 Alison Gopnik 和 Laura Schulz 两人的工作,他们分别是伯克利和麻省理工学院的发展心理学家,其研究表明婴儿和幼儿天生就喜欢与那些最让他们吃惊的对象,而不是那些最适用于完成某种外在目标的对象一起玩耍。「对儿童的这种好奇心的一个『解释』是,他们建立了一个对于已知世界的模型,然后进行实验以了解更多未知的部分,」Agrawal 说。这些「实验」可以是任何能够产生令智能体(在这里指婴儿)感到不寻常或意外的结果的过程。孩子可能刚开始会通过随意摆动四肢而产生新的感觉(这一过程被称为「motor babbling」,牙牙学语),然后发展出更协调的行为,比如咀嚼玩具或敲击一堆积木,来观察会发生什么。
在 Agrawal 和 Pathak 所构建的这个以惊讶感来驱动好奇心的机器学习算法中,人工智能第一次从数学的角度表示出超级马里奥兄弟当前视频帧的样子。然后,它会预测该游戏在随后几个帧的样子,这一技术已经在深度学习系统的现有能力之内了。然而 Pathak 和 Agrawal 的 ICM 走得更远。它可以生产一个由此预测模型的错误率来定义的内在奖励信号。错误率越高,即惊讶程度越大,其内部奖励函数的值就越大。换句话说,如果惊讶感等同于认识到有些事没有按照预期发生——即意识到犯错了——那么 Pathak 和  Agrawal 的系统就会得到惊讶所带来的奖励。
这种内部生成的信号在游戏中将智能体吸引到未被开发的状态:通俗地说,它对自己所未知的东西感到好奇。随着智能体的学习——随着其预测模型的错误率越来越低——来自 ICM 的奖励信号将减少,从而鼓励智能体去探索其它更令人惊讶的情况。「这是一个加快探索过程的办法,」Pathak 说。
这种反馈循环还允许人工智能快速地将自我从几乎一无所知的无知状态中引导出来。刚开始,智能体会对游戏人物所能表现出的任何基本动作产生好奇:按右键会将马里奥往右推,然后停下;连续按右键会将马里奥一直往右推;按上键使他弹到空中,然后又落下;按下键没有效果。这种模拟的「牙牙学语」过程很快就能收敛到一些有用的动作,从而让智能体继续后面的游戏,即使该智能体对这一游戏毫无了解。
例如,由于按下键总是没有任何反应,从而智能体很快学会了完美地预测该动作的效果,这种预测准确度的提升让与下键相关联的由好奇心提供的奖励信号变弱。然而按上键则有各种不可预知的效果:有时马里奥是笔直上升,有时是弧线上升;有时短跳,有时长跳;有时他再也不会从上方下来(比如他碰巧在障碍物上着陆)。所有这些结果在智能体的预测模型中都被记录为错误,从而带来 ICM 的奖励信号,这会使得主体不断地尝试该操作。向右移(几乎总是揭示更多游戏世界)也有类似的好奇吸引效应。继续向前和向右的冲动可以清楚地在 Agrawal 的演示视频里看到:几秒钟内,人工智能控制的马里奥开始像一个多动症儿童那样向右跳,带来更多不可预知的影响(比如撞上一块盘旋的砖,或不小心压扁一只蘑菇),所有这些都会驱动进一步的探索行为。
「通过使用这种好奇心,智能体能够学习去做所有探索世界所需要做的事情,比如跳和杀死敌人,」Agrawal 解释说,「它甚至不会因为掉血而受到惩罚。但它会学习去避免掉血,因为不死就意味着能够最大限度地去探索。它在自我强化,而不是从该游戏中得到强化。」

避免猎奇陷阱

自上世纪 90 年代初起,人工好奇心便是人工智能领域的一个研究课题。好奇心软件化的一个方式在于「猎奇」:智能体被设计去探索其周遭环境的陌生状态。这个宽泛的定义似乎捕捉到了对于好奇感体验的一个直觉性理解,但实际上,它可以使智能体陷入到虽然满足了设定的激励条件却阻止它们进行深入探索的状态。
例如,想象一台不断展示静态画面的电视。这样的东西很快就会吸引一个纯粹寻求新奇事物的智能体的好奇心,因为一系列随机闪烁的视觉噪音是完全无法进行预测的。由于每一种静态模式对于智能体来说都是全新的,因此其内部奖赏功能将确保它永远不会停止关注这个单一、无用的环境特性,并且它会陷入困境。
事实证明,这种毫无意义的新奇在丰富多彩的环境中无处不在,无论虚拟环境还是现实环境。因而人工智能必须学会去应对它,这样才能有真正的价值。例如,一辆配备了寻求新奇的内部奖励功能的自动驾驶汽车可能永远都无法驶出所在街区。「比如你正在行驶,街上有风儿吹着、树叶摇着,」Agrawal 说,「而你没法预测每一片叶子的走向。如果你预测的是像素,那么这些交互将导致你有很高的预测误差,并使你变得非常好奇。我们想要避免这种情况的发生。」
Agrawal 和 Pathak 不得不想出一个办法来让智能体的好奇心保持在一个合适的程度。预测像素——也即使用深度学习和计算机视觉来建立智能体在同一时间与完整空间内的视野——使得潜在干扰的过滤过程变得困难。计算方面的花费也很贵。


伯克利人工智能研究实验室联合主任 Trevor Darrell

因此,伯克利的研究人员对其马里奥玩家智能体进行了设计,将其视觉输入从原始像素转换成一种经过抽象的现实。这种抽象只包含有可能影响智能体(或受智能体影响)的环境特性。从本质上说,如果该智能体不能与某物进行交互,那么它一开始就不会被感知到。
使用这种剥离开来的「特征空间(feature space)」(相比于未经处理的「像素空间(pixel space)」),不仅简化了智能体的学习过程,也巧妙地避开了猎奇陷阱。「例如,智能体无法从建模预测头顶上的云的动态中获得任何好处。」Darrell 解释说,「所以当它好奇时,它不会去关注云。先前版本的好奇心,至少有一些是这样,只考虑了像素级别的预测。这没什么问题,直到你突然经历一件非常不可预测但又非常无聊的事情。」

人工好奇心的局限性

Darrell 承认这种好奇心模型并不完美。他说:「该系统会学习哪些事物是相关的,但不能保证总能得到正确结果。」事实上,在达到系统自身的最佳水准(也即局部最优)之前,这个智能体只能玩到超级马里奥兄弟第一关的一半。「该智能体需要弥合的能力缺口还很大,即以极其特殊的顺序来执行 15 或 16 个连续的动作,」Agrawal 说道,「因为它每次都跳不过那道沟,所以它每次都会死在那里。然后它学会了完美地预测该结果,然后就不会对后面的游戏产生任何好奇。」(在为智能体的辩护时,Agrawal 指出,这个缺陷是因为人工智能只能在离散的时间间隔内按压控制方向的模拟按钮,这使得某些动作无法被实现。)
最终,人工好奇心的问题在于,即使是在内在好奇研究领域浸淫多年的研究人员,也仍然不能准确定义出什么是好奇心。明尼苏达大学计算的感知与行为实验室主任兼神经科学家 Paul Schrater 说,伯克利的模型是在「让一个智能体在短期内自动学习一个新环境这一方面最聪明的办法」,但他认为这与「好奇心的直觉性概念」关系不大,却与肌肉的学习与控制联系得更为紧密。他说:「它的控制对象是在认知层面以下,更多在身体的行为细节方面。」
对 Schrater 来说,伯克利团队的新思路是将其内在的好奇心模块附着在智能体上,该智能体将超级马里奥兄弟当做一个特征空间而不是像素帧序列。他认为这种方法大致可以近似于人类大脑「提取与特定任务相关的视觉特征」的方式。
好奇心还要求智能体至少能一定程度上在虚拟的或者物理的环境中具象化以产生实际意义,法国国家信息与自动化研究所(Inria)研究总监 Pierre Yves Oudeyer 说。Inria 位于法国波尔多市。Oudeyer 十多年来一直在创建好奇心的计算模型。他指出,世界如此之大而丰富,处处蕴藏惊喜。但这还不够。「如果你有一个无形智能体,利用好奇心来探索一个巨大的特征空间,那么其行为看起来会像随机探索,因为它没有对其行动的任何约束,」Oudeyer 说道,「例如,对身体的约束可以简化世界,可以帮助智能体集中注意力并指导其探索行为。」
但并非所有有形智能体都需要内在激励,正如工业机器人的历史所昭示的那样。对于指令较为简单的任务,比如让机器人沿着地面黄线在各个地点间运送货物,为这个过程添加好奇心就属于机器学习的矫枉过正。
「你可以给智能体一个完美的奖励功能——也就是它需要事先知道的一切,」Darrell 解释说,「10 年前我们就能解决这个问题。但是如果你把机器人放在一个无法预先建模的情境中,比如灾难搜索与救援,那么它就必须走出去,学习独自探索。这不仅仅是映射——它必须在环境中学习自身行为的影响。你肯定想让一个智能体在学习如何完成工作时产生好奇心。」
人工智能往往被通俗地定义为「任何计算机还做不到的事情」。如果内在激励和人工好奇心能让智能体找出人类所未知的能够实现自动化的任务,那么「我很确定这就是我们想要让任何人工智能都具备的能力,」OpenAI 研究员 Houthooft 说,「困难在于如何调试好奇心。」虽然 Agrawal 和 Pathak 的马里奥玩家智能体可能无法独自通过第一关,但这可能是调试(人工或者天然的)好奇心的方式:一步一个脚印,循序渐进。

打开极客公园App阅读更多内容

最新文章

极客公园

用极客视角,追踪你最不可错过的科技圈。

极客之选

新鲜、有趣的硬件产品,第一时间为你呈现。

顶楼

关注前沿科技,发表最具科技的商业洞见。