演讲实录丨刘知青 人工智能围棋的技术突破,标志着人工通用智能的到来

  1. 云栖社区>
  2. 博客>
  3. 正文

演讲实录丨刘知青 人工智能围棋的技术突破,标志着人工通用智能的到来

沉默术士 2017-05-24 16:37:00 浏览1290
展开阅读全文

人工智能围棋的技术突破

标志着人工通用智能的到来

刘知青

CAAI理事

北邮计算机围棋研究所所长


    刘知青:大家上午好,很荣幸今天请到了各位嘉宾来合肥,有机会报道一下两个方面的东西:一个就是AlphaGo的技术突破,因为我们有很多的合肥围棋爱好者,肯定是关心为什么AlphaGo会产生这么大的一个作用,突破这个知识的关口,我们从技术和围棋的角度上面看它做了一些什么事情,产生的这个情况。第二个我谈一谈人工智能,因为AlphaGo这些东西它还不仅仅是一个围棋方面的,刚才王老也讲了,像谷歌这样的公司他志不在这里,他背后有很深的技术积累,我们说是某种意义上的通用技术,这个还不像人一样。就是类似的方法已经可以应用到其他领域上来来了。我就先讲一下这个AlphaGo的技术突破。

    比赛之前我已经预测了一下比赛的结果,虽然我们不是第一个能够突破它的的,但是我们跟踪这个前沿,然后1月28日发表的文章以后我们第一时间做了解读。当时我们预测是这样的三点,是比赛之前预测的。我就说第一点李世石不可能全胜,2机器的胜点更大一点。3,甚至有内幕消息说李世石会感到意外的。事实就是这样的李世石完全被AlphaGo全败了。这个团队开始做这个AlphaGo是两年之前,他们谷歌的目的是否能用一个最新的人工智能技术或者计算机的技术是不是能够理解和识别人工智能。到了去年8月份的时候我们知道它已经有了突破,因为11月份的时候我们在北京做第一次的世界计算机围棋锦标赛,为了做这个比赛我们在三四月份的时候就去各地邀请世界上所有的顶尖围棋队到北京来。很多人非常积极的,其中有一个是法国的围棋,他第一个时间报名来参加的,然后他还帮助我说,你还可以请这个人,请那个人,可是到了8月份他给我来了一封邮件,他说对不起老师11月份可能我来不了了,他是唯一一个人中间退出的。当时我还不知道,我说我们请你来我们提供最好的条件,你有什么问题我们都可以全面解决,他说不是你的原因,是因为我还有其他的事情要做。现在回头看这个问题就很简单了,他是计算机研究的成员。作为这个博士论文导师,他是预先知道了AlphaGo的突破,AlphaGo那个时候已经完全突破了现有的模式和水平的话,当然他也没有必要到这里来,去年8月份的时候这个事情就已经出现了。所以他就不来了。到了10月份这个AlphaGo就公布了。从当时的计算机水平,到五子、六子,到战胜樊麾就是巨大的突破。我们从软件角度来说AlphaGo是一个软件,是一个系统,它有版本,它不是一个永远不变的,到了去年10月份的时候它的版本13,5比0战胜了樊麾,到了今年1月份的时候它已经进化到版本18了,它可以让版本13四颗子了。本来AlphaGo还准备邀请其他的职业,邀请中国的职业选手到春节前后到硅谷或者到伦敦对AlphaGo做进一步测试,但是当它知道这个AlphaGo版本18可以让版本13四颗子的时候,这个测试已经不太需要了。因为我想这里有很多职业选手,比我水平高很多,你可以设想一个职业选手让樊麾四粒子吗?你很难想象这个结果。所以他们很有信心3月份就直接挑战李世石。作为一个参考,大概成出职业选手一千分。


    当然到了3月份就是版本18战胜了李世石,4比1。我的消息是说版本18还不是最终的,有确定的消息说有版本19,但是具体什么情况我就不便透露了,比版本18还要强大很多。那么AlphaGo的水平仍在不断提升过程中,尤其是在它的价值网络水平上面。就是这个团队没有放弃,他们认为他们还没有遇到瓶颈,他们还在继续升级也就是说我们今天如果再看到AlphaGo,既不是版本18,又不是版本19,就不是战胜李世石了,可能是另外一个版本了。我们也看一看它的成长的时间表,这个是谷歌公布的一个图片。左边这个树的是级别,横轴是18个月,18个月就是它的级数长了18段,从业余三级到职业九段,每个月大约长一段。而且这个曲线几乎是没有停下来,当然这个最终那块,就是到3月份那里,还没有停止现在。

   

    下面我说一下人工智能围棋的技术,我们回顾一下早期是怎么做的,一起AlphaGo的突破。陈志行教授的水平应该是到了业余六段,他得过全国高校教师围棋比赛得冠军。当然他完全是根据自己对围棋的理解,把围棋的知识都写到他的程序里面来了。但是它有一个主要的缺点,就是说以围棋的知识无法覆盖围棋的变化,围棋的变化太多了,你用一个知识都有一个场景约束,你这个场景是怎么约束它的,就是很难通过这个知识来归纳的,不可能完成。第二种方法就是完全抛弃了职业选手或者是人类的知识,它是用了一种概率的方法来做围棋的计算的。使用了概念模型获得复杂的数据计算。假设我们计算一个无理数,你可以看哪些点是在圆里面,这些圆里的这些点的个数比上放块里面点的个数,其实就是一个派的体系了。围棋也可以的,围棋的盘面也很复杂,我们是不是可以通过随机数的统计方法来判断当前盘面的好坏。现在所有围棋的方法都是使用概率模型来对每一个盘面进行估计,这个是法国人最先做的。这么做也有一个问题,就是说盘先很多,比如说现在我有三百个点可以做,每个点都去试试可能性,这样效率就不高了。因为虽然有三百个点,你会发现你没有多少时间去真正算那些的,需要把你有限的计算资源,放在那些真正可能下的点。所以它有一个最大信心上限搜索的方法,根据胜率分配蒙特卡罗评估的资源使用,加大在高胜率选点上蒙特卡罗评估,以提高计算效率。2006年这个蒙特卡罗的搜索已经达到了业余五级的水平。但是这个蒙特卡罗搜索的主要缺陷就是在于蒙特卡罗评估的“冷启动。就是如果一开始什么都不知道的话,我们知道做统计评估的时候只有数量比较大的时候,你的评估结果才有意义,你如果只评估三次,很可能就是一个非常偏差的结果。职业选手不是这么做的,职业选手是有非常强大的围棋的棋感,即使不是职业选手,我们下过围棋的一些业余选手,我们经过一定的积累,我们对棋型都有一定的积累,这些积累是我们评判的一些基础,我们不能把这些基本放弃了,这个就是棋感直觉。棋感直觉再加上技术思想,就完全克服了这个缺陷。我们看看落子直觉吧,这个就是给你一个盘面,任意的,它可以推荐合乎人类棋手落子的科学性,比如说在这个上面它就体现出来了哪些标着数字的,现在是黑下,黑可以弯头,可以贴在白棋上面等等,有不同的下法。盘面有三百多个可能,但是它选择了十几种走法,都是合乎科学的。第二个就是胜负棋感,胜负棋感就是无论你怎么下我都是赢的,,还有对半的机会,右边这个图就是表示了每个点它的胜率,越难一点的是说明我们的胜率更高一点,比较高的几个点都标出来了,大概在50%左右。这个胜负棋感是怎么得到的呢?它是AlphaGo自我堆积三千万盘,这个速度比刚才王老提的五秒一步还要快,它有一个快速计算的方法,它下了三千万盘,然后三千万盘里面每一盘找出一个胜负关系,通过这些关系来获得这个胜负棋感。然后这两个棋感直觉再辅助于蒙特卡罗搜索来进行验证,最后就是这么一个落子顺序了。它公布的是版本13的情况,搜索一步他往前看了28步。在刚才这个盘面下它认为它应该走图标的这个地方,如果这样它预测白棋将走一路二路跳,然后黑棋还有机会在四路上扳,这个局部就告一段落了。我看看了这个28步应该是几乎每次都是这么一个深度,28步还是挺深的,像我们业余选手我也就是看9步、10步顶多了。当然28步是在几乎所有的情况下都是这样,不会像我们人在某种情况下能算40步,50步的。


    这个就是我要说的AlphaGo的技术突破,下面我再谈一下人工智能围棋。


    我这块的标题是人工智能围棋的技术突破标志着人工通用智能的到来。我们准备讲述一下人工智能围棋研究的意义,核心技术突破,然后介绍两个背后的方法,一个是深度学习神经网络,一个是增强型学习算法,以及展望一下这些方法对于将来的影响。


    围棋当然非常重要了,围棋其实是我们当今世界上唯一一个最复杂的,就是肯定是最复杂的,人类经过流传过来的一个东西。当然你也可以设置一个新的围棋,就是比如设置一个29步的围棋,围棋是经过历史流传,有至少三千年的历史,现在世界上至少有四千万个围棋选手,还不包括爱好者的学习的孩子们。盘面的变化是在10的170次方,应该是比我们现在世界所有的原子的个数还要多。它是一个最复杂的致力游戏。早在北宋沈括就算过了,就是说一个点三种状态可以放黑子可以放白子,也可以不放子。最后我们现在算了一下结果是10的170次方。围棋一直被视做人工智能领域的一个重大挑战,它跟象棋不一样,象棋它是一个完全可以通过蛮力计算的,也就是10的46次方,但是人工智能领域里面我们发现这个方法是不可能直接用在围棋里面的,第一它的变化太多了,第二很多情况下不是通过蛮力来算的,比如右边这个图是02年,我们安徽的中科大的张达人教授,他做了国际象棋和围棋对弈过程中思维的扫描,它会发现就是说做围棋下棋的时候它的形象思维非常重要。它不仅有形象思维,又有逻辑判断,又有规划选择诸如此类的一些东西,是一种多种智能的一种综合。当然一直认为要解决这个东西是重大挑战,我们需要十到二十年的时间。其中两大难题是什么?一个就是我们叫做庞大的搜索决策空间。因为你要不做简单的智能去选择的话,你会面临很多很多的选点,一步棋有200个选点,两步棋就是200×200了。第二个就是胜负的评价。我记得有一次李世石跟唐为新三盘棋,第一盘棋下完了李世石他不知道怎么输的,就是点错误了,到了中盘的时候就更容易选错了。所以怎么去辨认这个错误。你怎么评价这个是好还是坏呢?而且棋子稍微挪一步可能结果就错了,所以这个很难直接就去判断胜负。就是这两个问题的。当然围棋既是一个目标,又是一个标尺,这个目标促使我们探索新的技术来克服这个目标,当然你要不断克服这个目标,表示你的人工智能技术水平达到了一个高度可以应用到更广泛的领域。我们认为AlphaGo战胜李世石标志着人工智能已经获得了重大突破。这个突破是什么?我的总结就是还是机器的直觉,直觉是职业棋手依赖、判断众多可能性的一个重要考量。它是通过长期的训练,长期的对弈积累下来的。AlphaGo的人工智能基础上面的突破是实现了一定层面的机器直觉。它给你一个盘面,它也能够给你一个当前的落子选点,以及胜负判断,而且这些选点和胜负判断都是非常高明的。有了这两个直觉就可以帮助我们克服刚才的两大问题,一个就是搜索空间巨大,一个就是盘面很难评估它的好坏。我们用这两个直觉来克服这两个问题。


    怎么来克服这两个问题呢?第一本来是这么一个庞大的搜索空间,是一个非常大的数,第一个就是用了这个落子选点的直觉来缩小了这个搜索的宽度。因为某些落子点是不可能的了,你不要去考虑它,你只要考虑那些高可能的落子选点。所以那些不可能的选点,通过落子直觉就把它排除掉了,这样在广度上面就缩小了范围。另外一个就是胜负的直觉判断,这样它可以在深度上缩小你的搜索空间。因为某些点你一看我这边已经不行了,就不要再继续考虑了,或者说这个对方不行了,如果对方不行了,对方也不需要去下这样的子,你必须设计双方最有可能的,最佳的落子点去选择。所以通过这两个直觉有效的缩减了搜索空间。换句话说它在搜索空间上面进行搜索,但是他是通过这两个直觉进行有效的直觉,这两个直觉指引了他在有效的空间进行搜索。这个是怎么做的?它是用了我们生物学的神经网络。这个神经网络某种程度上就是一个黑盒子,这边有棋盘的输入,输出的时候可能就是一个胜负的概率。神经网络在一定程度上是模仿人脑的神经元的组织结构,这个思想已经有几十年了。比如说为了做图象的识别,其实围棋最后做图象识别的时候要做复杂的数学计算,没有大量的计算资源是无法做到的。深度学习神经网络就是建立大规模的数据集的训练,这种神经网络技术本身是一种通用的技术,就是神经网络在这个地方可以搭建,做它们之间的构建,这个本身并不具有任何指引。只有通过搭建这些神经网络再用数据去训练它,然后调整它的参数,这个数据本身是领域的。它有两个主要的学习:一个是有监督的机器学习,就是你要告诉机器你要怎么做。其实人类在不同盘面的落子,就是把人类的知识教给了机器。在这个盘面上,你要这么下,诸如此类的东西,这些都是人类的知识。它通过人类交谈,人类标注的数据来进行学习。另外一个就是我们的增强型学习。这个应该是AlphaGo的最重要的核心。什么是增强型的学习?它的原理起源于动物的行为心理学。它是根据不同的行为给予不同的奖励或者惩罚来引导机器或者引导动物获得更多的奖励,从而调整它的行为。比如说教孩子的时候,孩子这个情况下总要犯错误,但是你要鼓励他尝试不同的事物,同时要鼓励或惩罚。比如说一盘棋,我每次这么下就会输了,那我自然就不会这么下,人也有自我的学习能力。就是为了你的目标你会调整你的行为,最大化你的目标的实现。这个就是引导学习的一种方法,而且是AlphaGo成长过程中一个最有效的方法。它是学习了什么东西呢?就是学习最后胜负的关系,胜负就是说我下的过程中,总共下了200步棋,最后我输了,我要把这个输的这个惩罚映射到我下的那200步棋里面去,要映射给每一步棋。当我有足够大数据的时候,我就会知道哪步棋现在是比较差,哪个盘面是最后导致我输的结果。赢了棋我会把这个奖励复制到我下的别的棋步里面,我以后就多下这样的棋。这样他就学习到了。神经网络算法是最重要的,并不是用到很多的机器。而且深度学习的这个增强型学习算法,可以不仅仅用于围棋,早期AlphaGo的团队是用它来解决打电视上的早期游戏,而且他们现在或者已经在做了医疗的诊断上了。


    我们总结一下这个地方我们叫做数据驱动人工通用智能。无论是神经网络还是增强型学习算法,都是把领域无关的人工智能,而训练深度神经网络的海量数据,以及增强型学习过程中所需要的奖励与惩罚都是相关的知识。比如你诊断出医疗上如果人没有诊断出来而产生了病,这个也是惩罚等等,像这样的数据以及奖励和惩罚都是与之相关的。我们人工智能围棋所展示的前沿智能方法就是把领域相关的这些数据,应用到领域无关的人工智能技术上。它的意义和前景是这样的,首先它的三大技术基础:它有大数据,有深度学习的神经网络和高性能的计算,因为需要大量的计算资源才能够可以。我们最近在跟国家超导中心在做类似的工作,也就是使用最先进的计算机来做计算。而且我们认为这个东西已经具有了一定的通用性,虽然这个通用性还不是像人一样,又能下象棋,又能开车,如果是医生还能诊断。但是这种方法在一定程度上具有通用性。现在可以用在围棋上面,已经开始应用在医疗诊断、自动驾驶等其他的领域了。当然我们认为它对于将来有重大的意义前景,其实很多人已经在不同程度上面找到我,说刘老师你能不能把你们的技术跟我们的比如医疗或者什么样的结合在一起,大家的需求非常非常大。


    我就举两个例子,一个就是医疗诊断。医疗诊断,其实昨天报告的时候IBM的沈院长也提出了,医疗诊断有巨大的市场。第二就是现在缺乏智能的设备能够及时的识别疾病。有些非常重要的病比如说急性肾损伤,肾损伤是一个非常常见的病,你要到ICU里面去,几乎50%的病人都有这样的病,但是识别非常难,即使两个肾都坏了,可能24小时之后才能发现。但是人工智能如果把这些医疗数据和我们刚才说的方法相结合,就能够早期的预测,它能看这个片子,他能看这些数据,你现在还没有得这个病的,我甚至可以早期的预测你是不是半个月以后或者半年以后会得这个病,易特曼公司已经开始做这个事情了。第二个就是自动驾驶,昨天我们也专门讲了自动驾驶的原理,其实他说方法跟我的一样,就是一边使用传感器对于驾驶场景的获取,可能包含视觉,包括雷达的数据诸如此类的,另外一个就是人对它的操作,这个其实就是数据量的,在这样的场景下人做这样的一个操作,人在这个情况下是要踩刹车的,在那种情况下是要转弯的诸如此类的,这些也是可以通过这些数据来训练海量的数据,来模拟神经网络的东西。当然很多其他的公司也在做。最后我就总结一下,就是人工智能,我们正处在人工智能爆发的转折点,这个AlphaGo的突破其实看到了我们原来不能做的事情,现在我们都能做了。我们预测未来几年数据驱动的人工通用智能会有井喷式的发展。


  引用乔布斯的一句话,但是我改了一点点:从机器的角度来看,秃鹰是地球上向往最高的动物,但是骑上自行车以后,人便能把秃鹰甩在后面。人工智能是我们发明出来的最非凡的工具,相当于我们大脑的自行车。谢谢大家!

本文来源于"中国人工智能学会",原文发表时间" 2016-09-28"

网友评论

登录后评论
0/500
评论
沉默术士
+ 关注