AlphaGo!没错,The Matrix就在不远的将来

3月9日,势头,引起广泛讨论。

能引发全球性关注的对弈并不多见,虽然智能机器人和人类的对弈并不是第一次,1997年深蓝和卡斯帕罗夫也引发许多关注,但因为当时的媒体传播能力有限,今天的这次对决引起的轰动更值得关注。

比赛前夕就引发许多猜测,创新工场李开发在知乎作答得到了6000网友点赞,他表示,按照两者的Elo(围棋等级分),可以算出去年年底的AlphaGo打败李世石的概率相当低。但AlphaGo有可能在这几个月通过增加硬件,增加学习功能突飞猛进,进而击败李世石。

另外,李开复还说,如果从过去深蓝击败世界冠军的“成长过程”来看,深蓝大约1993年达到职业大师水平,4年后才在一场六盘的比赛中击败世界冠军(大约500Elo积分点的提升)。今天的AlphaGo应该和1993年的深蓝相似,刚进入职业大师水平。若要击败世界冠军,虽然未必需要4年的时间,但是几个月似乎不够。

虽然没有给出明确的预测结果,回答的很慎重。另外,存储在线总编宋家雨昨天撰文从理性角度分析了AlphaGO下棋方法做出了对胜败的预测。他提到:

从技术上看,AlphaGO涉及两个专业术语:深度神经网络和蒙特卡洛算法。机器学习,神经网络,简单说就是模拟人类大脑思考问题的方式。

有一种解释比较透彻:机器下棋的算法本质都是搜索树,AlphaGO也不例外。IBM深蓝就是依靠这种方法,该方法之所以不能应对围棋,原因在于树宽。国际象棋的树宽只有几十,围棋则可以达到300多(3611),在有限时间内要遍历300多树宽,就只有牺牲遍历深度(俗称“往后看几步”),而围棋又是依赖远见的游戏,不仅要看“几步”,甚至要看几十步,甚至上百步。

在围棋比赛中,棋手经常出现长考,其实就是计算这种深度。以往棋手长考时间很长,现在为了转播需要,棋手的保留时间有限,所以很多情况来不及计算。对于AlphaGO也是如此,尽管拥有1202个CPU和176个GPU,40个线程,但面对围棋比赛的需要,计算能力仍然受限,没有办法进行完全计算。

如果牺牲了遍历深度,那么AlphaGO要想击败高手就是一个笑话。在不牺牲深度的情况下,就需要适当缩小树宽,避免一些没有必要的搜索树的计算。所谓蒙特卡洛算法。采样越多,越近似最优解。就像从100个苹果中挑出最大的。随机拿1个,再随机拿另外1个进行比较,留下大的,再随机拿1个……,拿的次数越多,挑出的苹果就越大,但除非拿100次,否则无法肯定挑出了最大的。这就属于蒙特卡罗算法。与蒙特卡洛算法对应的是拉斯维加斯算法:采样越多,越有机会找到最优解。

采用蒙特卡洛算法,可以解决树宽的问题,结合机器学习,AlphaGO被科学界寄予了厚望,存储在线总编对比赛结果的预测是AlphaGO赢。

AlphaGo对未来的意义

AlphaGo 是什么?在今年一月的Nature上有AlphaGo的详细介绍,AlphaGo是一套为了围棋优化的设计周密的深度学习引擎,使用了神经网路加上MCTS (Monte Carlo tree search),并且用上了巨大的谷歌云计算资源,使用了GPU的通用计算能力。

AlphaGo的特点在于充分利用现在的机器学习技术,可扩张的架构,它不仅仅是用一台超级计算机,而是可以利用谷歌庞大的计算资源来做这个深度学习,提升学习能力。谷歌提供了15-20名世界顶级的计算机科学家和机器学习专家和全世界最庞大的谷歌后台计算平台,看看能把围棋这种高难度的人类游戏项目做到什么高度?

把人类感性的东西,通过计算机庞大的计算能力和高水平的人工智能程序来解释,通过机器的自我学习来提升,这是很有意义的。

AlphaGo里面的深度学习、神经网络、MCTS,和AlphaGo的扩张能力计算能力都是通用的技术。AlphaGo今天要进入一个新的应用领域,用AlphaGo的底层技术和AlphaGo的团队,应该可以更快更有效地开发出解决方案。

AlphaGo如果在围棋上击败顶级的人类智能,那么这种学习能力用于其他难以精确计算而依靠人类经验判断的领域,也会击败人类。

要知道,现在传感器实际上有远远优于人类的感知能力,如果计算机对非精确描述的事物学习能力也超过人类,那么人类真的就可以被替代了。

无人驾驶是小菜一碟,人类能学会的,计算机都可以学会,而且学得更好,那么人类的所有的技能与经验就全部变成可替代的了,包括编程。计算机可以自我发展,完成各种功能,人类的各种劳动都可以解放了。

这个世界听上去似乎很熟悉,没错,The Matrix就在不远的将来。