360首席科学家颜水成:AlphaGo是这样练功的

360首席科学家颜水成360首席科学家颜水成

新浪科技讯 3月12日下午消息,人机围棋对决第三场今日落下帷幕,3:0!谷歌围棋程序AlphaGo再下一城,虽然后面还有两场比赛,但已在这次举世关注的人机对决中锁定胜局。

第三场直播中,新浪科技邀请到奇虎360首席科学家、人工智能研究院院长颜水成教授,颜教授在直播中对AlphaGo、人工智能等进行了深入浅出的分析讲解。

颜水成教授在直播评述中主要就AlphaGo的计算力、AlphaGo如何“练武功”、AlphaGo的三个网络系统,和AlphaGo的开源问题及未来意义等发表了看法,还谈到了为什么这次比赛赛制不公平的原因。(李根)

以下为360首席科学家、人工智能研究院院长颜水成教授的发言实录整理:

分析AlphaGo的计算力变化

从算法的角度来讲,比赛开始阶段,机器跟人相比,它的优势不会特别大,因为它初期的计算不是很精准,但越到后面的话机器的计算的精准度相对变得更高,在前面如果没有积累很好的优势,后面就可能比较困难了。

从另外一个层面来看,大家有一些讨论,AIphaGo是用计算机集群的方式,并不是一个单线程,或者认为是一群人跟李世石一个人在PK,一个有趣的讨论是说,如果我们把中国跟韩国还有全世界高水平的棋手全部聚在一起跟AIphaGo一起拼的话,是不是有赢的可能?

开局之前,我跟连笑有一些讨论,我们在讨论,其实机器AIphaGo今天下完棋,它后面可以继续学习,不用休息。同时我也问他,我们人的话,从 一个段级升到另外一个段级到底要花多长时间。我们不能认为AlphaGo就静止在那,就不会往前走了,它还有很多可以提升的地方,比如像深度学习新的模 型,优化的更好策略可以让它的预测更加准确并且快速。另外一方面,我们可以投入更多计算机的资源,让它们可以速度变快,它的段级的增长速度就有可能是非常 快的。

揭秘AlphaGo如何“练武功”

AlphaGo有自我学习的能力。回到整个AIphaGo的算法体系,它的学习过程是什么样的?其实我们没有必要一定用围棋的观念来解说这个事情,围棋很多人不是特别懂,AIphaGo的学习过程非常像一个不懂武术的人跟一个武术大师去学习的过程。

学习分两步,第一步大师跟他说,你每一次出招时候一定要有攻击性,这个有点像局部的模型,就像在AlphaGo里面叫做策略网络的部分,那么还 有一个就是说,他的师傅会教他,其实你每一次出招的时候,要考虑到对手会拆招,你再还招,依次下去,你要考虑一下,从长远角度来说你这个比武的过程中是不 是有赢的概率,在AIphaGo里面这个可以理解为叫做值网络。这是第一步,因为师傅跟徒弟之间的交往过程是有限的,同样我们能够从专家的手里拿到棋谱也 是比较有限的。

第二步是学生互相练习,或者一个人坐在那个地方左右手互搏,但是这个左右互搏的根基是他已经从师傅那里已经学到一些东西了,也就是有了一个不错 的模型了,那么在左右互搏的时候,根据原来师傅教的做,用同样的办法,右手应该这么打,左手应该那么打,打来打去最终有一个方输或者赢。这个东西拿过来, 帮助这个学武的人去提升他的经验值,他的比武的能力就会增强。

在AIphaGo里面把这一步叫做增强学习。这个AIphaGo跟个人左右手互博的过程有优势。人在左右手互搏的时候可能要花很长的时间,这个 AIphaGo它就比较容易,它可以在电脑里面模拟,产生新的棋局,这样收集到的经验和样本非常多,所以就会自我逐步增强自己的能力。

假设不学棋谱的AlphaGo

这个东西,首先我的理解是这样的,一方面来说是有这个可能性,是有一定的概率。在它左右互搏的时候,这个时候基本都是随机的,如果它比较幸运的 话能够在一定的时间范围内能够积累出一些样本,这些样本有一个共同的模式的话,就可以提炼出来,这些提炼出来的模式又可以去指导下一步怎么左右手互搏,这 种学习的可能性确实是就存在的。

但是另外一个方面这个是非常困难的,我们刚才说像围棋的话,存在的可能性可认为有361的阶乘那么多种,应该是10的700多次方,那么在这么 一个空间里面,你到底有多大的可能性能够在有限的样本里面,存在一些公共的模式,这个不是说没有,而是说它的概率很低,那就有可能虽然有很多的计算能力, 在短时间内,你也是学不出来,所以总结起来说,概率上是存在,但是真正实施的时候,可能会非常非常的困难。

早期有不少AI不是特别强的程序,有了这些程序的话 (这些程序不是通过棋谱学出来的,通过人的知识直接编出来的), AIphaGo跟这些程序PK,PK过程中可以积累样本,这种可能性应该更高一些。

其实我们可以从另外的角度想这个问题,高水平的棋手回溯到历史上,很早很早以前,当时人的能力并不是非常强,他们是怎么开始围棋,是怎么逐步提升能力的。也许可以指导AlphaGo做类似的事情。

分析AlphaGo的三个网络系统

AIphaGo里有三个网络,网络起的作用是不是一样的。

第一个网络,根据前面这些棋谱或者自我对博的过程中的棋谱,根据当前这个棋面的状况判断下一步专业棋手经常去的位置在哪些地方,这是一个局部的观点,这样的话就没有太多地考虑假设真的把棋局走完后会是什么样子,这是策略网络。

另外一个是值网络,这个网络是在当前的情况下假设去模拟走完之后胜算的概率是多少。最后一个是rollout网络,它用来快速模拟走子过程。里 面有一些随机性,它采用了很多采样,最后这些采样结果合在一起算出真的走下去的胜算概率是多少,这两个概率融合在一起来判断当前这个棋局,假设这个棋走完 了它胜算的概率是多少。这部分信息和策略网络信息合在一块给出下一步应该怎么走。

策略网络的话,其实是一种直觉,就是说下面一步怎么走,这个值网络的话,就是说我下完这步棋了,比如我把这个棋放上去了,当前这个棋局,你感觉 从整体上来说以后的发展趋势来说整个赢的胜算有多大。Rollout网络是非常快的,它直接就是到了一个节点上的话,直接真的往下搜过去,每一次都有不确 定性,它有一个概率比如说我有0.5走这边,0.2走这儿,它真的按照这个概率去走,走很多次,比如说走一千次,这一千次就可以看出来它是一个什么胜算, 这个概率就可以认为如果真的走下去胜算是什么概率。这个概率和 值网络的概率合在一起,就变成把这个子放在这里,整体棋局赢的概率是多大,两个的作用是不一样的。一个是粗暴式的搜索,一个是前面的经验算出来的一个值。

大家比较不确定性的地方就是说在左右互搏的过程中,是不是能有新的招式学出来,这是大家关心的问题,因为可能棋局基本上可以认为是无穷尽的,无论怎么互搏的话,其实只能得到非常有限的一些棋局的样本。怎么样去获取有效的棋局就变得非常关键了。

认为AlphaGo赛制不公平

这种比赛是不公平,因为AlphaGo用的是计算机的集群,有不同版本的AIphaGo,据我们得到的一些信息来看,最强的版本用了1920个CPU加上280个GPU。

这种计算力像一般的机房,一台机器是4个GPU,相当于70台比较强的GPU的机器在那儿,一个是16核的CPU的机器,比如插片机,100多台。

这样的计算力差不多可以支撑一个不错的创业公司。比如像做人工智能的创业公司,如果能达到这个级别的计算机性能,已经算不错了。

在AlphaGo的比赛过程中,要想缩短计算的时间,可以用更多的CPU和GPU去做计算,搜索算法是可以做并行计算的,有一个叫做采样的东 西,采样是1000个,每个都是相互独立的,用1000个CPU去采样的话相当于算一次时间。如果把采样次数增加,就可能预测更准,这个时候就可以用更多 的CPU或者GPU的资源去做这样的事情,这样得到的解就会更好。总的来说,它要花多长时间算每一步,纯粹是计算资源和精度上的平衡。

从人工智能算法角度来说,一千个CPU就是一大堆人合在一起,最终它们一起把这盘棋下赢。这就有点类似一堆人在群殴李世石

评价AlphaGo开源的影响

如果真的算法开源的话,完全就有可能别人拿这个程序自己设计出来新的一个AIphaGo出来,而且在技术上可以往前进一步的更新迭代。

希望AIphaGo能够公布一些它的内部数据,这些数据可能也会帮助棋手了解人工智能它在下棋的时候是怎么想的,这个数据很有意思,展现的方式 不是展现出走到最后一步是什么样子,而是展现出一棵子树,展示我们有多大的概率从现在的子一步一步到叶节点,以及这种走法的胜算是多少。

如果要复盘的话,这些信息可以帮助去解释他为什么要走这一步。

评价单机版AlphaGo

现在AlphaGo单机版已经存在了,棋力还是不错的,普通人跟他下棋的话,他还是蛮强的。开始的时候我们谈过AIphaGo本身的算法在后面 还有很多可以提升的地方,可以期待速度还可以加快。完全有可能再过一些时间单机版也有非常强的性能。极端情况下可以做成联网式的,只要有server就可 以。

人工智能角度看“打劫”

对于打劫这个事,后来我们也仔细分析了一下,从算法角度来说的话,这个算法是不是有可能把打劫这个事情考虑进去?后来仔细看了一下其实还是有可能的,所以也许它现在的系统里面已经一定程度上的处理这个情况了。

AlphaGo3:0战胜李世石的意义

这盘棋3:0,之后我们可能期待有三个事情发生,第一个是外面的人都会期待AIphaGo开源,这些棋手可以更好地分析它算得有多么厉害,跟人算的有没有相似性。另一方面,这次AI能够在围棋上战胜人类,大家对人工智能的技术会更加有信心,可以期待人工智能在工业上有更多的产品流行起来。另外会 出现一个情况,说不定有很多人不服输,也是算法设计的高手,可能想跟AIphaGo进行PK,算法跟算法。

人机大战的意义

这次人机大战带来的效益并不只是围棋这么一个领域。围棋单点把浪潮冲得很高,浪潮往下走的话波浪一下就扩展到人们生活的方方面面,开始的时候说 过大家会因为这件事情认为其实人工智能技术的春天已经到了,人工智能既然能够战胜人,在围棋上战胜人类高级的专家,他在生活的方方面面也许也能做得很好。 比如开车这件事情,并不需要非常专业的人就可以开车,这件事情有没有可能人工智能比人做的更好呢。

还有其他的方方面面,现在比较流行的物联网产品,物联网的产品其实很多就是基于人工智能的技术,人工智能可能有两种形式,一种是把它放在网上放 在云上,还有一种是直接放在人工智能产品本地端。因为这件事情可能会让更多的人对这些人工智能的产品产生兴趣,以前只是觉得那个玩意儿只是听说还可以,也没有听说会怎么样,现在更多的人会对这些产品感兴趣,带来的社会效应是完全不可估量的。