对于人工智能的这次胜利,爱范儿轻泼了一杯冷水
Google DeepMind 实验室的 AlphaGo 把欧洲围棋冠军樊麾干翻了,这条新闻都看过了吧,这里咱聊点儿不太一样的东西。(没看过的点这里)
首先,要说说围棋是个什么游戏。规则很简单,一人拿黑子一人拿白子,在棋盘 361 个交叉点上轮流下子,落子不得移动。一个点周围的四个点都是“气”,子周围没气就死了,死棋则被拿走。在棋盘 361 个点下满后,数数谁地盘大,谁就赢了。可以说,围棋是一个“圈地游戏”。
最简单的规则,最复杂的变化。
为什么这么重要呢?因为是机器第一次在这项竞技游戏上胜过人类。虽然 1997 年超级计算机“深蓝”战胜了国际象棋世界冠军卡斯帕罗夫,但围棋一直被认为是人工智能难以攻克的题目。
2013 年,日本电圣战上,电脑围棋 CrazyStone 打败了石田芳夫九段(石田让四子)。石田赛后评论 CrazyStone:“大约与业余六段水平相当……天才啊!”这次比赛算是电脑围棋的一次小突破,但由于有让子,算不上是真正的胜利。
在“通关”国际象棋之后,围棋不可避免地成为了人工智能科学家要攀登的下一座山峰。不过许多媒体以及职业选手对此并不太在意,认为计算机击败人类围棋手几乎是不可能的任务。许多媒体都曾发出如是论断:
计算机要在围棋上战胜人类,再等 100 年吧!
接下来要说点复杂的东西
围棋到底复杂在哪里?
参照维基百科上“游戏复杂度”词条,可以通过两种方式衡量棋类游戏的复杂性,一是状态空间复杂度,二是博弈树复杂度。
状态空间复杂度:围棋是 10 的 172 次方,中国象棋、国际象棋分别是 10 的 48 次方、46 次方。
博弈树复杂度:围棋是 10 的 300 次方,中国象棋、国际象棋分别是 10 的 150 次方、10 的 123 次方。
不多花篇幅解释两个名词的内涵,光看数字大小就知道围棋的变数远远多于象棋,但这还不足以说明围棋的复杂性。Facebook 智能围棋负责人田渊栋在知乎上有此一说:
单单拿游戏的状态个数去比较它们的难度是不准确的。有很多状态空间广阔但是易解的例子。让计算机投篮,出手的方向,速度,篮球的旋转,每个变量都是连续因而有无限可能,但是计算机试几次之后很快就能找到最优解……
围棋难的地方在于它的估值函数非常不平滑,差一个子盘面就可能天翻地覆,同时状态空间大,也没有全局的结构。这两点加起来,迫使目前计算机只能用穷举法并且因此进展缓慢。
围棋本已复杂,计算机更是要将围棋转化为 0、1,再穷举出所有可能的状态,最后进行决策——这项工作极为繁重。本次机器胜利意味着人们为这项工作找到了一个相对简单的解决方案,但仍说不上是质的突破。据爱范儿 CTO 何世友介绍,人工智能可以在三种情况下完爆人类棋手:
- 计算机性能无限强大,穷举之;
- 计算机穷举效率提高,高效穷举之(如神经网络);
- 新型计算机出现(如量子计算机)。
目前 Google 的 AlphaGo 正处在第二阶段。另外世友还指出,不必过分解读这次胜利——
人类处理 123+321=444 只需要三次运算,而计算机 CPU 需要进行上百次运算才能得出同样的结果。现在人工智能战胜了人类棋手,是策略优化和硬件运算速度提高共同作用的结果,换句话说,是人类战胜了人类。与其惶惶论机器将征服人类,不如说得益于计算机的帮助,人类的诸多智慧能够更快得到验证,这对人类文明进步的提速将不可估量。20 世纪中叶以来,在计算机的帮助下数学家们解决了三大数学猜想之一的四色问题以及克卜勒猜想,这便是最好的佐证。
深度学习只是机器学习领域的一个分支。有趣的是,从近年机器学习领域的发展来看,似乎深度学习已经统治了这个领域。这是一瓶好的万精油。有意入机器学习坑的同学们赶快上,不要放过它。
题图:vimeo