李开复:AlphaGo胜率仅有1.1%
谷歌人工智能AlphaGo和世界围棋冠军李世乭将于3月9日在韩国进行人机大战,科技将全程直播。创新工场CEO李开复在知乎上回答“AlphaGo能战胜李世乭吗?”问题时表示:“如果对弈一盘,AlphaGo尚有11%的获胜的可能性,而整个比赛五盘胜出三盘或更多,AlphaGo就只有1.1%的可能性了。”
以下为李开复在知乎上的回答原文:
先直接回答这个问题,下面再分析AlphaGo和人工智能的未来。我认为AlphaGo这次的比赛打败李世乭比较悬,但是1-2年之内必然完胜人类。
按照两者的Elo(围棋等级分),可以算出去年年底的AlphaGo打败李世乭的概率相当低。如何算出的呢?AlphaGo去年年底的*分布式版本的Elo是3168(见下面第一张图),而李世乭的Elo大约是3532(全球围棋手Elo: Go Ratings ,见下面第二张图)。
按照这两个等级分的两个棋手对弈,李世乭每盘的胜算为89%(公式见:How to Guide: Converting Elo Differences To Winning Probabilities : chess)。如果对弈一盘,AlphaGo尚有11%的获胜的可能性,而整个比赛五盘胜出三盘或更多,AlphaGo就只有1.1%的可能性了。(当然,这是几个月前的AlphaGo,也许今天已经超越了:见下面第三点)。
AlphaGo不是打败了欧洲冠军吗?有些人认为AlphaGo去年底击败了欧洲冠军樊麾,所以挑战(前)世界冠军应有希望。但是,樊麾只是职业二段(Elo 3000左右),而李世乭是职业九段(ELO 3532)。这两位的差别是巨大的,完全不能混为一谈。就比如说一个人乒乓球打败了非洲冠军,并不代表他就可以成功挑战中国冠军。
AlphaGo有可能在这几个月突飞猛进,进而击败李世乭吗?AlphaGo的负责人说:”外界不知道我们这几个月进步了非常多“。(来自:Odds favor machine over human in big Go showdown )。这点确实有可能。AlphaGo进步的方法有两个:(1)增加硬件:我们从Nature的文章可以看到:从1202个CPU到1920个CPU,AlphaGo的ELO只增加了28,而且线性地增加CPU,不会看到线性的ELO成长。若要达到364 ELO积分的提升,需要的CPU将达到天文数字(有篇文章估计至少要10万个CPU:AlphaGo and AI Progress)。当然,谷歌有钱有机器,但是纯粹加机器将会碰到并行计算互相协调的瓶颈(就是说假设有十万万台机器,它们的总计算能力很强,但是彼此的协调将成为瓶颈)。在几个月之内增加两个数量级的CPU并调节算法,降低瓶颈,应该不容易。(2)增加学习功能:AlphaGo有两种学习功能,第一种是根据高手棋谱的学习,第二种是自我对弈,自我学习。前者已经使用了16万次高手比赛,而后者也在巨大机组上训练了8天。这方面肯定会有进步,但是要超越世界冠军可能不容易。最后,换一种分析方式:如果从过去深蓝击败世界冠军的“成长过程”来看,深蓝大约1993年达到职业大师水平,4年后才在一场六盘的比赛中击败世界冠军(大约500Elo积分点的提升)。今天的AlphaGo应该和1993年的深蓝相似,刚进入职业大师水平。若要击败世界冠军,虽然未必需要4年的时间,但是几个月似乎不够。
还有什么以上未考虑的因素,导致AlphaGo获胜吗?如果谷歌刻意未出全力和樊麾对抗,或者有其它学习或并行计算方面超越了Nature里面的描述,那AlphaGo完全有可能获胜。
既然写了这么多,就对这个题目再发表一些看法:
AlphaGo 是什么?在今年一月的Nature (http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html )有AlphaGo的详细介绍,AlphaGo是一套为了围棋优化的设计周密的深度学习引擎,使用了神经网路加上MCTS (Monte Carlo tree search),并且用上了巨大的谷歌云计算资源,结合CPU+GPU,加上从高手棋谱和自我学习的功能。这套系统比以前的围棋系统提高了接近1000分的Elo,从业余5段提升到可以击败职业2段的水平,超越了前人对围棋领域的预测,更达到了人工智能领域的重大里程碑。
AlphaGo 是科学的创新突破吗?AlphaGo是一套设计精密的卓越工程,也达到了历史性的业界里程碑,不过Nature文章中并没有新的“发明”,AlphaGo的特点在于:不同机器学习技术的整合(例如:reinforcement learning, deep neural network, policy+value network, MCTS的整合可谓创新)、棋谱学习和自我学习的整合、相对非常可扩张的architecture(让其充分利用谷歌的计算资源)、CPU+GPU并行发挥优势的整合。这套“工程”不但有世界*的机器学习技术,也有非常高效的代码,并且充分发挥了谷歌世界最宏伟的计算资源(不仅仅是比赛使用,训练AlphaGo时也同样关键)。
AlphaGo的跳跃式成长来自几个因素:1)15-20名世界*的计算机科学家和机器学习专家(这是围棋领域从未有的豪华团队:也许你觉得这不算什么,但是要考虑到这类专家的稀缺性),2)前面一点提到的技术、创新、整合和优化。3)全世界最浩大的谷歌后台计算平台,供给团队使用,4)整合CPU+GPU的计算能力。
AlphaGo是个通用的大脑,可以用在任何领域吗?AlphaGo里面的深度学习、神经网络、MCTS,和AlphaGo的扩张能力计算能力都是通用的技术。AlphaGo的成功也验证了这些技术的可扩展性。但是,AlphaGo其实做了相当多的围棋领域的优化;除了上述的系统调整整合之外,里面甚至还有人工设定和调节的一些参数。AlphaGo的团队在Nature上也说:AlphaGo不是完全自我对弈end-to-end的学习(如之前同一个团队做Atari AI,用end-to-end,没有任何人工干预学习打电动游戏)。如果AlphaGo今天要进入一个新的应用领域,用AlphaGo的底层技术和AlphaGo的团队,应该可以更快更有效地开发出解决方案。这也就是AlphaGo真正优于深蓝的地方。但是上述的开发也要相当的时间,并且要世界上非常稀缺的深度计算科学家(现在年待遇行情已达250万美金)。所以,AlphaGo还不能算是一个通用技术平台,不是一个工程师可以经过调动API可以使用的,而且还距离比较远。
如果这次AlphaGo没有打败李世乭,那还要多久呢?IBM深蓝从进入大师级别到比赛击败世界冠军花了四年。AlphaGo应该会比深蓝更快提升自己,因为深蓝需要新版本的硬件,和针对Kasparov的人工调节优化,而AlphaGo是基于谷歌的硬件计算平台,和相对通用的深度学习算法。所以,几个月太短,4年太长,就预计1-2年之间吧。
从国际象棋到围棋,到底是不是巨大的突破呢?肯定是的,在这篇文章里面(在国际象棋领域,电脑已经可以战胜人脑,那么围棋领域电脑还差多远? - 计算机 ),第一位回答者分析了围棋的复杂度为10^{172} 而国际象棋则只有10^{46} 。在1997年深蓝击败世界冠军时,大家都认为:深蓝使用的是人工调整的评估函数,而且是用特殊设计的硬件和”暴力“的搜索 (brute-force) 地征服了国际象棋级别的复杂度,但是围棋是不能靠穷举的,因为它的搜索太广(每步的选择有几百而非几十)也太深(一盘棋有几百步而非几十步)。而AlphaGo的发展让我们看到了,过去二十年的发展,机器学习+并行计算+海量数据是可以克服这些数字上的挑战的,至少足以超越最顶尖的人类。
AlphaGo 若打败了世界冠军,就意味着计算机超越人脑?或者可以思考了吗?我的回答:
在可以凭逻辑分析推算的问题上,机器即将远远把人类抛在后面。机器速度会越来越快,学习能力会越来越强,数据会越来越多。当年,大家讨论“国际象棋输给机器不算什么,围棋才是真正的智慧”只是我们人类维护自己尊严但是不实际的幻想!今天,我们该面对现实了!
在大数据+机器学习+大规模并行计算的时代,我们将看到无数的商机和产品,能够在预测、分析、推荐等方面,产生巨大的商业和用户价值。不过,这些解决方案和人类相比,其实没有什么意义,因为人差太远了(比如说:推荐引擎将能推荐你最可能会买的产品、想吃的菜,想认识的人;自动交易能得到更高的投资回报和风险比例。。。)。
在感知方面,人类也将会被机器超越。今天的语音识别,人脸识别,未来的自动驾驶,都是例子。
但是,对于那些科幻片的粉丝们:以上都还是冷冰冰的技术,机器人是否会人性化?这还是未知的。毕竟,在情感、喜怒哀乐、七情六欲、人文艺术、美和爱、价值观等方面,机器离人还差的很远,甚至连基础都没有。对人工智能的研究者,这是下一个挑战。对我们人类,在下个突破之前,我们还是多发展右脑吧!
P.S. - 也许有人好奇,为什么这个话题我说了这么多,因为在1986年,我在读书时,曾经开发了一套黑白棋系统(复杂度10^{28} ),击败了黑白棋的世界团体冠军,而当年的那套系统也有(非常粗浅的)自我学习的能力。有兴趣的网友可以在这里看到我当年的文章:A pattern classification approach to evaluation function learning ) 。
下一篇: python实现磁盘日志清理的示例