触景无限 | 前端智能感知全球引领者

Menu

新闻资讯 > 新闻详情

DeepMind研究科学家:AI对战”星际争霸”胜算几何

昨日,《麻省理工科技评论》新兴科技峰会EmTech China在北京开幕。会上,谷歌DeepMind研究科学家Oriol Vinyals发表了演讲,他提出了数据和任务在研究机器学习和人工智能领域的重要性,并介绍了基于AlphaGo在深度强化学习方面取得的突破性成就,以及目前如何利用机器学习战胜《星际争霸II》的玩家。

Oriol Vinyals介绍了过去几年中DeepMind基于AlphaGo做的一些突破性研究。包括建立虚拟场景来训练机器,通过强化学习来学习围棋。

对于DeepMind正在研发的对战《星际争霸II》游戏的AI系统,Oriol Vinyals透露,我们在这个游戏中使用的方法依旧是强化学习。但是这个系统要模仿人类玩这个游戏的方式,但即使是模仿人类点击鼠标和敲击键盘的行为也非常困难。为此,DeepMind引入了一个游戏引擎。

这个游戏引擎是这个游戏AI系统的核心,Oriol Vinyals称游戏引擎已经开源,任何人都可以上来测试。“我们还没有完成过整局游戏,但是完成了操作《星际争霸II》比较重要的7个操作,比如选择一个单位并让它移动过去。而另一些任务,比如建造建筑、收集资源等,仍然是比较难的。”(小羿)

以下为Oriol Vinyals演讲实录:

DeepMind研究科学家:AI对战星际争霸胜算几何

Oriol Vinyals:我想介绍一下,科学家在研究机器学习和人工智能的时候,究竟在做些什么?我想和大家分享的不是算法,而是数据。数据和任务是非常重要的,我们一定要确认我们的技术前沿是什么,任务是什么,然后你才能够找到合理的矩阵来处理这些问题。

有一个很有趣的现象,在技术方面取得重大突破的时间并不长,因为只要找到一个合适的算法就可以取得这样的突破。我们在语音识别和图像分类上都取得了很多里程碑式的进展,我们还利用机器翻译技术在人类与机器之间架起了一座桥梁。在生成式网络方面我们也有很多应用,比如根据照片生成名人的脸,根据普通马生成斑马,根据夏天的图景来生成冬天的图景等等。这些方面对图片的解读可以说已经非常成功了。

接下来我想与大家探讨一下深度强化学习。这是过去几年中我们基于AlphaGo所做的一些突破性的研究。

深度强化学习与监督学习和人类的学习方式相比,还是有一定区别的。比如对于观察本身,算法的观察是需要环境的,没有充分的观察,早期的人形机器人在遇到障碍物的时候往往无法顺利应对而摔倒。我们就会想,能不能建立一个仿真环境来训练这些机器人呢?如果我们有一个很好的环境,我们就可以先去训练它。也就是说我们一定要有一个很完美的环境才能实现我们的目标。为此,我们建立了虚拟场景,并尽可能地提高它的仿真度。

也只有在这样的强化环境下,我们才能取得进一步的进展。比如提到应用场景,我们常常会想到游戏。人们在设计游戏的时候总是小心翼翼,以确保玩家可以获得一定的智能化体验。比如AlphaGo参与的围棋有3000年的历史,这是一个非常有挑战性的环境,因为没有一个单一的解决方案能确保带来最好的结果。当然,我们也可以整合不同的能力让它们玩不同的游戏,比如通过训练让机器人学会下国际象棋。

我们也有专门下围棋的算法,这时目标变得更加复杂,玩法也变得更加复杂。目前没有一台机器可以通过搜索策略的方法来玩好这个游戏。

那AlphaGo是通过什么方法来玩这个游戏的呢?正是强化学习。我们的神经网络可以自动地从数据中学习一些特征。这样我们就可以让它看着棋盘,看人类怎么走,棋盘上也会显示出输赢。也就是说我们不需要展开整个展示走法与输赢的网络,只要展开一部分网络就可以做出很好的模拟。这是一个很好的突破。

但这样也不是特别好。因为我们在以人的角度去学习,都要使用数据集来训练。后来我们随机地运行游戏,下过一局之后AlphaGo就可以了解一下比赛是如何进行的,就可以调整整个网络,最终学会下棋。

这些网络是在玩游戏的过程中不断训练提升的。AlphaZero随机下棋。经过几天的训练之后,就学会专业棋手的走法了。

所以,我们第一版的AlphaGo击败了樊麾,后来下一个版本在韩国和李世石进行了对弈并取得了胜利。再后来我们进一步地训练网络,整个网络比之前强了三倍,赢了柯洁和其他专业棋手。我们是从零开始,一点点积累积数据训练,最后战胜了专业棋手。

除此之外,我们比较感兴趣的是游戏《星际争霸II》。这也是是非常有趣和复杂的游戏,这个游戏基本上是建造一些建筑物以及单位,在同一个地图里不同的组织会相互竞争。在这个游戏中,哪怕只是建造建筑物,也需要做出许多决策。而除此之外,我们还要不断收集和利用资源、建造不同的建筑物、不断扩张,因此整个游戏非常具有挑战性。

我们在这个游戏中使用的方法依旧是强化学习。我们要模仿人类玩这个游戏的方式,但即使是模仿人类点击鼠标和敲击键盘的行为也非常困难。为此,我们引入了一个游戏引擎。

和围棋任务最大的不同在于,围棋可以看到整个棋盘,但是在《星际争霸II》中我们通常无法看到整个地图,需要派小兵出去侦查。而且游戏是不间断进行的。整个游戏甚至会有超过5000步的操作。而且对于增强学习,除了上下左右这些普通的移动,我们发现用鼠标点击界面控制不同物体的移动以及不同的行为,也是非常难的。我们发布了这个环境,所有人都可以参与其中。我们也发布了相关的报道,这基本上是一个开源的平台,大家可以测试自己的算法。

我们还没有完成过整局游戏,但是完成了操作《星际争霸II》比较重要的7个操作,比如选择一个单位并让它移动过去。我们所使用的算法能做到这一步,而且和人类玩家操作的效果基本一样。而另一些任务,比如建造建筑、收集资源等,仍然是比较难的。我们测试的算法,表现会比随机的环境要好,但和专业玩家还是有一段距离的。

我们的第一版是在Linux平台发布的。我可能是第一个用Linux玩《星际争霸》游戏的人。我们的增强学习还是做得非常好的,所以我们可以直接通过人的视角来观察这个游戏。如刚才所说的,我们可以将地图看成一个40×60的像素。从像素来开始进行判断的话,其实能够帮助我们更好地去了解机器是怎么样玩游戏的,虽然说机器还没有办法完全像人类一样。

来源:网易智能