雷鋒網 AI科技評論消息,北京時間10月19日凌晨,Deepmind在Nature上發布論文《Mastering the game of Go without human knowledge》(不使用人類知識掌握圍棋),在這篇論文中,Deepmind展示了他們更強大的新版本圍棋程序「AlphaGo Zero」,驗證了即使在像圍棋這樣最具挑戰性的領域,也可以通過純強化學習的方法自我完善達到目的。據介紹,AlphaGo Zero僅經過三天訓練,就能以100:0擊敗此前擊敗李世石的AlphaGo Lee,經過21天訓練,就能達到擊敗柯潔的AlphaGo Master的水平。
毫無疑問,這又一次引起了學界大牛的大討論,李開復、馬少平、田淵棟、周志華也紛紛發表言論。雷鋒網 AI科技評論將他們的觀點整合如下:
李開復:不要低估AI發展速度,正視中美學術差距
創新工場董事長李開復老師看到AlphaGo Zero的消息之後,短短兩句話總結了他的觀點:
一是AI前進的速度比想像中更快,即便是行業內的人士都被AlphaGo Zero跌破眼鏡;
二是要正視中國在人工智慧學術方面和英美的差距。
隨後,他又發表文章補充分享了對AlphaGo Zero的觀點。他表示,雖然AlphaGo Zero的技術革新並非適用於所有人工智慧領域,並且此次沒有新的巨大的理論突破,但這次它帶來的影響力也是巨大的。原文如下:
一方面,AlphaGo Zero的自主學習帶來的技術革新並非適用於所有人工智慧領域。圍棋是一種對弈遊戲,是信息透明,有明確結構,而且可用規則窮舉的。對弈之外,AlphaGo Zero的技術可能在其他領域應用,比如新材料開發,新藥的化學結構探索等,但這也需要時間驗證。而且語音識別、圖像識別、自然語音理解、無人駕駛等領域,數據是無法窮舉,也很難完全無中生有。AlphaGo Zero的技術可以降低數據需求(比如說WayMo的數據模擬),但是依然需要大量的數據。
另一方面,AlphaGo Zero裡面並沒有新的巨大的理論突破。它使用的Tabula Rosa learning(白板學習,不用人類知識),是以前的圍棋系統Crazy Stone最先使用的。AlphaGo Zero裡面最核心使用的技術ResNet,是微軟亞洲研究院的孫劍發明的。孫劍現任曠視科技Face++首席科學家。
雖然如此,這篇論文的影響力也是巨大的。AlphaGo Zero 能夠完美集成這些技術,本身就具有裡程碑意義。DeepMind的這一成果具有指向標意義,證明這個方向的可行性。
在科研工程領域,探索前所未知的方向是困難重重的,一旦有了可行性證明,跟隨者的風險就會巨幅下降。我相信從昨天開始,所有做圍棋對弈的研究人員都在開始學習或複製AlphaGo Zero。材料、醫療領域的很多研究員也開始探索。
AlphaGo Zero的工程和算法確實非常厲害。但千萬不要對此產生誤解,認為人工智慧是萬能的,所有人工智慧都可以無需人類經驗從零學習,得出人工智慧威脅論。AlphaGo Zero證明了AI 在快速發展,也驗證了英美的科研能力,讓我們看到在有些領域可以不用人類知識、人類數據、人類引導就做出頂級的突破。
但是,AlphaGo Zero只能在單一簡單領域應用,更不具有自主思考、設定目標、創意、自我意識。即便聰明如 AlphaGo Zero,也是在人類給下目標,做好數字優化而已。
馬少平:AlphaGo Zero已經將計算機圍棋做到極致,但也有其局限性
清華大學計算機系教授馬少平也在博客上評價了AlphaGo Zero,他表示AlphaGo Zero把計算機圍棋做到了極致,隨後將其與之前的版本進行了充分對比,另外,他也表示AlphaGo Zero有其應用局限性:
從早上開始,就被AlphaGo Zero的消息刷屏了,DeepMind公司最新的論文顯示,最新版本的AlphaGo,完全拋棄了人類棋譜,實現了從零開始學習。
對於棋類問題來說,在蒙特卡洛樹搜索的框架下,實現從零開始學習,我一直認為是可行的,也多次與別人討論這個問題,當今年初Master推出時,就曾預測這個新系統可能實現了從零開始學習,可惜根據DeepMind後來透露的消息,Master並沒有完全拋棄人類棋譜,而是在以前系統的基礎上,通過強化學習提高系統的水平,雖然人類棋譜的作用越來越弱,但是啟動還是學習了人類棋譜,並沒有實現「冷」啟動。
根據DeepMind透露的消息,AlphaGo Zero不但拋棄了人類棋譜,實現了從零開始學習,連以前使用的人類設計的特徵也拋棄了,直接用棋盤上的黑白棋作為輸入,可以說是把人類拋棄的徹徹底底,除了圍棋規則外,不使用人類的任何數據和知識了。僅通過3天訓練,就可以戰勝和李世石下棋時的AlphaGo,而經過40天的訓練後,則可以打敗與柯潔下棋時的AlphaGo了。
真是佩服DeepMind的這種「把革命進行到底」的作風,可以說是把計算機圍棋做到了極致。
那麼AlphaGo Zero與AlphaGo(用AlphaGo表示以前的版本)都有哪些主要的差別呢?
1、在訓練中不再依靠人類棋譜。AlphaGo在訓練中,先用人類棋譜進行訓練,然後再通過自我互博的方法自我提高。而AlphaGo Zero直接就採用自我互博的方式進行學習,在蒙特卡洛樹搜索的框架下,一點點提高自己的水平。
2、不再使用人工設計的特徵作為輸入。在AlphaGo中,輸入的是經過人工設計的特徵,每個落子位置,根據該點及其周圍的棋的類型(黑棋、白棋、空白等)組成不同的輸入模式。而AlphaGo Zero則直接把棋盤上的黑白棋作為輸入。這一點得益於後邊介紹的神經網絡結構的變化,使得神經網絡層數更深,提取特徵的能力更強。
3、將策略網絡和價值網絡合二為一。在AlphaGo中,使用的策略網絡和價值網絡是分開訓練的,但是兩個網絡的大部分結構是一樣的,只是輸出不同。在AlphaGo Zero中將這兩個網絡合併為一個,從輸入到中間幾層是共用的,只是後邊幾層到輸出層是分開的。並在損失函數中同時考慮了策略和價值兩個部分。這樣訓練起來應該會更快吧?
4、網絡結構採用殘差網絡,網絡深度更深。AlphaGo Zero在特徵提取層採用了多個殘差模塊,每個模塊包含2個卷積層,比之前用了12個卷積層的AlphaGo深度明顯增加,從而可以實現更好的特徵提取。
5、不再使用隨機模擬。在AlphaGo中,在蒙特卡洛樹搜索的過程中,要採用隨機模擬的方法計算棋局的勝率,而在AlphaGo Zero中不再使用隨機模擬的方法,完全依靠神經網絡的結果代替隨機模擬。這應該完全得益於價值網絡估值的準確性,也有效加快了搜索速度。
6、只用了4塊TPU訓練72小時就可以戰勝與李世石交手的AlphaGo。訓練40天後可以戰勝與柯潔交手的AlphaGo。
對於計算機圍棋來說,以上改進無疑是個重要的突破,但也要正確認識這些突破。比如,之所以可以實現從零開始學習,是因為棋類問題的特點所決定的,是個水到渠成的結果。因為棋類問題一個重要的特性就是可以讓機器自動判別最終結果的勝負,這樣才可以不用人類數據,自己實現產生數據,自我訓練,自我提高下棋水平。但是這種方式很難推廣到其他領域,不能認為人工智慧的數據問題就解決了。
周志華:啟發式搜索可能因此發生巨變
南京大學計算機系教授周志華在微博上也第一時間發表了他的觀點,從多個方面對Alphago Zero進行了評價。
花半小時看了下文章,說點個人淺見,未必正確僅供批評:
1、別幻想什麼無監督學習,監督信息來自精準規則,非常強的監督信息。
2、不再把圍棋當作從數據中學習的問題,回歸到啟發式搜索這個傳統棋類解決思路。這裡機器學習實質在解決搜索樹啟發式評分函數問題。
3、如果說深度學習能在模式識別應用中取代人工設計特徵,那麼這裡顯示出強化學習能在啟發式搜索中取代人工設計評分函數。這個意義重大。啟發式搜索這個人工智慧傳統領域可能因此巨變,或許不亞於模式識別計算機視覺領域因深度學習而產生的巨變。機器學習進一步蠶食其他人工智慧技術領域。
4、類似想法以往有,但常見於小規模問題。沒想到圍棋這種狀態空間巨大的問題其假設空間竟有強烈的結構,存在統一適用於任意多子局面的評價函數。巨大的狀態空間誘使我們自然放棄此等假設,所以這個嘗試相當大膽。
5、工程實現能力超級強,別人即便跳出盲點,以啟發式搜索界的工程能力也多半做不出來。
6、目前並非普適,只適用於狀態空間探索幾乎零成本且探索過程不影響假設空間的任務。
田淵棟:AlphaGo Zero 證明了從理論上理解深度學習算法的重要性
Facebook 人工智慧組研究員田淵棟也在知乎上發文闡述了他的觀點。他表示,這一方法將成為經典。在文中,他也闡述了此次有哪些震驚到他的地方,以及一些推論。
他的原文如下:
老實說這篇Nature要比上一篇好很多,方法非常乾淨標準,結果非常好,以後肯定是經典文章了。
Policy network和value network放在一起共享參數不是什麼新鮮事了,基本上現在的強化學習算法都這樣做了,包括我們這邊拿了去年第一名的Doom Bot,還有ELF裡面為了訓練微縮版星際而使用的網絡設計。另外我記得之前他們已經反覆提到用Value network對局面進行估值會更加穩定,所以最後用完全不用人工設計的default policy rollout也在情理之中。
讓我非常吃驚的是僅僅用了四百九十萬的自我對局,每步僅用1600的MCTS rollout,Zero就超過了去年三月份的水平。並且這些自我對局裡有很大一部分是完全瞎走的。這個數字相當有意思。想一想圍棋所有合法狀態的數量級是10^170(見Counting Legal Positions in Go:https://tromp.github.io/go/legal.html),五百萬局棋所能覆蓋的狀態數目也就是10^9這個數量級,這兩個數之間的比例比宇宙中所有原子的總數還要多得多。僅僅用這些樣本就能學得非常好,只能說明卷積神經網絡(CNN)的結構非常順應圍棋的走法,說句形象的話,這就相當於看了大英百科全書的第一個字母就能猜出其所有的內容。用ML的語言來說,CNN的inductive bias(模型的適用範圍)極其適合圍棋漂亮精緻的規則,所以稍微給點樣本水平就上去了。反觀人類棋譜有很多不自然的地方,CNN學得反而不快了。我們經常看見跑KGS或者GoGoD的時候,最後一兩個百分點費老大的勁,也許最後那點時間完全是花費在過擬合奇怪的招法上。
如果這個推理是對的話,那麼就有幾點推斷。
一是對這個結果不能過分樂觀。我們假設換一個問題(比如說protein folding),神經網絡不能很好擬合它而只能採用死記硬背的方法,那泛化能力就很弱,Self-play就不會有效果。事實上這也正是以前圍棋即使用Self-play都沒有太大進展的原因,大家用手調特徵加上線性分類器,模型不對路,就學不到太好的東西。一句話,重點不在左右互搏,重點在模型對路。
二是或許卷積神經網絡(CNN)系列算法在圍棋上的成功,不是因為它達到了圍棋之神的水平,而是因為人類棋手也是用CNN的方式去學棋去下棋,於是在同樣的道路上,或者說同樣的inductive bias下,計算機跑得比人類全體都快得多。假設有某種外星生物用RNN的方式學棋,換一種inductive bias,那它可能找到另一種(可能更強的)下棋方式。Zero用CNN及ResNet的框架在自學習過程中和人類世界中圍棋的演化有大量的相似點,在側面上印證了這個思路。在這點上來說,說窮盡了圍棋肯定是還早。
三就是更證明了在理論上理解深度學習算法的重要性。對於人類直覺能觸及到的問題,機器通過採用有相同或者相似的inductive bias結構的模型,可以去解決。但是人不知道它是如何做到的,所以除了反覆嘗試之外,人並不知道如何針對新問題的關鍵特性去改進它。如果能在理論上定量地理解深度學習在不同的數據分布上如何工作,那麼我相信到那時我們回頭看來,針對什麼問題,什麼數據,用什麼結構的模型會是很容易的事情。我堅信數據的結構是解開深度學習神奇效果的鑰匙。
另外推測一下為什麼要用MCTS而不用強化學習的其它方法(我不是DM的人,所以肯定只能推測了)。MCTS其實是在線規劃(online planning)的一種,從當前局面出發,以非參數方式估計局部Q函數,然後用局部Q函數估計去決定下一次rollout要怎麼走。既然是規劃,MCTS的限制就是得要知道環境的全部信息,及有完美的前向模型(forward model),這樣才能知道走完一步後是什麼狀態。圍棋因為規則固定,狀態清晰,有完美快速的前向模型,所以MCTS是個好的選擇。但要是用在Atari上的話,就得要在訓練算法中內置一個Atari模擬器,或者去學習一個前向模型(forward model),相比actor-critic或者policy gradient可以用當前狀態路徑就地取材,要麻煩得多。但如果能放進去那一定是好的,像Atari這樣的遊戲,要是大家用MCTS我覺得可能不用學policy直接當場planning就會有很好的效果。很多文章都沒比,因為比了就不好玩了。
另外,這篇文章看起來實現的難度和所需要的計算資源都比上一篇少很多,我相信過不了多久就會有人重複出來,到時候應該會有更多的insight。大家期待一下吧。
幾位大牛從各個方面,全方位對AlphaGo Zero進行了分析。看完這些分析的你,想必對AlphaGo Zero有了更深層次的理解。更多資訊敬請關注雷鋒網 AI科技評論。