DeepMind科学家:AI对战《星际争霸》胜算几何?
记者 | 周翔
AI科技大本营1月29日消息,在《麻省理工科技评论》与深科技举办的新兴科技峰会上,谷歌DeepMind科学家Oriol Vinyals在会上发表了主题为《AI对战星际争霸胜算几何?》的演讲。
Oriol Vinyals曾是西班牙《星际争霸》游戏排名第一的电竞高手,在UC伯克利大学读书期间,他帮助设计了一个能够在人类完全不介入的情况下玩星际争霸的名叫“主宰(游戏剧情中的一个boss角色)”的AI程序,这个程序标志着机器学习的一场胜利。
在加入谷歌AI团队之后,Oriol Vinyals参与了机器翻译、图像理解、Gmail智能回复等诸多项目。如今,Oriol Vinyals又开始了用AI征战《星际争霸》之路。
在演讲中,Oriol Vinyals提出了数据和任务在研究机器学习和人工智能领域的重要性,并介绍了DeepMind是如何一步步让AI学会玩《星际争霸》的。
以下是Oriol Vinyals的演讲全文,AI科技大本营整理:
▌关于人工智能进展
首先,我想介绍一下,科学家在研究机器学习和人工智能的时候,究竟在做些什么?
我想和大家分享的不是算法,而是数据。数据和任务是非常重要的,我们一定要确认我们的技术前沿是什么,任务是什么,然后才能够找到合理的矩阵来处理这些问题。
有一个很有趣的现象,我们在技术方面取得重大突破的时间并不长,因为只要找到一个合适的算法就可以取得这样的突破。我们在语音识别和图像分类上都取得了很多里程碑式的进展,并利用机器翻译技术在人类与机器之间架起了一座桥梁。在生成式网络方面我们也有很多应用,比如根据照片生成名人的脸,根据普通的马匹生成斑马,根据夏天的图景来生成冬天的图景等等,这些对图片解读的应用可以说已经非常成功了。
▌关于强化学习
接下来我想与大家探讨一下强化学习,这是过去几年中我们基于AlphaGo所做的一些突破性研究。
强化学习与监督学习和人类的学习方式相比,还是有一定区别的。比如对于观察本身,算法的观察是需要环境的,没有充分的观察,早期的人形机器人在遇到障碍物的时候往往无法顺利应对从而摔倒。我们就会想,能不能建立一个仿真环境来训练这些机器人呢?如果我们有一个很好的环境,就可以先去训练它,也就是说我们一定要有一个很完美的环境才能实现我们的目标。为此,我们建立了虚拟场景,并尽可能地提高它的仿真度。只有在这样的强化环境下,我们才能取得进一步的进展。
比如提到应用场景,我们常常会想到游戏。人们在设计游戏的时候总是小心翼翼,以确保玩家可以获得一定的智能化体验。比如AlphaGo参与的围棋有3000年的历史,这是一个非常有挑战性的游戏,因为没有一个单一的解决方案能确保带来最好的结果。当然,我们也可以整合不同的能力让它们玩不同的游戏,比如通过训练让机器人学会下国际象棋。我们也有专门下围棋的算法,这时目标变得更加复杂,玩法也变得更加复杂。目前没有一台机器可以通过搜索策略的方法来玩好这个游戏。
那AlphaGo是通过什么方法来玩这个游戏的呢?正是强化学习。我们的神经网络可以自动地从数据中学习一些特征。这样我们就可以让它看着棋盘,看人类怎么走,看棋盘上输赢的情况。也就是说我们不需要展开所有展示走法与输赢的网络,只要展开一部分网络就可以做出很好的模拟,这是一个很好的突破。
但这样也不是特别好,因为它在以人的角度去学习,需要使用数据集来训练。后来我们随机地运行游戏,每下一局之后AlphaGo就可以了解一下比赛是如何进行的,并调整整个网络,最终学会下棋。
这些网络是在玩游戏的过程中不断训练提升的。AlphaZero随机下棋,经过几天的训练之后,就学会专业棋手的走法了。
所以,我们第一版的AlphaGo击败了樊麾,后来下一个版本在韩国和李世石进行了对弈,并取得了胜利。再后来我们进一步地训练网络,整个网络比之前强了三倍,赢了柯洁和其他专业棋手。我们是从零开始,一点点积累积数据进行训练,最后战胜了专业棋手。
▌关于星际争霸
除此之外,我们比较感兴趣的还有游戏《星际争霸II》,这也是一个非常有趣而且复杂的游戏。这个游戏基本上就是建造一些建筑物以及单位,在同一个地图里与不同的组织相互竞争。在这个游戏中,哪怕只是建造建筑物,也需要做出许多决策。而除此之外,我们还要不断收集和利用资源、建造不同的建筑物、不断扩张,因此整个游戏非常具有挑战性。
我们在这个游戏中使用的方法依旧是强化学习。我们要模仿人类玩这个游戏的方式,但即使是模仿人类点击鼠标和敲击键盘的行为也非常困难。为此,我们引入了一个游戏引擎。
《星际争霸II》和围棋任务最大的不同在于,围棋可以看到整个棋盘,但是在《星际争霸II》中我们通常无法看到整个地图,需要派小兵出去侦查。而且游戏是不间断进行的,整个游戏甚至会有超过5000步的操作。
此外,对于增强学习,除了上下左右这些普通的移动,我们发现用鼠标点击界面控制不同物体的移动以及不同的行为,也是非常难的。我们发布了这个环境,所有人都可以参与其中。这基本上是一个开源的平台,大家可以测试自己的算法。
虽然还没有完成过整局游戏,但是我们已经完成了操作《星际争霸II》比较重要的7个操作,比如选择一个单位并让它移动过去,我们所使用的算法能做到这一步,而且和人类玩家操作的效果基本一样。而另一些任务,比如建造建筑、收集资源等,仍然是比较难的。我们测试的算法,表现会比随机的环境要好,但和专业玩家还有一段距离。
我们的第一版是在Linux平台发布的,我可能是第一个用Linux玩《星际争霸》游戏的人。我们的增强学习还是做得非常好的,所以我们可以直接通过人的视角来观察这个游戏。
如刚才所说,我们可以将地图看成一个40×60的像素。从像素来开始进行判断的话,其实能够帮助我们更好地去了解机器是怎么样玩游戏的,虽然说机器还没有办法完全像人类一样。
以下为Oriol Vinyals接受《MIT Technology Review》编辑Will Knight现场采访实录,AI科技大本营整理:
Will Knight:《星际争霸》游戏机器人是怎样开展学习和研究的?
Oriol Vinyals:我们现在其实在做一个简化版,还在研究整个网络背后的一些基本的原理,我也在想把它写成论文,介绍在测试的过程有哪些是比较容易的,哪些是比较难的。
Will Knight:为什么选择《星际争霸》?大家都知道《星际争霸》有很大的用户群,而且很难。
Oriol Vinyals:在我自己还是伯克利大学学生的时候,就玩过《星际争霸》。我和很多伯克利分校的同事在2010年就开始做这个研究,当时我们在想的是如何打败敌方。《星际争霸》是我们应用AI技术的一个出发点,在这个过程中,我们看到了很多挑战,因此我们需要很多创新的算法,需要更多的研究人员参与进来,设计一些新的问题和任务,看能否完成。
Will Knight:是否能够将其中的AI技术应用到现实生活中?
Oriol Vinyals:现实世界缺少完成强化学习的完美信息。比如有很多人都在使用谷歌,它没有周围人的信息而是依靠着巨大的信息进行预测,我们是借助了用户的力量。现在我们考虑的是怎么样借助应用去处理数据、加工数据。
其实我们在设计一个这样的操作系统,它不会为所有的用户所用,但是会帮助我们的用户减少很多能耗。
Will Knight:在《星际争霸》中是否也有和 AlphaGo 一样的迭代和更新?你们有什么战略?
Oriol Vinyals:《星际争霸》的应用在我看来是一个新的事物。我们为游戏过程设计了不同的指令,不同的模式和模板,这使得整个玩《星际争霸》的过程变得独一无二。这种指令会越来越高效。通过指令,我们基本上可以超越之前的算法,我觉得这也是我们的一个亮点。
说到战略,我们会训练整个系统,收集整个《星际争霸》玩家的行为进行分析。比如哪些走法可能没有优势,哪些玩法过于简单。现在我们会为玩家提供一些打《星际争霸》最简单的走法。
Will Knight:AI是怎样评估人类玩家的玩法的?
Oriol Vinyals:整个模型现在非常简单,它可以帮助我们的人类玩家玩得更好。人类在获得AI的指导以后会变得更强大。我也希望整个玩家的社区会获得AI的良性支持。
Will Knight: AI程序员是不是能够从游戏中获得一些益处?
Oriol Vinyals:我们知道有学徒式的学习方式。比如说在玩围棋的时候,有自我的教学模式,从零级开始自学。但是玩《星际争霸》的时候,我们不是从零开始,而是在一定的基础层上面来进行学习。
另外很多玩家他们还会去观察别人玩游戏的方式,看他们怎样移动鼠标等。我自己也是个玩家,我也会关注别的移动玩家动鼠标的方法以及其他的游戏行为,这对强化学习是一个新的关注点。比如说我自己玩游戏的时候,可能我不能一直获胜,那么我就会去观察,我输的时候会在游戏的末尾观察哪个人物角色会获胜,通过观察一些专业玩家的行为分析这些游戏过程中的关键点。这也能帮助我们进行模拟学习,以及数据监督式的学习。
Will Knight:还有很多人想了解甚至加入DeepMind,我想问一下整个公司的氛围如何?您工作的场景是什么样的?有什么最新的项目?
Oriol Vinyals:我之前也提到过,我们的CEO是做神经科学出身的,可以说这为我们公司定下了基调。我也很喜欢我们公司,作为一个研究人员,科学家始终是有意思的一群人。我们有很好的工具,有很好的平台,并且能够清晰地制定一个计划,让你了解接下来人工智能会发生什么。科学家也是有自己自由度的,比如你知道你自己的工作目标,也可以获得同行之间的反馈,也会有很强内在的驱动力。
现在我们的工作场所已经很大了,我们有很多的人、数据以及很多懂得神经科学的科学家,还有一些游戏的测试家,以及不同背景的有趣的人。整个工作环境也非常有趣,如果你能来这里实习的话,我是非常推荐的。
Will Knight:你觉得最有趣的挑战会是什么?
Oriol Vinyals:玩这种电子游戏,绝大多数都是非常有挑战性的,比如说策略游戏等,都是非常复杂的游戏。在玩游戏的过程中,我们能够看到有一些新游戏不断地产生,我觉得最大的挑战可能是要不断学习吧。像无人驾驶汽车这样的新技术,要求我们有更好的现实仿真,这样的话你才能确保现实中的安全的操作。
Will Knight:我们接下来是否可以和AlphaGo一起打扑克牌?
Oriol Vinyals:可以期待。