从超级玛丽说起,谈谈如何为机器赋予好奇心

简介: 如何让机器付有好奇心?加州大学伯克利分校研究团队给出了答案。

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud

请试着回忆一下第一次玩超级玛丽游戏的体验。蓝天、白云、砖头砌成的道路,萌萌的马里奥小人穿着蓝色衣服,戴着红色帽子,一路向前。你控制着马里奥的前进方向,左、右、蹲、跳。

这个场景对于80后来说应该都不陌生,但是超级玛丽的粉丝可不止80后。加州大学伯克利分校的计算机科学研究员Agrawal现在正在研究好奇心如何让学习陌生的任务(例如打超级玛丽)变得更有效。Agrawal将他的游戏视频发布到了YouTube上,有趣的是,视频玩家不是人类,而是计算机软件。此款软件搭载着成熟的机器学习算法,该算法由Agrawal和他在伯克利人工智能研究实验室的伙伴一起开发。其目的听起来很特别:为机器学习赋予好奇心。

Agrawal说道:“你可以把好奇心理解成一种内在驱动力。”这种驱动力又叫做“内在动机”,即做一件事出于好奇或者兴趣的目的。例如,你打超级玛丽是因为好奇马里奥下一步会去哪儿;你学习计算机是因为感兴趣。

同时,人类行为也被“外在动机”驱动着,这种动机来源于环境。例如,你努力工作的外在动机是为了升职加薪;你学习英语的外在动机是为了找到好工作。计算机科学家利用一种类似的方法来训练算法,此方法叫做增强学习:当软件做对了任务,便会“得分”;做错,则会得到惩罚。

但是这种恩威并施的方法有一定的局限性,人工智能研究者开始发现内在动机对于机器学习来说非常重要,它能让机器更有效灵活地学习,让计算机更像人类和动物,而不是机器。这种方法的灵感来源于心理学和神经生物学。

现在,这种机制已经在电子游戏中得到了训练,但是要让AI变得有好奇心仍然面临很多困难。我们总想着让智能机器服务于自己,让扫地机器人整理物品做清洁,让汽车自动导航识别路况,让救援机器人迅速识别伤者并救出。在所有这些案例中,我们一直在尝试解决一个很难的问题:如何制造出一台能够自己发现任务的机器?

得分”机制的问题

AlphaGo能击败李世石,很重要的一个原因是增强学习。要解释清楚增强学习的细节比较困难,但是其道理很简单:给予一种学习算法、机制(agent)、能用数学来定义的信号或者奖励功能。把它放到环境中,当agent在环境中运行,增加回报价值的动作便得到加强。随着这种动作不断重复,agent便慢慢学会了如何获得最大回报。理想地说,这种机制将会让agent在无需程序员或者工程师手动编程的前提下,达到某种理想的状态,比如在围棋比赛中击败李世石。

换句话说,这种回报机制能指导agent锁定目标。目标描述得越清楚,agent运作得越良好。这就是为什么它们通常都用旧视频游戏来测试,因为视频游戏基本都是基于这种可以得分的简单外部奖励机制。

但是,Agrawal表示:“在真实的世界中,得分并不存在。”现在,计算机科学家们想让它们探索一种没有可量化目标的环境。

另外,如果环境没有及时给出外部回报,agent便不清楚自己的行为是对是错。这样,agent会感到迷茫。

除此之外,及时这种外部奖励功能能让agent展现出惊人的能力(比如击败李世石),它并不能在没有外部转换的情况下轻易转换成任何一种context。即使可以转换,也需要人工操作。

相比用外部回报来推动agent,我们更想让AI具备自我驱动的能力。Agrawal说:“没有谁能不断告诉你做什么能加分,做什么会减分。”

让好奇心来帮忙

加州大学伯克利分校Darrell实验室的Deepak Pathak从未将“好奇”这种心理学上的词写进代码里,他表示:“所谓‘好奇’,无非就是一种能让agent有效探索环境的模型。”

但在2016年,Pathak开始对增强学习的回报机制感兴趣。虽然以增强学习技术驱动的深度学习软件,最近在以简单得分机制驱动的游戏(比如Space Invaders和Breakout)中收获了重大成果。但碰到稍微复杂一点的游戏(比如超级玛丽)中,AI就有点难以控制。

因此,Pathak and Agrawal开始为agent赋予 intrinsic curiosity module(ICM,内在好奇模式),这样agent在没得到及时回报的情况下,不至于“茫然失措”。不过,agent并没有对超级玛丽理解更深。事实上,它更像一个新生婴儿,而不是一个新手玩家。

Agrawal和Pathak的灵感来源于两位发展心理学家的Alison Gopnik和Laura Schulz的研究成果,他们分别在麻省理工大学和加州大学伯克利分校就职,研究显示:婴儿天生喜欢能让他们感到惊讶的东西,而不是能带来外部回报的东西。这种现象可以这样解释:婴儿建立了一种理解世界的模型,然后进行“实验”去了解更多不知道的东西。这种“试验”可以是任何能够产生让他们感到不寻常或者无法预料的东西。

在Pathak和Agrawal的机器学习版本中,AI首先是超级玛丽的样子,然后预测游戏的进展,这种机制便是现在的深度学习的机制。但是Pathak 和Agrawal的ICM在此基础上做出了改变:给予一种内部回报信号,这种信号代表着这种预测模型的错误程度。错误率越高,agent越惊讶,内部回报功能价值便越高。

这种信号让agent对自己尚未了解的东西非常好奇,因此驱动着agent去探索游戏中无法预测的领域。随着agent学习得越来越深入,预测模型的错误率会越来越低,ICM带来的回报就越来越低,那么agent就会探索更新、更让其惊讶的领域,来获得更大回报。“这样一来,机器的探索速度会越来越快。”Pathak如是说。

这种回报模式可以让AI迅速从“无知”模式中走出来。刚开始时,agent对基本动作非常好奇:右键让马里奥往右边走,然后停下来;击右键多次,马里奥持续走;上键让它跳起来又落下去;下键没有任何作用。这样一来,agent便会学会有用的动作,迅速掌握游戏的方法。

比如,点击下键没有任何作用,那么agent便会迅速预测出“点击下键”这个动作的效果,这样它便会消除对此的好奇。但是,点击上键能产生各种预测不到的效果:有时直走,有时短跳,有时长跳,如果跳到障碍物上,它还下不来。agent的预测模式不断尝试,不断试错,并把结果一一记住,得到ICM的回报信号,这样一来,agent便会不断尝试这个动作的试验。

Agrawal解释道:“agent学习如何探索世界(比如跳跃或杀敌),如果不小心死了也不会得到惩罚。但是它一直在避免死亡,因为不死就会让它更有探索世界的兴趣。所以这个过程中,它是自我强化,而不是从外界中得到强化。”

避免“好奇陷阱
从上世纪九十年代初开始,人工好奇(Artificial curiosity)就是AI的分支之一。为机器赋予好奇心的方法之一就是:让机器探索环境中的未知领域。乍一看,这种方法似乎在捕捉好奇心体验,实际上,它会让agent困在一种状态中,这种状态能满足机器与生俱来的动机,但会阻止机器去探索未知的东西。

比如,如果电视突然白屏,agent便会迅速进入“探索新奇”模式,因为白屏是它无法预料的,这样agent的内在回报功能便会让它开始不断关注这种状况。然后,它便被困住了。就像我们难以预测落叶会飞往哪一个方向,agent也很难电视预测何时才会白屏,因此,预测时将会产生很高的错误率,让agent变得非常好奇。

Agrawal和Pathak必须提出一种方法,让agent变得好奇,但不至于太过好奇。预测像素——也即使用深度学习和计算机视觉来建立智能体在同一时间与完整空间内的视野——使得潜在干扰的过滤过程变得困难。计算方面的花费也很贵。

因此,伯克利的研究人员对其马里奥玩家智能体进行了设计,将其视觉输入从原始像素转换成一种经过抽象的现实。这种抽象只包含有可能影响智能体(或受智能体影响)的环境特性。从本质上说,如果该智能体不能与某物进行交互,那么它一开始就不会被感知到。

伯克利研究人员让马里奥agent的视觉输入中添加了一些干扰,这些干扰与现实环境息息相关,能够影响agent的判断能力。如果环境中存在很多噪音或干扰,这类驱动方法往往会导致 agent被无关干扰物吸引。

Agrawal 和 Pathak 不得不想出一个办法来让智能体的好奇心保持在一个合适的程度。预测像素,也就是使用深度学习和计算机视觉来建立智能体在同一时间与完整空间内的视野,这样潜在干扰的过滤过程将会变得困难,计算方面的花费也很贵。因此,伯克利的研究人员对其马里奥玩家智能体进行了设计,将其视觉输入从原始像素转换成一种经过抽象的现实。这种抽象只包含有可能影响智能体(或受智能体影响)的环境特性。从本质上说,如果该智能体不能与某物进行交互,那么它一开始就不会被感知到。这种方法不仅简化了智能体的学习过程,也巧妙地避开了猎奇陷阱。

现在,如果内在激励和人工好奇心能让智能体找出人类所未知的能够实现自动化的任务,那么它将成为任何人工智能都想具备的能力。目前的问题是,如何控制好好奇心的程度?现在,Agrawal和Pathak给出的答案就能当作参考。但长路漫漫,最后发展如何,我们还将拭目以待。

以上为译文

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《Clever Machines Learn How to Be Curious》,作者:John Pavlus,译者:Misty。

文章为简译,更为详细的内容,请查看原文。

本文由用户为个人学习及研究之目的自行翻译发表,如发现侵犯原作者的版权,请与社区联系处理yqgroup@service.aliyun.com

相关文章
|
4月前
|
程序员 数据安全/隐私保护
编程之外,生活的美好航程
编程之外,生活的美好航程
|
5月前
|
敏捷开发 前端开发 开发者
想要成为软件开发中的王者,需要明白的 21 条准则
想要成为软件开发中的王者,需要明白的 21 条准则
|
3月前
|
数据采集 算法 Java
业余爱好者想入门编程,一定远离那些只会说No的家伙,尤其程序员
业余爱好者想入门编程,一定远离那些只会说No的家伙,尤其程序员
|
移动开发 前端开发 JavaScript
聊一聊我的计算机学习经历吧(三)
hey guys ,我是 cxuan,这一篇文章我就要和你聊聊编程如何学习,这一篇文章涉及的内容简直太多了,我将从入门开始,一步一步到如何提高,然后到一些学习的相关问题,还有一些计算机相关的术语等,干货也非常多,准备好了吗?那么我们开始吧。
|
IDE 前端开发 JavaScript
聊一聊我的计算机学习经历吧(四)
hey guys ,我是 cxuan,这一篇文章我就要和你聊聊编程如何学习,这一篇文章涉及的内容简直太多了,我将从入门开始,一步一步到如何提高,然后到一些学习的相关问题,还有一些计算机相关的术语等,干货也非常多,准备好了吗?那么我们开始吧。
|
算法 前端开发 Java
聊一聊我的计算机学习经历吧(二)
hey guys ,我是 cxuan,这一篇文章我就要和你聊聊编程如何学习,这一篇文章涉及的内容简直太多了,我将从入门开始,一步一步到如何提高,然后到一些学习的相关问题,还有一些计算机相关的术语等,干货也非常多,准备好了吗?那么我们开始吧。
|
算法 前端开发 JavaScript
聊一聊我的计算机学习经历吧(一)
hey guys ,我是 cxuan,这一篇文章我就要和你聊聊编程如何学习,这一篇文章涉及的内容简直太多了,我将从入门开始,一步一步到如何提高,然后到一些学习的相关问题,还有一些计算机相关的术语等,干货也非常多,准备好了吗?那么我们开始吧。
聊一聊我的计算机学习经历吧(一)
|
机器学习/深度学习 人工智能 自然语言处理
让机器「看懂」语言,更加自然地与人交流
人工智能相关技术近几年进展飞快,但许多人并未在太多产品中体验到技术带来的机器智能和效率的提高。百度新闻客户端近期推出了「个性化语音播报」功能,让机器把新闻生成摘要并以更加自然的方式读出来。将自然语言处理和语音合成应用在新闻领域是一次独特的尝试,机器之心对百度自然语言处理和语音合成的工程师进行了专访,讨论了背后的相关技术,并结合自然语言处理和语音合成的行业和技术情况进行了分析。
218 0
让机器「看懂」语言,更加自然地与人交流
如何用简单的方式获取C端用户,实力派王素杰说要从B端做起|靠才华
在线教育作为o2o的巨大分支,一个曾经非常显著的优势是提供了新的传播途径。一根网线连接名师和用户,使得老师的个人能力不再局限于地域,用户的学习方式也不再局限于传统课堂。
386 0
|
设计模式 IDE Java
每一个疑问背后都隐藏着至少一个盲点和学习的绝佳机会
每一个疑问背后都隐藏着至少一个盲点和学习的绝佳机会
161 0
每一个疑问背后都隐藏着至少一个盲点和学习的绝佳机会