OpenAI轻取Dota战队 AI何总是吊打游戏玩家
在刚刚秀完可以像人手一样抓取和操纵物体的Dactyl机械手系统之后,OpenAI迎来又一次令人瞩目的人机大战。
这是家在2015年由马斯克等诸多硅谷大亨联合建立的AI非营利组织,希望能够预防人工智能的灾难性影响,推动人工智能发挥积极作用,当然,他们还希望对标谷歌DeepMind。
北京时间今天凌晨,人类和OpenAI Five展开决战,人类代表队是由半职业Dota高手组成的战队,赛制为三局两胜。
经过三轮的对决,高下立判而且毫无悬念,OpenAI Five轻松赢下头两盘,将人类虐的一点脾气都没有。
在第三轮,面对已经锁定胜局的OpenAI Five,主办方让现场观众为OpenAI Five选择英雄,AI阵容是小鱼人、隐刺、 斧王、 流浪、 痛苦之源;人类阵容是死亡先知、死灵法师、巫魔巫师、巫妖、直升机,最后,AI五个脆皮的弱势阵容,让人类战队稍稍挽回颜面。
最终,比分2:1,人类完败。目前OpenAI Five的水平至少是6600以上。
谈谈为什么AI研究人员如此着迷于游戏
Dota 2需要玩家有快速的反应能力以及对游戏的策略有全面的了解,最重要的是,需要团队合作。该游戏是目前最赚钱的电子竞技项目之一,今年规模最大的一项锦标赛奖金池已经超过2300万美元。
研究人员的软件要战胜那些职业电竞选手,难度不亚于让一个机器人隔扣“篮球之神”迈克尔·乔丹(Michael Jordan)。
对于我们这些没有博士学位的人来说,游戏是一种相对简单的了解人工智能研究进展的方式:在复杂的环境中,人工智能能打败人类吗?我们理解IBM的DeepBlue在国际象棋比赛中击败大师级棋手加里·卡斯帕罗夫(Garry Kasparov)意味着什么,也知道谷歌DeepMind的AlphaGo在围棋比赛中战胜世界冠军李世石(Lee Sedol)意味着什么——实践和打磨技术数十载的人类敌不过机械性的计算系统。除了这些公开的比赛之外,人工智能研究人员数十年来一直在致力于打造比人类更会玩雅达利游戏、跳棋甚至《任天堂明星大乱斗》(Super Smash Bros)的人工智能系统。
并不是所有的关于玩电子游戏的AI的研究成果都适用于实验室之外地方,但在竞技场以外,OpenAI正在证明它专有的研究成果能够被广泛应用。举一个例子:被用来参加Dota 2比赛的算法,也可以被教导如何移动机械手。
强化学习技术
最热门的用来教导机器人玩游戏的方法之一,也就是OpenAI所使用的技术,名为强化学习,该技术的运作原理是:你给机器人一个目标,比如收集硬币,当机器人完成目标时给予它奖励。最初,机器人是任意行动的,直至它偶然地弄明白了该如何完成任务。机器人用来完成任务的动作被其系统认为是较好的方法,因而当下一次尝试完成任务时,机器人更有可能继续采用那些动作。经过成百上千甚至上百万次的尝试以后,策略就会形成。
例如,OpenAI玩Dota 2的机器人在两周内与自己进行数百万次的游戏对抗。在每一场比赛中,机器人的奖励都从为自己获得分数转变成到增加整个团队的分数。该研究小组称这是“团队精神”。
纽约大学人工智能教授朱利安·格里乌斯(Julian Togelius)告诉Quartz:游戏对于人工智能来说是一个很好的学习途径,因为它们模拟现实世界,但带有任务目标。
“现实世界没有什么有趣的任务,”格里乌斯笑着说,“游戏则非常完美,它们会给你提供奖励——不管你有没有赢,不管你得到什么样的分数,你都能得到奖励。”游戏可以玩无数次——它们只是软件,可以同时被成千上万的机器人玩,如此一来就能成倍加快它们找到解决方案或策略的速度。
但这种方法的缺陷在于,机器人学习做什么完全取决于奖励。算法对游戏的工作原理完全没有概念,因此,如果游戏中存在漏洞或故障,机器人还是只会做最简单的、会给它奖励的事情。
今年早些时候,德国弗莱堡大学的研究人员在训练强化学习算法来玩雅达利的游戏 Q*bert时发现了这一点。它没有学习像人类那样玩游戏,而是学会了通过从舞台侧面跳下来引诱敌人自杀,因为它们知道敌人会跟着它们跳下去。游戏认定敌人被杀,给予机器人额外的生命和分数,所以说机器人有赚了。
该机器人还发现了游戏的一个小故障:如果它从一个平台跳到另一个平台,它可以拿到数十万的分数。从技术上讲,它是在做自己的本职工作:拿分。但这算不上真正地学习玩游戏。
最近,格里乌斯的工作重心是通过随机化这些机器人每次玩的游戏级别来打造更好的游戏机器人。他指出,因为机器人从来不会在同一级别上玩两次,所以它们并不仅仅是学习如何找到破解的办法或者找到一个策略——它们实际上是在学习如何在任何情况下完成任务。
不仅仅是游戏
OpenAI的游戏追求不仅仅是为了在游戏中打败职业选手,而是学习如何做出成千上万个小决定来实现更大的最终目标。一个例子是OpenAI的另一个项目,它使用与Dota 2机器人一样的学习系统和算法:它的研究人员设计了一种算法来控制机械手,机械手能够握住一个物体,并用手指操纵它进入特定的方向。
OpenAI技术人员乔纳斯·施耐德(Jonas Schneider)告诉Quartz,这两个项目是在大约同一时间启动的。但他指出,当Dota 2团队在去年的比赛中展示了它们打败人类职业选手的进步时,机器人团队意识到了强化学习系统的潜力。
“我们基本上用了和Dota实验相同的代码,达到了相同的性能水平。”施耐德说,“在短短几周内,我们就达到了此前多个月我们一直在努力开发的项目同等的水平。我想我们都很惊讶。”
这些实验使用的是OpenAI开发的一个名为Rapid的程序,该程序可协调数千个处理器来同时运行数百个强化学习算法。每一个算法都驱动机器人来玩游戏或者模拟手部移动动作,然后在实验结束后将机器人学到的东西同步给其他的机器人。
利用比普通笔记本电脑高出数千倍的计算能力,机械手能够展现出令人惊叹的灵巧性,完全不需要人类通过编码来告诉它们该如何移动每一根手指。
此外,虽然OpenAI使用类似的代码来训练它的游戏AI和机器人,但一个重要的区别在于,它们都在学习如何分别完成各自的任务。如果你想让Dota 2机器人控制一只机械手,它根本无法做到:算法足够通用,可以学习多种技能,但能够学到的技能还是有限的。
“我们还没有看到很多东西能够在游戏中训练出来以后,直接转移到现实世界中去。”格里乌斯说道,“但我们已经看到的是,为玩游戏而发明的方法已经转移到了现实世界。”
OpenAI的Rapid强化学习系统并不是第一个开发自游戏,然后被转用于现实世界的技术。格里乌斯指出,蒙特卡罗树搜索是一种算法,10多年前它最初被开发来玩围棋游戏,现在则被用于诸如规划和优化的任务。欧洲太空总署用该算法来规划太空探测器的星际轨迹。它也是DeepMind AlphaGo算法的核心,后者在2016年击败了世界围棋冠军李世石。
对于OpenAI的机器人团队来说,Dota 2似乎是证明了这种技术能够在未来用于更加复杂的工作。Dota 2系统使用的计算能力是机械手的20多倍,训练时间为两周,而后者只有两天——这意味着机器人团队有望攻克需要更多时间去学习的问题。
“我们对现有的算法能够取得的进展感到惊讶,所以我们希望在某种程度上,Dota将成为最后一个游戏里程碑。”施耐德说,“很显然,如果像这么复杂的游戏可以通过强化学习来解决,那称得上强化学习和游戏的终极考验。”
本文来自网易智能,本文观点不代表GameLook立场,转载请联系原作者。