AlphaGo Zero為啥能贏?用肉夾饃和比武就能解釋了

編者按:1024程序員日的前幾天,阿爾法村四代目Zero初登場便碾壓了它的「前輩」們。如果它有聲音,會不會大喊一句「顫抖吧,人類」?

我們找到正埋頭爬代碼的塔塔醬(LostAbaddon),讓他用一些接地氣的例子,講講這位AlphaGo Zero是什麼,與先代有什麼不同,可能給人類世界帶來怎樣的衝擊。

結果,他半夜給了我一篇關於肉夾饃、手抓餅、朋友圈和武林秘籍的稿子。

就在前幾天,阿爾法村第四代AlphaGo Zero閉關出山,以滿血姿態秒殺了前輩AlphaGo,又以89比11的高絕戰績碾壓了Master。

而AlphaGo去年剛以4比1的總比分戰勝18屆世界冠軍李世石;Master不到半年單挑人類世界頂尖棋手,保持60連勝,更三戰全勝地拿下了人類世界第一人柯潔。

這從不曾與人學藝,全靠閉關自修的Zero到底是何方神聖,不由讓人非常好奇。

狗中有乾坤

每個人工神經網路在使用的時候,都分為兩步:訓練與使用。 AlphaGo也不例外。

Zero之前,AlphaGo的基本過程,就是用人類棋譜來訓練決策網路,然後自我對弈來強化學習,然後用強化學習後的決策網路來訓練價值網路。都訓練成功後,就可以在實際比賽中結合蒙特卡洛樹搜索來進行下棋決策了。

類比來說就是:

一開始,郭靖跟著江南七怪學功夫,被各種教育各種折磨,這就是照著人類經驗深度學習訓練的決策網路。

學到一定程度後,江南七怪看郭靖實在太笨,自己能教的都教完了,他只學會了怎麼猜別人出拳,於是只能嘆一口氣走了。這就是快速走棋。

接著,郭靖遇到了周伯通,教他怎麼左右手互博。於是郭靖開始不斷和自己對打,功力逐步增強。這就是自我對弈強化學習訓練的決策網路。

然後,郭靖在和自己對打的時候,逐漸形成了超強的武感,看一個人抬手就知道他要出什麼招,看一個人吐納就知道自己這一拳勝算幾何。這就是價值網路。

某一天,郭靖終於出山了,開始和18屆天下第一武道會冠軍金輪法王,以及人類世界第一人王重陽交手,對方每一次出招前郭靖都能預判,該怎麼應對,每種方案勝率多少,怎麼引誘對方露出破綻,這就是蒙特卡洛樹搜索。

至此,天資愚笨的郭靖終於成為了一代巨俠。

到了Zero這一代,我們去掉了準確率不高的快速走棋網路,用一個極深殘差網路合併了決策網路與價值網路。

再舉個例子,石破天原本什麼武功都不會,某一天他來到了俠客島,面對大量的武功秘籍卻一本都看不懂,因為他不識字。

接著,他看到了洞壁上的太玄經,就隨便照著動了下經脈,這就是初始隨機網路。

隨著經脈活動得越來越多,石破天的內力開始逐漸積累,並且開始和自己對打,雖然一開始只是花拳繡腿,但太玄經本身的功效非常強大,石破天的進步神速。

第3天,他已經可以打敗金輪法王了。 第21天,可以打贏王重陽。 第40天,正式出關的石破天已經可以打敗此前的天下第一郭靖。

於是,完全靠著無字天書和自己對毆的石破天,成了江湖上無能及的神一般的存在。

可見,結構更加簡單了,但功能卻變得更加強大。

長江後浪推前浪,一浪更比一浪浪

網路結構的改變,為什會造成這麼大的影響?

一切的開端,就是我們腦袋裡的那個小小的細胞——神經元。

形象一點來說,就是一群人跟你說話,每人說一句,然後你就自己琢磨了一下,把自己琢磨的結果說給了下一個人聽。

接著,一大堆神經元連接起來,一組神經元的輸出接到另一組神經元的輸出,最後留幾個作為整個網路的輸出,這就是神經網路。

組成網路並不是最終目的,最終目的是根據輸入來給出恰當的輸出,並且這個輸出能在可評判的標準里達到最好。

也就是說,神經網路在把神經元通過一定的網路結構連接起來後,會不斷地調整神經元的參數,使得最終輸出的結果與訓練用的數據儘可能地接近。最後當網路穩定下來後,我們就認為得到了一個最符合輸入與輸出之間內在邏輯關係(或者說本質規律)的神經網路,可以用來做別的事了。

那麼,神經網路為什麼這麼厲害? 你可以這麼理解:

每一層神經網路就好比流水線上一名專門的工作人員,但他只能做一個領域的事情。當只有輸入層和輸出層的時候,就好比流水線上只有兩名工作人員,一個只會和面,一個只會切菜,於是你最後得到的只能是酸菜餅。

然後,加一層隱藏層,就好比又來了一個師傅,他會包餃子,好了,你可以吃韭菜餃子了。再來一個隱藏層,他會剁肉,你就有了豬肉韭菜餃子了。第三個隱藏層會買老乾媽,那日子就美啦~~~

因此,隱藏層越多,整個網路能做的菜就越多,表達能力就越強。

不好意思放錯圖了……

▲來源:martechtoday.com

但做菜師傅多了也不總是好事,因為要付工資……這在神經網路中就體現為,要訓練的神經網路越深,需要消耗的計算資源就越高。所以如何調節網路結構,在不降低網路能力的情況下降低計算量,就很重要了。

我們先來看最簡單的,有一層隱藏層的神經網路,即所有輸入節點連接到每一個輸出節點上,這種網路被稱為全連接網路。

但這樣每個節點上的連接太多,導致計算量會非常大,而且問題都壓在了如何選擇神經元的激活函數上。

就好比我們本來希望可以通過流水線來分解滿漢全席,但現在卻要求一位大廚把整座菜都給做了,問題根本沒有簡化。

為此,我們就給網路添加若干節點,這些節點是在輸入和輸出之間隱藏起來的一層, 被稱為隱藏層:

神經網路的複雜表述力來源於其網路結構,所以我們一般會給網路加上多層隱藏層,這就是多層神經網路。如果層數還非常多,那就是深度神經網路。

這樣,表達力是強了,但有一個問題:需要訓練的節點與連接的數量也陡然增加。

本來網路上每個人發的微博你都會看到,這樣顯然就信息過載了,於是每個人只看自己的朋友圈——下一層網路中的節點不與上一層的所有節點相連,而只與相鄰的節點相連;

接著,我們進一步假定朋友圈裡的親戚發的消息都是同類型的,每個同事發的消息也都是同類型的,決定信息類型的只是朋友和你的關係,而不是看具體是誰——下一層節點與上一層節點的連接權重只與相對位置有關而與具體哪個節點無關;

最後,我們看朋友圈的時候只看主要信息,忽略次要信息——這就是池化。

就比如下面這樣:

卷積網路的特徵,就是認為局部特徵是全局適用的,就好比有人說「觀一葉落而知秋至」,你不需要管到底是哪一片樹葉落下了,這是一種局部與整體對應的特性。

卷積網路解決了同一層計算量過大的問題,但整個網路的深度依然是一個問題,因為太深的網路訓練傳不下去

▲來源:stefano carniccio / Shutterstock

為了解決這個問題,人們就又想出了不同層交錯合併的殘差網路。殘差網路將某一層經過簡單處理後,與其後經過N層處理的結果進行合併,在不損失處理能力的情況下,讓從結果來的訓練結果可以傳遞迴之前的起點,從而有效緩解了網路過深時的訓練結果傳遞的各種問題。

就像這樣:

殘差網路使得深度神經網路的深度可以有一個極大的飛躍。比如2015年的圖形識別比賽中,初次登場的殘差網路在別的網路都只能訓練三十多層的情況下,率先訓練到了一百五十多層。

這就好比說,普通高手只能苦練三十年,有三十年的功力,殘差網路卻可以一口氣擁有一百五十年的深厚內力,那要傲視武林當然就輕鬆愉快了。

AlphaGo系列從一代到三代,使用的深度學習網路是基於卷積神經網路的,而四代目則將利用殘差神經網路將策略網路和價值網路合併,形成了極深神經網路來做學習,就好比虛竹找到了無崖子,獲贈了百年北冥神功內力,一躍成為三巨頭之一。

童年的終結

圍棋曾被譽為人類智能的高地,那麼Zero為什麼可以不依靠人就完成「學習」呢?

很大程度上是因為圍棋的特殊性:遊戲規則是確定的,對勝負的判定有明確的標準。

舉例來說,程序可以隨機生成一個布滿棋盤的黑白棋分布,通過遊戲規則來判定這個分布下到底誰贏了,如果調整某個棋子的位置,勝負會怎麼變化。久而久之,計算機就可以知道下子在什麼地方勝率最大,怎麼走最保險。

相比之下,你要人工神經網路生成一篇「感人」的文章,對於什麼是「感人」並沒有一個很明確的定義,這就難辦了。

因此可以想像,未來更多判定標準明確的領域,恐怕都會被人工智慧所佔領,比如科研領域——於是我發現我失業的概率又增加了好幾成……

自我學習的Zero還為大家帶來了一些思想上的轉變,比如人類的經驗和知識到底有多合理?真理到底是怎麼樣的?

在哲學上,知識論就是處理經驗、知識與真理之間關係的一門學問,四代目的出現無疑向這一古老的哲學學科提出了新的挑戰。

以萊布尼茨為代表的天賦論流派就認為,真理本就存在於單子(或者別的哲學本體)中,人們不過是從單子內獲取本就存在的知識。

這樣的觀點在AlphaGo Zero看來顯然是不正確的。一來人們普遍認為人工智慧不具備自我意識,那麼它們自然不可能從單子內獲取知識,而來它們的成績表明,它們比人類更接近圍棋的真理。一個不具備獲取知識能力的東西,比人類更先獲取到更全面的知識,這對天賦論來說無疑是一個概念上的挑戰。

同時,Zero還對人類經驗的有效性造成了衝擊。它似乎告訴我們一件其實人類早就知道的事實:人類的經驗只能覆蓋很小的一部分現實,死抱著經驗不放,只能把自己圈定在一個越來越窄的小範圍里。

這一顯而易見的事實,被一個暫時還不具備真正智能的人工神經網路給指了出來,這就讓人不舒服了。

未來會有越來越多的人類經驗被以人工智慧為代表的「冰冷的機械」給推翻,我們是否做好準備了呢?

如果人工智慧通過做實驗,研究出了人類從來不曾想到過的物理理論和創造生命的方式;或是通過研究全球金融市場,發明了更快更高效的工具和策略,從而可以從人類金融市場賺取巨量的資金;或是自行設計無人駕駛汽車,甚至分析人類歷史,總結出了一套社會學理論,我們又將如何?

當然,我們暫時不用想太多,因為從金融市場開始的一切,都不存在明確的規則和判定標準,不是現在的AI能解決的問題。

但如果未來的第八百代真的做到了上述這些事,人類又是否做好準備接受這突如其來的新時代呢?

童年的終結帶來的,往往都是成年的殘酷。

關鍵詞:#人工智慧# #AlphaGo Zero#

?? 責編:Raeka、船

?? 作者:LostAbaddon

網上小名塔塔,小小名塔塔醬。

在理論物理的康庄大道上一度撒丫子狂奔,奈何腳踩碎石忿忿而退。說人話就是覺得理論與實驗的差距太遠一眼望不到頭,遂下海拾碼。現以碼符號為生,所寫符號只能在一眾全球最大同性交友平台上被人看懂。

在專心寫碼之前,主修膜宇宙與Finsler幾何,前者在物理上基本被摒棄,後者在物理上基本是數學和物理無關,所以,我還是喜歡大家叫我扯淡家。


推薦閱讀:

三人行,一場專業而有趣的圍棋AI圍爐夜話
解讀AlphaGo教學工具(三)
古力 & AlphaGo vs. 連笑 & AlphaGo 的配對賽有哪些值得注意之處?
柯潔1/4子惜敗,機器之心獨家全程對話AlphaGo開發者導師 Martin Müller
柯潔說:後兩場全力以赴,之後不再與AI對弈

TAG:科幻 | 人工智能 | AlphaGo |