大数据文摘出品
编译:茶西、Don FJ、CoolBoy
程序猿为何痴迷于用人工智能攻克各种游戏?是对网瘾少年的嘲讽,还是对科技未来的探索?这一切的背后,是人性的扭曲还是道德的沦丧?敬请关注本期的走进大数据文摘!
8月5日,人工智能系统OpenAI Five迎战了由5名专业电子竞技玩家组成的队伍,这次的战场是
Dota2
,这个游戏需要快速的反应力,渊博的游戏策略知识,更重要的是团队协作。
在这个电子游戏中,两支五人队伍会被安排在竞技场的两端,与对方战斗并利用物理或者法术攻击摧毁对方的营地。
这是当今最赚钱的电子竞技项目之一,今年最大规模锦标赛的奖池已经积累超过2300万美金。研究人员开发的软件想要赢过经过千锤百炼的职业选手,就跟让机器人学着在迈克尔∙乔丹(Michael Jordan)头上扣篮一样难。
游戏是一个让我们这些没有博士学位的人了解人工智能研究已经到达何种程度的好方法:在复杂环境下,人工智能可以击败人类吗?
我们知道IBM的“深蓝”在国际象棋比赛中击败了Garry Kasparov,以及DeepMind的AlphaGo在围棋比赛中战胜李世石,这意味着什么——数十年来人类的练习与技巧被计算机打败了。
除了这些广为人知的比赛以外,几十年来人工智能研究人员还致力于创造人工智能代理(AI agents),这些代理可以在Atari游戏、西洋棋、甚至是明星大乱斗中成为“超级玩家(Super Smash Bros。
链接:
https://qz.com/917221/a-super-smash-bros-playing-ai-has-taught-itself-how-to-stomp-professional-players/
出了实验室,很多电子游戏的人工智能研究也许就无法真正有用了,但是OpenAI证明了其名下的研究在竞技之外也有很大的应用空间。比如说用来打Dota 2游戏的算法也可以教机械手如何移动。
正向强化
强化学习是最流行的教机器人玩游戏的方法之一,埃隆∙马斯克(Elon Musk)和山姆∙奥特曼(Sam Altman)主导创立的OpenAI人工智能研究实验室也使用了这种技术。你交给机器人一个任务,比如拾取金币,然后在机器人完成任务时给予奖励。
一开始机器人的行动是完全随机的,直到它意外发现如何完成任务。相对于那些无法得到奖励的行动来说,那些能够完成任务的行动被系统认为是更好的选择,由此一来机器人下一次执行任务时就更愿意采取这些行动。在经历数百次、数千次,甚至数百万次的尝试之后,机器就能逐渐学习到完成任务时所需的策略。
在两周的时间内,OpenAI的Dota 2游戏机器人与自己对战了数百万次。每次游戏中,机器人的奖励机制也有所改变,从开始的为自己获得积分转变为后来的提高团队的总积分。在Quartz之前的报道中,研究团队将其称为“团队精神”。
链接:
https://qz.com/1311732/openai-built-gaming-bots-that-can-work-as-a-team-with-inhuman-precision/
纽约大学的Julian Togelius向Quartz表示,游戏其实是对真实世界的一种模拟,一种只有一个具体目标的模拟,这正是人工智能学习的好地方。
“真实世界可没有有趣的任务,”Togelius笑着说。“游戏简直太完美了,无论你是输是赢,无论你得了多少分,都有奖励等着你。”
游戏可以玩无数次——毕竟它们只是程序而已,并且可以让数以千计的机器人同时玩,从而使得找到解决方案或策略的速度成倍增加。
但是这个方法里面有个陷阱,机器人的学习完全依赖于它们得到的奖励。算法对于游戏该如何工作毫无概念,所以当游戏出现问题和故障时,机器人就会做最简单的事情来得到奖励。
德国弗莱堡大学的研究人员在今年初在用Atari游戏Q*bert来进行强化学习算法训练时发现了这一问题。
链接:
https://www.theverge.com/tldr/2018/2/28/17062338/ai-agent-atari-q-bert-cracked-bug-cheat
机器人并没有学习像人类一样玩游戏,而是学会了跳下台面诱使敌人自杀,因为它知道敌人会跟着来。游戏把这算作成功清除敌人,还会给机器人多一条命和额外的积分,这可是个净赚的买卖。
机器人还发现了一个问题,当它从一个平台跳到另一个平台的时候,可以破坏游戏而得到几十万积分。从技术上讲,它的确是在做它该做的事情:得分。但是他并没有真正学会怎样玩游戏。
Togelius最近致力于通过随机配置每次机器人玩的游戏难度来创造更好的游戏机器人。由于机器人不会把同一难度级别的游戏玩两遍,Togelius表示,机器人不仅仅是要学会找到破解方法或者制定某种策略,事实上它们是要学会如何在不同场景下完成任务。
不仅是游戏
OpenAI 并不只是想在电子游戏中击败专业队伍,而是在学习如何通过做上千个小决定来达成更大的终极目标。例如OpenAI就在另外一个项目中再次使用了和Dota 2机器人相同学习系统与算法:研究人员设计了一个算法来控制机械手握住一个积木,并且用机械手的指头来操控它指向一个特定的方向。
OpenAI的技术人员Jonas Schneider告诉Quartz,这两个项目是同时开始的。但是去年当Dota 2的团队展示出在游戏中击败人类职业选手的进展时,机器人技术团队才了解到强化学习系统的潜力。
“我们用和Dota实验相同的代码达到了基本同样的性能水平” Schneider说道。“只用了几个星期它就就能达到我们之前几个月尝试达到的效果。这让我们十分惊讶。”
这些实验都采用了OpenAI开发的Rapid程序,这一程序协调了同时运行上百种强化学习算法的数以千计的处理器。每种算法驱动一个机器人玩游戏或者模拟手部动作,试验结束后学到的东西会同步给其他机器人。
利用几千倍于普通笔记本电脑的计算力,机械手已经不必通过人类对每个手指的移动进行编码,也可以拥有出色的灵巧度。
一招鲜
尽管OpenAI用相似的代码来训练游戏人工智能和机器人,一个重要的区别在于他们是分别在各自学习如何完成任务。你想让Dota 2机器人来控制一只手是不可能的:算法总体来说是可以同时学习多个技能的,但这种跨度大、毫不相关的技能还是不行的。
“我们还没见过哪些游戏训练出来的模型能够转型直接用于真实世界的,” Togelius说。“但是我们可以看到有些为了玩游戏而发明出来的方法成功应用到了现实世界。”
OpenAI的Rapid强化学习系统并非是第一个为了电子游戏而开发进而应用到真实世界的技术。Togelius提到,蒙特卡洛树搜索是一个十几年前为了下围棋而开发的算法,现在被应用于规划和优化类的任务。欧洲太空总署运用了这一算法来规划太空探测器的星际轨迹,它也是2016年DeepMind的AlphaGo击败世界冠军李世石的算法支柱。
蒙特卡洛树搜索论文链接:
https://www.aaai.org/Papers/AIIDE/2008/AIIDE08-036.pdf
对于OpenAI机器人技术团队来说,Dota 2是这项技术可以在未来应用于复杂工作的一个验证。Dota 2系统运用的计算力是机械手的20倍之多,其训练时间长达两星期,而机械手只用了两天——这意味着机器人技术团队有更多的时间和资源来处理那些需要更长时间来学习的新问题。
“我们已经对现在的算法能走这么远感到十分惊讶,所以某种程度上我们希望Dota可以成为AI游戏探索上的最后一个里程碑,”Schneider说。“很明确的是,如果这样一个复杂的游戏可以通过强化学习来解决,那这将是强化学习和电子游戏的终极考验。”
相关报道:
https://qz.com/1348177/why-are-ai-researchers-so-obsessed-with-games/
【今日机器学习概念】
Have a Great Definition
Contributors
回复“志愿者”加入我们
领取专属 10元无门槛券
私享最新 技术干货