2017年10月19日,DeepMind在《Nature》雜誌發布了其最新研究成果阿爾法元(AlphaGo Zero),題目很嚇人,叫《無須人類知識掌握圍棋》,並正式推出人工智慧圍棋程序的一個最新版——阿爾法元(AlphaGo Zero),讓業界為之一震。
新版的AlphaGo計算能力空前強大,完全從零開始,不需要任何歷史棋譜的指引,3天超越AlphaGo李世石版本,21天達到Master水平。百戰百勝,棋藝增長遠超阿法狗, 擊潰阿爾法狗100-0。這是迄今最強大的圍棋程序:不需要參考人類任何的先驗知識,完全靠自己一個人強化學習(reinforcement learning)和參悟,直接採用自對弈進行訓練。
新一代的達到這樣一個水準,只需要在4個TPU上,花三天時間,自己左右互搏490萬棋局。而它的哥哥阿法狗,需要在48個TPU上,花幾個月的時間,學習三千萬棋局,才打敗人類。 為什麼阿爾法元能夠完全自己學習?它依靠的到底是什麼?
為什麼阿爾法元能夠完全自己學習?
AlphaGo的前幾代版本,一開始用上千盤人類業餘和專業棋手的棋譜進行訓練,學習如何下圍棋。AlphaGo Zero則跳過了這個步驟,自我對弈學習下棋,完全從亂下開始。
AlphaGo Zero之所以能當自己的老師,是用了一種叫強化學習的新模式。AlphaGo Zero 採用了一個帶參數的深度神經網絡,對棋盤上的每個位置,都會與那個帶參數的神經網絡相結合,使用蒙特卡洛搜索樹來搜索出每一步落子可能性的價值,並且經由一個判斷環節來選擇其中最可能贏的落子方式。輸入的信息是位置信息和歷史下法,輸出的信息是可以落子的可能位置和每個可能位置的價值。
系統從一個對圍棋一無所知的神經網絡開始,將該神經網絡和一個強力搜索算法結合,自我對弈。在對弈過程中,神經網絡不斷調整、升級,預測每一步落子和最終的勝利者。AlphaGo Zero 完全不使用人類的經驗棋局和定式,只是從基本規則開始摸索,完全自發學習。
升級後的神經網絡與搜索網絡結合成一個更強的新版本AlphaGo Zero,如此往復循環。每過一輪,系統的表現就提高了一點點,自我對弈的質量也提高了一點點。神經網絡越來越準確,AlphaGo Zero的版本也越來越強。使用了更先進的算法和原理,讓AlphaGo Zero的程序性能本身更加優秀,而不是等待硬體算力技術的提升。
雖然這種技術比此前所有版本的AlphaGo都更為強大,但是訓練完成的AlphaGo Zero只能給人們發現它自學成才的許多圍棋打法與人類上千年來總結的知識是不謀而合的,比如打劫、徵子、棋形、布局在對角等,都有人類圍棋的影子。
在人類下象棋的歷史中,曾經發明過許多「定式」。這可以看成是局部的最優解,雙方只要都按照這種定式來下棋,就會取得相同的優勢。在十個小時左右的時候,AlphaGo Zero 發現了簡單的定式;在十六個小時左右,發現了「小雪崩定式」。之後隨著棋局的增多,AlphaGo Zero 的棋力越來越強,直到超過了人類目前能夠掌握的棋力,超越了之前的世界最強AlphaGo。
所以人類棋手也不用傷心,這恰恰證明人類在過去的幾千年裡摸索出了圍棋這一遊戲的「自然規律」,而人工智慧與人類棋手的對比就像是汽車和跑步。每下一步僅需要思考是0.4秒的AlphaGo Zero所產生的美感與人類在緊張對弈時的美感是完全不同的,就像沒有人會把F1方程式當賽跑比賽看一樣。
它依靠的到底是什麼?
報導中常說的「自學成才」其實表達的不算很準確,下棋有多少種走法,機器可以判斷,人卻沒有那麼大的計算量。圍棋的下法總計3的361次方,這個數字極其龐大,比整個宇宙原子總和還要多,因此利用暴力窮舉法來驗證所有走法的可行性顯然不切實際。
David Silver說,很多人相信在人工智慧的應用中算力和數據是更重要的,但在AlphaGo Zero中他們認識到了算法的重要性遠高於算力和數據——在AlphaGo Zero中,團隊投入的算力比打造上一個版本的AlphaGo少使用了一個數量級的算力。
AlphaGo廣為人知的三個部分分別是策略網絡、價值網絡和蒙特卡洛樹搜索。
第一個部分:策略網絡
它所代表的是人類的經驗、歷史的經驗。從公開的論文來看,AlphaGo的策略網絡準確度基本在57%。這個比喻未必特別精確,但類比考試成績,如果期末考試才考了57分,這個成績在人類世界就有點拿不出手了,這能說明什麼?
這個說明了策略網絡和人類可以學到的相比並不是特別厲害,所以Zero在Master之後必然從頭開始尋找更優策略。
第二個部分:價值網絡
根據實踐,價值網絡特別不好訓練,很難獲得一個質量特別好的結果;也就是說價值網絡評估當前棋局形勢的能力其實也不如人類。
第三個部分:蒙特卡洛樹搜索
人類每下一步棋,能考慮到幾十步已經是頂尖的高手,但AlphaGo使用蒙特卡洛樹搜索卻可以搜索幾十萬、幾千萬、幾億步。那不就是高手中的高高手了嘛!
所以綜上所述,在策略網絡和價值網絡都不如人類的情況下,AlphaGo為什麼還能這麼厲害?最根本的原因還是在於它使用的蒙特卡羅樹搜索這塊能力比人強。
這個再次證明了人腦的強大!因AlphaGo Zero是程式設計師開發出來的!程式設計師用算法大腦打敗了人類職業棋手幾千年積累的經驗大腦!這足以說明,在任何需要計算的領域,一定有比經驗更可靠、更精確、價值最大的最優選擇!
下面舉個淺例來簡單說明,首先我們觀察棋盤,容易發現它是一個中心的對稱的,也就是假設黑子第一手下在右上角星位,白子第一手下在左下角星位,實質上和第一手下在左下角星位,白子第一手下在右上角星位是一樣的,只要棋盤順時針轉180度,盤面就完全一樣,而在圍棋的下法裡,這算兩種下法,這樣我們就能省去接近75%的重複圖形。
然而僅僅減去這麼多顯然還不夠,我們發現有些棋顯然無意義或不能放,比如按照棋規,棋不能放在對方的眼位裡,又或者送給別人徵子的自殺棋(棄子不算),這些算起來可以排除將近99.9%的無用的計算,但這仍然不夠,所以下面就要形成一些定式,即雖然你不知道所有走法的對錯,但你知道某些走法一定對,那你開局就往這方面去走,一旦對手走錯就速敗,走對了也只是均勢而已。
最後,大家知道隨著棋盤子擺的越來越多,複雜度就急劇下降,所以勝負往往在中盤就已決定了,後期AI轉用窮舉法足夠應對,翻盤幾乎不可能。
零鏡觀點:
阿爾法狗之所以將圍棋作為人工智慧的試金石,因為圍棋巨大的搜索空間和對棋盤位置和走子精確評估的困難,在很長時間裡圍棋被視作人工智慧最具有挑戰性的傳統遊戲。而阿爾法元的成功證明了記憶是最原始的存儲方式,不是思考方式,它的價值含量並不高;從方法上下功夫比死記硬背強得多,可以說阿爾法元已經從樣本的進化過渡到方法的進化。所以,Zero的誕生,其進步意義就是,人機大戰再無意義!圍棋將回歸其本來面目,那是什麼?