谷歌AI打败了柯洁 微软AI打败了“吃豆人”的老婆

2017-06-19 15:28 图文天下网

  多年以后,当游戏们又回忆起被ai支配的恐惧,它们一定会记得:

  在google的alpha go已经玩了大半年《星际争霸2》、又在围棋领域打败了柯洁之后,微软的ai也终于在《吃豆小姐》游戏里扬眉吐气了。

  去年9月,微软的首席执行官satya nadellaz在开发者大会上表示“我们不会追求ai在游戏中击败人类”,不过他们今年年初收购的人工智能初创公司maluuba最近发布了一项成果:

  maluuba开发的ai在《吃豆小姐》(ms. pac-man)atari 2600版本中取得了这款游戏的历史最高分999,990分。

  顺便说,在此之前《吃豆小姐》的最高分是人类玩家阿布那·阿什曼保持的933,580分。

谷歌AI打败了柯洁 微软AI打败了“吃豆人”的老婆 图1   《吃豆小姐》游戏

  选择《吃豆小姐》是因为简单?不不不,其实是因为它难

  《吃豆人》(pac-man)我知道,但是《吃豆小姐》是啥?

  1980年5月,日本南梦宫(namco)株式会社推出了《吃豆人》街机游戏,并选择了midway games作为这个游戏的美国发行商。这款游戏的玩法大家都知道了,就是在游戏迷宫里尽可能多地吃水果和白色豆子获得分数,同时躲避四个幽灵的攻击。

  不过,初代《吃豆人》游戏的地图和幽灵出现的位置都是固定的,熟练玩家闭着眼都知道应该往哪走,所以游戏本身并没有什么难度。

  于是在游戏发行一周年时,代理商midway games的伊利诺斯州分公司就在美国发行了《吃豆人》的非官方强化版《吃豆小姐》(ms. pac-man)。这个强化版本的游戏不仅把主角换成了吃豆小姐,怪物行动也有了随机性。在这个版本里玩家不能再闭着眼玩套路了,每次重玩都要动脑子。

  强化版本推出之后大受玩家欢迎,吃豆小姐也被玩家亲切地称为“吃豆人的老婆”。亲爹南梦宫株式会社还能怎么办,当然是选择原谅他们,顺便把这个不是自己开发的游戏版本也编入了正统。

谷歌AI打败了柯洁 微软AI打败了“吃豆人”的老婆 图2给ai玩的《吃豆小姐》差不多还是这样的   

  当然研究人员让ai玩的《吃豆小姐》不是最初的街机版本,而是atari 2600版。atari 2600是雅达利(atari)公司1977年推出的一款家用游戏主机,包括alpha go在内的很多ai目前都在玩。

  atari主机上的大部分游戏都很适合机器学习,强化学习功能比较好的ai,只要一遍一遍重复玩就可以获得高分。当初deepmind被google收购,展示的项目之一就是ai玩atari游戏的能力。

  maluubad的研究人员测试了很多游戏之后发现:对于ai来说,玩《吃豆小姐》比完其它atari游戏要难。要让ai通过迷宫并不是难事,但随机出现的水果和幽灵却让ai面临的环境变得复杂多了。

  ai是怎么玩这个游戏的?

  简单来说,强化学习就是给定一个环境,如果ai在环境里做出了正确选择就给它奖励。随机性让ai在游戏里面临的环境变得复杂了,所以玩有随机性的游戏对于ai来说也更有难度。

  为了让ai在游戏里获得高分,maluuba公司创造了混合式奖赏架构(hybrid reward architecture),也就是一种把游戏里的大问题分解成小问题,再把小问题分发给ai代理来解决的分治策略。

  maluuba用来玩游戏是一个顶级ai代理和150多个普通ai代理。

  每个普通ai代理都是相互独立的,它们分别精通《吃豆小姐》的一部分技巧:有的负责吃水果,有的负责吃豆子,有的负责躲避幽灵。

  顶级ai代理的工作,就是综合考虑每个普通ai代理的意见,然后做出往哪边走的决策。

  决策的考虑因素有两个:一个是建议往某方向走的普通ai代理的数量,另一个是普通ai代理建议的强度。

  比方说有100个普通ai代理建议向左、50个普通ai代理建议向右,那么从数量上看就选择左走;但如果50个ai建议向右的原因是左侧有幽灵走过去会死,那么从建议强度上就应该选择向右。

  至于这么做的原理,maluuba公司发表的研究论文里是这样解释的:

  将任务分解成具有定义权重的离散目标可以降低“问题的规模大小”,从而使复杂问题变得简单。

谷歌AI打败了柯洁 微软AI打败了“吃豆人”的老婆 图3

  蒙特利尔学习算法研究所所长yoshua bengio在接受外媒采访时表示:

  这种解决方法非常像人类的大脑,如果人工智能能够掌握这种分治策略,就能利用有限的信息来完成更加复杂的任务,人工智能技术也就会向前迈进一大步。

  yoshua bengio所长是maluuba公司的技术顾问。

  也有反对者认为maluuba公司的测试方法有问题。maluuba公司事先已经把奖励和惩罚的权重写到了ai程序里,在游戏开始之前,ai就已经知道了幽灵是坏的、水果和豆子是好的。别的ai都是在玩游戏的过程里学习到哪些行为会得到奖励、哪些行为会被惩罚,但是maluubad的ai从一开始就知道这些了。

  反对者认为ai在游戏过程中并没有从环境里发现任何情报,只是根据奖励权重去决定收集豆子和水果、躲避幽灵,这根本不是在进行机器学习,因为ai在玩游戏的过程里根本就没学到任何东西。

  maluuba目前专注于长期的人工智能研究,在微软内部独立运作,不过ai在《吃豆小姐》游戏里学到的东西还是会被应用到微软的销售和业务工具dynamics里,用来帮助用户判断销售线索。

  (责任编辑:徐立梅 ht001)