人机大战由来已久,其中最为轰动的当属IBM深蓝击败世界棋王卡斯帕罗夫,国内也曾经举办过中国象棋的人机对战,结果战平。当时对于人工智能有一个共识,机器可以挑战象棋,但没有办法挑战围棋。
当谷歌AlphaGO击败欧洲冠军之后,与围棋世界冠军李世石对战备受瞩目就在情理之中。AlphaGO和李世石的对战,第一局明天就会有结果,在此我愿意做一个预测,AlphaGO必败,我不怕被打脸。
AlphaGO下棋方法
从技术上,AlphaGO涉及两个专业术语:深度神经网络和蒙特卡洛算法。机器学习,神经网络,听起来就很高大尚,查看有关解释,就是模拟人类大脑思考问题的方式,总之不太好理解。
有一种解释比较透彻:机器下棋的算法本质都是搜索树,AlphaGO也不例外。IBM深蓝就是依靠这种方法,该方法之所以不能应对围棋,原因在于树宽。国际象棋的树宽只有几十,围棋则可以达到300多(3611),在有限时间内要遍历300多树宽,就只有牺牲遍历深度(俗称“往后看几步”),而围棋又是依赖远见的游戏,不仅要看“几步”,甚至要看几十步,甚至上百步。
在围棋比赛中,棋手经常出现长考,其实就是计算这种深度。以往棋手长考时间很长,现在为了转播需要,棋手的保留时间有限,所以很多情况来不及计算。对于AlphaGO也是如此,尽管拥有1202个CPU和176个GPU,40个线程,但面对围棋比赛的需要,计算能力仍然受限,没有办法进行完全计算。
如果牺牲了遍历深度,那么AlphaGO要想击败高手就是一个笑话。在不牺牲深度的情况下,就需要适当缩小树宽,避免一些没有必要的搜索树的计算。所谓蒙特卡洛算法。采样越多,越近似最优解。就像从100个苹果中挑出最大的。随机拿1个,再随机拿另外1个进行比较,留下大的,再随机拿1个……,拿的次数越多,挑出的苹果就越大,但除非拿100次,否则无法肯定挑出了最大的。这就属于蒙特卡罗算法。与蒙特卡洛算法对应的是拉斯维加斯算法:采样越多,越有机会找到最优解。
采用蒙特卡洛算法,可以解决树宽的问题,结合机器学习,AlphaGO被科学界寄予了厚望。
围棋就是一道数学题吗?
从算法的角度,AlphaGO的确被寄予了厚望。这有点类似围棋的定式,都是人类经验的结晶。但学习过围棋的人也知道,熟读围棋定式其实并不等于能够下好围棋。
说白了,围棋本身就不是一个数学的问题。这像爱情一样,婚配指数再高,也不意味着成功的概率就大。此外,还有近来非常流行的医疗大数据,所谓靶向药物,都是把疾病作为了一道数学的问题。(参见:让专家告诉你:“精准医疗”是骗人的吗?)癌症也不过是基因突变和配对错误,修改过来,药到病除了。所谓靶向,就像打靶一样,只是瞄准目标,不会伤害友军和无辜。
听起来都非常的有道理。但是生命、智能和情感没有那么简单,这并不是一道数学题。围棋也不仅仅是概率问题。
我非常期待人工智能的新突破。从目前有限的了解看,AlphaGO不过是计算能力的提升和算法的优化,有量的进步到没有质的突破。因此,即便AlphaGO战胜了李世石,其实也没有什么好欢心鼓舞的。
所谓云计算的时代,资源就像水一样,拧开笼头,就会源源不断的提供。付诸以并行算法,一个AlphaGO不够,几个AlphaGO一起来。普林斯顿的研究人员给出的19×19格围棋的精确合法棋局数:208168199381979984699478633344862770286522453884530548425639456820927419612738015378525648451698519643907259916015628128546089888314427129715319317557736620397247064840935。这个数字比我们地球所有的沙粒数量还要多!比人类已知宇宙的所有星球数量还要多!谷歌云计算能力再强,对此恐怕也是望洋兴叹了吧!
不管胜负如何,从市场宣传的角度,谷歌都是胜利者。一来巩固了技术领先的形象,二来间接宣传了云计算、机器学习。所谓胜负100万美元奖金,太值了。
让我哭笑不得的是“异构神机”,就算是借势,也没有这么玩的吧!活脱脱的抄袭,东施效颦,难道我们就这点出息!就连“好声音”、“模仿秀”不是也要购买版权吗?