当我昨天看到OpenAI的人工智能,在一项奖金2400万美元的电子竞技赛事上,击败DotA2人类顶级高手时,整个人感觉超兴奋。
这是因为,一方面我是一个电子竞技的粉丝。尽管没玩过DotA 2,但我经常在Twitch上观看其他其他电竞赛事,高中时我还当过一阵半职业选手。
更重要是的,像DotA这类多人在线战术竞技游戏(MOBA),以及星际2这类实时策略游戏(RTS),通常被认为远超目前人工智能的驾驭能力。因为这两类游戏需要长期战略决策、多人合作,比国际象棋、围棋有着更复杂的状态和动作空间。
DeepMind已经在星际2上研究了一段时间,前不久刚刚发布了新的进展,但目前为止,相关研究还没有取得重大突破。大家普遍认为,距离人工智能在星际2上吊打人类顶级玩家,至少还有一两年的时间。
这就是OpenAI这个成果如此令人震惊的原因。这是怎么回事?最有有什么人工智能方面的突破是我没有注意到的么?于是我开始研究这个DotA 2人工智能到底干了什么,它是如何训练的,以及在什么样的游戏环境中运行。
我的结论是:这是一个令人印象深刻的成就。但不是一次AI上的突破。
通过这篇文章,我想提供一个关于此事的清醒解释。实际上,过度炒作人工智能的进步才是真正危险的事情。例如,下面这位在推特上的发言,才是真正的误导。
这是伊隆·马斯克的推特,这位硅谷钢铁侠不单创办了特斯拉,而且创办了OpenAI。上面这篇推特中,马斯克大意是说:OpenAI搞出了史上首个击败电子竞技顶级玩家的人工智能。这比搞国际象棋和围棋什么的复杂多了。
在第二条推特中,马斯克再次发表曾被AI届猛轰的观点:没人喜欢被管制,但对公众构成危险的一切(汽车、飞机、食品、药物等)都应该受到管制。AI也是一样。
当然,马斯克还发了一条,就不翻译了,贴图如下
首先要声明的是,我今天要谈及的炒作或者误导,并不是OpenAI研究人员的错误。OpenAI一直在研究方面都有诸多贡献。目前,OpenAI还没有公布他们解决方案的细节,所以外界很容易就会得出错误的结论。
现在开始切入正题。我们先来看看DotA 2的人工智能程序,到底解决了一个多困难的问题?尤其是与AlphaGo相比。
1v1不能与5v5相提并论
在正常的DotA 2游戏中,两个对抗的队伍各由五名玩家组成。游戏过程中需要高级策略、团队沟通和协调,一局比赛通常要45分钟。
而这次人工智能击败人类的比赛,采用了1v1的模式,这种模式有太多限制。例如双方基本上只能沿着单线前进,并尝试击杀对方,游戏过程几分钟就结束了。
在1v1模式中,击败对手主要靠机械技能和短期策略,并不涉及长期规划和协调,而后者才是对当前AI技术来说最具挑战性的部分。
事实上,在这次的人机DotA 2对抗中,可以采用的有效动作数量,少于围棋人机大战;有效的状态空间(目前局面情况),如果以智能的方式表示,应该比围棋要小。
AI可以获取更多信息
OpenAI的人工智能程序,极有可能是构建在DotA 2原有的机器人接口之上,可以获取更多人类玩家看不到的信息。即使OpenAI的研究人员限制了这些信息的获取,人工智能仍然能够得到比人类更精准的信息。
例如技能的施放,人类玩家必须紧盯屏幕,并且估算与对手之间的距离。而AI知道确切的距离,并且能立即决定是否施放技能。获得精准的数字信息是一个很大的优势。其实对战过程中你就能看到,AI有几次攻击都是在最大距离上展开。
反应时间
AI可以立即作出反应,人类不行。再加上刚才说的信息优势,AI的优势进一步扩大了。比方,一旦对手逃离攻击范围,AI可以立刻取消攻击命令。
使用单一英雄
DotA 2中有上百种不同的英雄角色,各具不同的能力和优势。而AI掌握的只是其中一个英雄:Shadow Fiend(影魔)。影魔通常会立刻展开攻击,而不是在一段时间内学习掌握更复杂的攻击技能,这更加有利于发挥AI在信息和反应方面的优势。
所以,鉴于1v1主要比拼机械技能,AI击败人类玩家并不奇怪。鉴于游戏环境被严格限制,造成一些列战术和策略也被限制,而且对战中几乎没有必要进行长期规划或协调。
再次重申我的结论:这次AI击败DotA玩家,比在围棋中击败人类冠军要容易得多。人类没有在AI领域突然取得突破。
这次在DotA对抗中之所以AI获胜,是因为研究人员聪明的设置了问题,使得AI可以绕过目前人工智能的技术限制。
据说这个OpenAI训练这个AI打DotA花了2周。与之相比,AlphaGo在Google的GPU集群上进行了数月的分布式大规模训练。两个程序之间的计算要求有着数量级的区别。
最后夸夸这个会玩DotA的AI,到底有何精彩之处?
完全通过自学训练
AI不需要任何训练数据,也不会从人类的比赛中学习。整个学习过程随机开始,并且通过和自己对抗进行学习。虽然这不是什么新技术,但令人惊讶的是,AI学会了人类玩家已经在使用的技术。这很酷。
AI可能还有其他技术,甚至人类都不知道。这与我们在AlphaGo中看到的类似,围棋选手已经开始学习AI的下棋方式。
AI+电竞的重要一步
在具有挑战性的环境中(例如DotA 2和星际2)来测试AI技术是非常重要的。AI可以为游戏提供更多的价值,游戏也会助推AI更快发展。
不完美信息
在DotA对决中,人类玩家智能看到地图的一小部分,视线受到妨碍。AI可能也一样,虽然还不清楚OpenAI如何处理这个问题的细节。
这意味着与围棋、国际象棋、Atari游戏机等环境不同,AI在DotA中处于一个部分可观察的环境,而无法获知关于游戏当前状态的完整信息。这类问题通常难以解决,话虽如此,但目前还不清楚1v1的DotA 2比赛中,视野的重要性到底几何。
不管怎样,非常期待看到OpenAI关于这次比赛的技术报告。