[新聞]陳經:AlphaGo從零開始自學圍棋為什麼能成功

作者: qweewqq (風一樣的男子)   2017-10-22 13:25:44
陳經:AlphaGo從零開始自學圍棋為什麼能成功  
文章來源:觀察者網
  一。AlphaGo從零開始自學習新版本演算法框架與等級分表現
  2017年10月18日,業界非常期待的AlphagGo新論文終於在 《自然》上發表了。
Deepmind開發了一個名為AlphaGo Zero的新版本,它只用一個策略與價值合體的神經網路
下棋,從隨機走子開始自我對弈學習,完全不需要人類棋譜。新的強化學習策略極為高效
,只用3天,AlphaGo Zero就以100:0完全擊敗了2016年3月轟動世界的AlphaGo Lee。經
過21天的學習,它達到了Master的實力(而Master在2017年5月3:0勝人類第一柯潔)。
  40天后,它能以90%的勝率戰勝Master,成為目前最強的圍棋程式。而且AlphaGo
Zero的計算過程中直接由神經網路給出葉子節點勝率,不需要快速走子至終局,計算資源
大大節省,只需要4個TPU就行(AlphaGo Lee要48個)。
  從 Goratings棋力等級分上看,AlphaGo Zero其實和Master還能比較,只多個300多
分。這相當於論文發表當天,人類第一柯潔九段的3667分與第38名的人氣主播孟泰齡六段
3425分的分差,兩人肯定實力有差距,但也還有得下。論文公佈了AlphaGo Zero的83局棋
譜,其中與Master下的有20局,Master在第11局還勝了一局。
  AlphaGo新版本從零開始訓練成功,這個 結果大大出乎了我的預料,相信也讓業界不
少人感到震驚。我本來是預期看到Master的演算法解密,為什麼它能碾壓人類高手。
AlphaGo退役讓人以為 Deepmind不研究圍棋了,剩下任務是把Master版本的演算法細節在
《自然》公佈出來,騰訊的絕藝等AI就可以找到開發方向突破目前的實力瓶頸了。
  本來5月的烏鎮圍棋大會上說,6月新論文就能出來了,開發者們可以參考了。至於從
零知識開始學習,是個有趣的想法,2016年3月人機大戰勝李世石後就有這 樣的風聲,人
們期待這個“山洞中左右互搏”的版本出來,與人類的下法是不是很不相同,如開局是不
是會占天元?但是後來一直好像沒進展,烏鎮也沒有提。
  好幾個月了,新論文一直沒出來。絕藝明顯進入發展瓶頸,總是偶而會輸給人,還輸
給了DeepZenGo與CGI。各個借鑒AlphaGo的AI都迫切需要 Deepmind介紹新的思路與細節。
到8月跑出來一篇AlphaGo打星際爭霸的論文,從零知識開始學,學人類錄影打,兩種辦法
都不太行。
  這時我認為讓AlphaGo從零知識開始學可能不太成功,會陷入局部陷阱,人類棋譜能
提供一個“高起點”,高水準AI還是需要人類的“第一推動”。
  實際是Deepmind團隊認為,僅僅寫Master對於《自然》級別的文章不夠震憾。新的論
文標題是“Mastering the Game of Go without Human Knowledge”,這個主題昇華就足
夠了。而Master用人類棋譜訓練了初始的策略網路,人類知識還是有影響,雖然後來自學
習提升後人類影響很小 了。對於不懂圍棋或者對演算法細節不關心的人,Master相比
AlphaGo Lee無非是棋力更強一些,戰勝的柯潔與李世石都是頂級高手沒本質區別,
Master的創新性也需要懂圍棋才能明白。
  AlphaGo Zero是真正的從零開始訓練,整個學習過程與人類完全沒有關係,全是自己
學,這個哲學意義還是很大的。過程中與人或者其它版本下,只是驗證棋力不是學招。
  二。真正的演算法突破是Master版本實現的
  可 以認為,在技術上從AlphaGo Lee進步到Master是比較難的,需要真正的變革,神
經網路架構需要大變,強化學習過程也要取得突破。絕藝、DeepZenGo等AI開發就一直卡
在 這個階段,突破不了AlphaGo Lee的水準,總是出bug偶爾輸給人,離Master差距很大

  但如果Master的開發成功了,再 去試AlphaGo Zero就是順理成章的事。如果它能訓
練成功,應該是比較快的事,實際不到半年頂級論文就出來了,回頭看是個自然的進展。
Deepmind團隊在五月後應 該是看到了成功的希望,於是繼續開發出了AlphaGo Zero,新
論文雖然推遲了,但再次震驚了業界。
  也可以看出,2016年Deepmind《自然》論文描述的強化學習過程,整個訓練流水線比
較複雜,要訓練好幾種神經網路的係數,進化出一個新版本需要幾個星期。用這個訓練流
水線,從零開始強化學習,應該是意義不大,所以一直沒有進展。
  但是Master的自學習過程取得了重大突破,之前從人類棋譜開始訓練2個月的水準,
改進後只要一星期就行了,學習效率,以及能夠達到的實力上限都有了很大進展。以此為
基礎,再把從零開始引進來,就能取得重大突破。所以Deepmind真正的技術突破,應該是
開發Master時取得的。AlphaGo Zero是Master技術成果的延續,但看上去哲學與社會意義
更重大。
  Master與AlphaGo Zero的成功,是機器強化學習演算法取得巨大發展的成果與證明。
訓練需要的局數少了,490萬局就實現了AlphaGo Lee的水準。而絕藝到2017年3月就已經
自我對弈了30億局,實力一直卡著沒有重大進步,主要應該是強化學習技術上有差距。
  我在2017年1月9日寫的《AlphaGo升級成Master後的演算法框架分析》文中進行了猜
測:
  從實戰表現反推,Master的價值網路品質肯定已經突破了臨界點,帶來了極大的好處
,思考時間大幅減少,搜索深度廣度增加,戰鬥力上升。AlphaGo團 隊新的prototype,
架構上可能更簡單了,需要的CPU數目也減少了,更接近國際象棋的搜索框架,而不是以
MCTS為基礎的複雜框架。比起國際象棋 AI複雜的人工精心編寫的局面評估函數,AlphaGo
的價值網路完全由機器學習生成,編碼任務更為簡單。
  理論上來說,如果價值網路的估值 足夠精確,可以將葉子節點價值網路的權重上升
為1.0,就等於在搜索框架中完全去除了MCTS模組,和傳統搜索演算法完全一樣了。這時
的圍棋AI將從理論上 完全戰勝人,因為人能做的機器都能做,而且還做得更好更快。而
圍棋AI的發展過程可以簡略為兩個階段。第一階段局面估值函數能力極弱,被逼引入MCTS
以 及它的天生弱點。第二階段價值網路取得突破,再次將MCTS從搜索框架逐漸去除返樸
歸真,回歸傳統搜索演算法。
  從新論文的介紹來看, 這個猜測完全得到了證實。Master和AlphaGo Zero的架構確
實更簡單了,只需要4個TPU。AlphaGo Zero到葉子節點就完全不用rollout下完數子了,
直接用價值網路(已經與策略網路合併)給出勝率,就等於是“價值網路的權重上升為
1.0”。 Master有沒有rollout沒有明確說,從實戰表現看應該是取消了。
  當然新論文中還是將搜索框架稱為“MCTS”,因為有隨機試各分支,但這不是新東西
,和傳統搜索差異不算大。對圍棋來說,2006年引入MCTS演算法真正的獨特之處是從葉子
節點走完數子,代替難以實現的評估函數。
  這種瘋狂的海量終局模擬更像是絕望之下的權宜之計,也把機器弄得很疲憊。但是
Master與AlphaGo Zero都成功訓練出了極為犀利的價值網路,從而又再次將rollout取消
。價值網路的高效剪枝,讓Master與AlphaGo Zero的判斷極為精確,從而算得更為深遠戰
鬥力極為強大。這個價值網路怎麼訓練出來,就是現在Deepmind的獨門絕技。可以說,新
論文最有價值的就 是這個部分。
  從Master開始,AlphaGo的網路結構應該就有大變了。到AlphaGo Zero,將價值與策
略網路合為一個,這並不奇怪。因為第一篇論文中,就明確說價值與策略網路的架構是完
全一樣的,只是係數不同。那麼二者共用一個網路也 不奇怪,前面盤面特徵表述應該是
一樣的,等需要不同的輸出時再分出不同的係數。Master網路結構大變之後,也許
Deepmind發現,許多盤面特徵都 可以訓練出來,所以就簡單將盤面輸入簡化成黑白。
  AlphaGo Zero的強化學習過程,應該與Master差不多,都是成功地跳出了陷阱,不斷
提升到超乎人類想像的程度。Master從研發上來說,像一個探路先鋒, 證明了這條路是
可以跑通的,能把等級分增加1000分。而AlphaGo Zero,像是一個更為精減的過程,本質
是與Master類似的。
  新論文中的AlphaGo Zero確實顯得架構優美。只需要一個網路,既告訴機器可以下哪
,也能給出局面的勝率。盤面輸入就是黑白,也不需要任何人類知識。強化學習就是兩招
,搜索 的結果好於神經網路直覺想下的點,可以用於策略選點的訓練,一盤下完的結果
回頭用於修正勝率,都很自然。但是為了實現這個優美結果,需要勇敢的探索。一開 始
的AlphaGo並沒有這麼優美,路跑通了,才想到原來可以做得更簡單。
  本文再提出一個猜測:現在的絕藝、DeepZenGo等AI實力 接近AlphaGo Lee了,但都
經常出現死活bug,會怎麼出和人類對手的實力關係不大,並不是對手等級分高的它就容
易出bug,基本是自己莫明其妙送死。這個bug的原 因是rollout模組帶來的,因為
rollout策略是人類棋譜訓練出來的,也可能有人工加代碼打補丁。
  它的目的是快速下完終局,但如果 牽涉到死活,這種快速下完就不太可靠了,活的
下死,死的殺活。但是,怎麼實現不出錯的rollout,這非常困難,應該是不可能完成的
任務。Master 和AlphaGo Zero的辦法,是取消這個不可靠的rollout,直接讓神經網路給
出結果。如果神經網路給出的勝率結果有問題,那就靠訓練來解決。這樣糾錯,強過程式
員去排查rollout代碼裡出了什麼錯。
  三。機器與人類對圍棋的適應能力差異很大
  Master和AlphaGo Zero的突破說明,在極高的水準上,需要考慮出現瓶頸的原因。人
類棋譜能夠提供一個“高起點”,但是機器從零開始訓練一兩天也就追上了,帶來的“先
發優 勢”沒多少。而人類棋譜中顯然有一些“有害成分”,這可能將AI的學習過程帶歪
。如果AI不能找到消除這些“人類病毒”的辦法,那訓練就會陷入瓶頸。如下 圖,零知
識強化學習的版本實力迅速追上有人類棋譜幫忙的。
  從圍棋本身看,它的規則幾乎是所有遊戲中最優美最簡單的。規則就是兩句話可以了
,氣盡提子,禁全同(打劫的由來)。甚至貼目這樣的勝負規則都是人類強加的, 圍棋
遊戲不需要勝負規則就可以成為一個定義明確的遊戲。打磚塊這樣的Atari遊戲就是這樣
,目標就是打到更高的分。圍棋遊戲的目標可以是占更多的地,結 果可能是黑183、184
、185子這樣,不需要明確說出黑勝黑負。黑白博弈,會有一個上帝知道的“均衡”結果
,猜測可能是黑184子白177子,或者黑 184.5白176.5(有眼雙活)。
  這是一個優美的博弈問題,是掌握了強化學習方法的AI最喜歡的遊戲,規則這麼簡單
,太容易了。最終強 大的圍棋AI,應該是自然的,開發只依靠原始規則,不需要其它的
資訊了。AlphaGo Zero應該已經接近了這個目標,除了中國規則強加的7.5目的貼目。也
許以後可以讓AlphaGo不考慮貼目了,黑白都直接優化占地的多少,不再以勝率 為目標,
說不定能訓練出一個更優秀的AI。如優勢時不會退讓了,劣勢時也不自殺。這次Master與
AlphaGo Zero一些局終局輸定時就表現得很搞笑,有時搖頭劫死棋打個沒完。
  AlphaGo Zero的棋力提升過程非常流暢,說明圍棋精緻的規則形成的數學空間很優美
,神經網路很快就能抓住圍棋空間的特徵,表現得非常適應。而這種神經網路與圍棋空間
的適應性,是之前人們沒有想到的,因為人自己感覺很困難,沒料到神經網路學習起來美
滋滋。
  AlphaGo Zero能從零開始訓練成功,也是因為圍棋的絕對客觀性。圍棋規則如此自洽
,不需要人類干預,就能很容易地自我對弈出結果,直接解決了“學習樣本”這個大 問
題。人工智慧機器學習碰上的很大問題就是需要海量樣本,而實際生活中有時只有少量樣
本,有時需要人工標注很麻煩。
  圍棋的對局天然在那 了,AlphaGo Zero的任務就是找到合適的學習方法,沒有樣本
的問題。而人類既無法自我產生海量對局,也無法像AI那樣目標明確地快速改進自己的腦
神經,單位時間學習 效率被AI完全碾壓。所以圍棋是更適合AI去學習的遊戲。人類的學
習方法也許還是適合人的,但AI學習方法更強。
  對於圍棋這麼自然而且絕對客觀的遊戲,消除人類的影響應該從哲學上來說是有深度
的想法。從圍棋規則來看,日韓規則對AI簡直是不可理解,甚至無法定義,未來肯定會消
亡。而人類的棋譜是客觀的,但對棋譜的解讀是主觀的。主觀的東西就可能出錯,這要非
常小心。
  對於人類的知識體系也是如此。客觀世界的運行是與人無關的,人對客觀世界的解讀
就是主觀的,很可能帶入了錯誤的東西。所以,有時需要返回到客觀世界進行本原 觀察
,而不是在錯誤的知識體系上進入所謂的“推理與搜索”。客觀上不成立,什麼都完了。
經濟學道理寫得再雄辯,實踐中失敗了就不行。
  柯潔在微博上的感慨
  另一方面,也不要片面強調說人類知識沒用,還不如零知識。實際上Master與
AlphaGo Zero的實距從演算法層面看,並不太大。二者300分的等級差距,也許不是
Master開始學了人類棋譜帶來的,出許是更精細的網路架構、訓練過程的小細 節之類的
影響。Master其實找到辦法跳出了人類知識的陷阱。
  因此,可以說人類知識可能存在問題,但不要說學了人類知識就沒法到高境界。 意
識到舊知識體系的問題,作出突破就可以了。而且人類沒法和機器比,不可能真從零知識
開始瘋狂自己下,沒那個體力。現實的選擇只有學習前輩的經驗。也許 AlphaGo的意義是
說,要有一個知識體系,這個知識體系可以是自己學出來並檢驗的,也可以是Master那樣
借鑒了別人的,但要接受實踐檢驗,也要敢 於懷疑突破成見。
  四。AlphaGo Zero的實戰表現
  雖然AlphaGo Zero完全與人類棋譜無關了,但是也許會讓棋手們欣慰的是,它下得其
實很像人。訓練沒幾個小時就下得非常像人了,也是從角上開始,這方面的判斷和人是一
致的。
  而且它甚至比Master還要像人類棋手,顯得比較正義。Master不知道為什麼喜歡出怪
異的手段,棋譜極為難懂,對人類而言更為痛苦,打又打不過,看也 看不懂。AlphaGo
Zero對Master的棋譜結果是19:1,感覺上AlphaGo Zero戰勝Master的招數不是以怪制怪
,而是用正招去應付,然後Master的強招碰上正義的力量就失敗了。而人類對Master應錯
了,就輸了。 也許是因為,Master訓練到後來,為了提高勝率走上了劍走偏鋒的路線,
出怪招打敗之前的版本,而同一版本的黑白是同等實力,以怪對怪正好實力相當,維 持
了半目勝負。碰上AlphaGo Zero就失去了這種平衡,被正義的招數鎮壓。
  圖為AlphaGo Zero執黑對Master。Master氣勢洶洶54位飛,要吃掉黑三子。在Master
與人類棋手的計算中,以及解說的這盤棋的絕藝看來(騰訊圍棋經 常有絕藝配合人類棋
手解說棋局的節目),黑這三子應該是被吃了,要考慮棄子。但是AlphaGo Zero不這麼認
為。
  黑棋AlphaGo Zero在左下角將白棋做成了打劫殺。遭此打擊,Master就此陷入被動。
這說明Master的計算也不一定毫無破綻,只是碰上算得更深的才被抓住。這 個計算手數
很長,出現錯誤也可以理解。這也說明Master以及AlphaGo Zero從演算法原理看,都可能
會被抓住計算錯誤,仍然有進步空間。一度我被Master的極限對局嚇住了,以為圍棋的終
極奧義可能就是這種看不懂的死掐。
  AlphaGo Zero執白對Master。這是雙方對局的常見局面,白AlphaGo Zero撈足了實地
,Master的中央模樣像紙糊的一樣被打破,敗下陣來。
  AlphaGo Zero自戰。勝率落後的黑用129的手筋撐住了局勢,但最後還是勝率越來越
低失敗了。
  應該說AlphaGo Zero的棋譜還是較為自然的,雖然中盤顯然很複雜,但不像Master那
樣完全看不懂心生恐懼。對於人類棋手來說,AlphaGo Zero會更為親切,它就像一個最高
水準的人類棋手,下得是意圖可以說清楚的棋,只是永遠正確,不像人類低手這錯那錯。
而Master的自戰譜就顯得不可 理解,蠻不講理,動不動就搞事,撐得很滿步步驚心搞極
限對局,人類看得很暈。
  圍棋AI應該還是在發展過程中,自我對弈容易顯得較死勁,實力有差距就會顯得一方
瀟灑自然。圍棋的狀態空間還很大,應該還能有更厲害的版本一級級發展出來,就像國際
象棋AI仍然在不斷進步。
  當然對Master以及AlphaGo Zero的棋譜,需要人類高手們配合AI的後臺資料來解讀。
AlphaGo Zero這個不需要人類知識的AI棋手,再次給人類提供了不同風格的棋譜,讓棋壇
越來越精彩。而且Deepmind的這篇論文提供了優美簡潔的開發方法, 更容易模仿成功,
會有越來越多高水準的AI取得突破。
http://sports.sina.com.cn/go/2017-10-22/doc-ifymzqpq3206849.shtml
作者: asglay (收收收尾)   2017-10-23 00:22:00
這作者根本沒講到核心技術也可以說得有來沒去 真不簡單
作者: s891234 (嘟嚕咑)   2017-10-23 01:57:00
不覺得有比Master更像人
作者: aegis43210 (宇宙)   2017-10-23 02:25:00
說到棋風,還是喜歡master的那種捉摸不定這篇文的重點只有絕藝已經自我對弈了30億局但毫無進步DM已經說不會公開master的實作方法騰訊應該只能去嘗試能不能做出另一個alphago/zero
作者: lwei781 (nap til morning?)   2017-10-23 07:45:00
絕藝那方法有大瓶頸
作者: zeat (L.)   2017-10-23 11:38:00
一般論文都不會有實作的部分吧,不然大家做出來的就都一樣了
作者: kenwufederer (Nash)   2017-10-23 11:54:00
這文…重點是什麼…
作者: ddavid (謊言接線生)   2017-10-23 14:43:00
@zeat 剛好相反,一般論文都會提供足夠詳細到別人可以完全重現的程度,因為沒有重現性的話別人就會認為你可能故意不寫清楚在唬爛,review階段就會被當缺點挑出來叫你補充了。Google這種牌子大、有商業性而且又公開實證在前的,才有細節不寫全,頂級期刊照登的本事,畢竟你不登別人可是搶著要登呢XD
作者: aegis43210 (宇宙)   2017-10-23 15:21:00
所以只要騰訊有心,要完整複制alphago/zero不是難事只是master,就會成為DM真正的密藏,沒人可重現了
作者: staristic (ANSI lover)   2017-10-23 16:44:00
這文的重點是絕藝30億局辦不到的,zero不到五百萬局就成了。兩邊的演算法看來差非常多……
作者: liaon98 (liaon98)   2017-10-23 20:47:00
thesis通常會有實作的部分 登期刊的paper則通常簡略帶過(thesis或dissertation) 這三個詞台灣都翻論文
作者: lwei781 (nap til morning?)   2017-10-24 08:54:00
有的會加 "學位"
作者: harrybbs (harrybbs)   2017-10-24 15:50:00
對其他團隊來說了解Master原理對科學研究有幫助不過就圍棋而言,能做出更強的Zero也可接受了
作者: aegis43210 (宇宙)   2017-10-24 16:06:00
Zero只有騰訊能複製了,吳毅成的FB很清楚的指明這點光要訓練出Lee版本以上的實力,就要一年以上的時間這只是神經深度20-block的版本哦
作者: wadashi1 (阿拉丁)   2017-10-24 16:28:00
CGI經過改造之後不也很強?再黃博士及論文加持,不能複製?
作者: HeterCompute (異質運算)   2017-10-24 20:54:00
不能,詳情請看吳教授的臉書https://www.facebook.com/icwu307
作者: wadashi1 (阿拉丁)   2017-10-24 21:21:00
雖然吳教授的推測是極權威的,但我還是想問,黃博士,你覺得呢?
作者: mystage (亭)   2017-10-25 13:35:00
作者: wadashi1 (阿拉丁)   2017-10-26 17:37:00
那CGI訓練時,跟google租雲端運算呢?這種方式可行嗎?https://goo.gl/u2yRBB https://goo.gl/oSsXh8 我不懂這方面的技術,但看來雲端運算跟AG相關,可行嗎?而且,如果跟谷歌租設備,到時候要請黃博士指導不就更加名正言順了!搞不好可以挖到論文中至關重要的關鍵!
作者: mothertime (我超愛傅紅雪這變態)   2017-10-26 18:33:00
一般論文都會提出完整重現的方法才對,照做都會錯都不會
作者: HeterCompute (異質運算)   2017-10-26 19:26:00
以GoogleCloud為例,租K80 0.77USD/hr,租兩個月就可以買一台1080Ti了,而Zero需要上千台1080Ti訓練一年才能到達Zero40天水準
作者: wadashi1 (阿拉丁)   2017-10-26 20:00:00
Alphago一代比一代還省資源,而CGI能達到接近最耗資源的Alphago Lee的程度,算是很厲害了!Lee用了48TPU花了非常長的時間才達到那樣的程度,但Zero只用了4個TPU,只花了3天就100%勝過Lee。一切的疑團,希望黃博士來台的時候,能有人詢問和得到真正的真象!
作者: sunev (Veritas)   2017-10-27 00:03:00
樓上沒看吳教授的FB文章嗎?4個TPU是訓練完成後用的計算資源,訓練中時用的計算資源比這個多得多。
作者: jackcselab (monk)   2017-10-27 10:17:00
不過這樣看來,alpha zero訓練所需的計算資源,看來可能還超過之前的版本?
作者: liaon98 (liaon98)   2017-10-28 05:42:00
下面那篇的github有提到一篇文章說用普通電腦算 要用1700「年」才能到Alpha Zero 40「天」的水準 所以AlphaGo Zero用的資源還是很多的
作者: oldTim (TIME WILL TELL)   2017-10-28 11:59:00
等TPU普及了價格降下來後,資源差距就不明顯了
作者: HeterCompute (異質運算)   2017-10-28 12:39:00
TPU短期內不可能普及的,本來就是拿來給企業用的
作者: sunev (Veritas)   2017-10-29 15:36:00
訓練出zero所要花的錢可能要上千萬,甚至上億
作者: HeterCompute (異質運算)   2017-10-29 21:08:00
只看電費,假設使用1080Ti,一台全速跑大概也要800W依照吳教授的標準,Zero使用的資源約略是萬顆1080Ti所以我們假設萬顆,800*10000*24*40/1000(度)=768000度,查了一下美國2015年工業用電2.20新台幣/度,所以我們可以得到1690萬台幣,這只是考慮電費XD另外上面是7680000少打一個0
作者: aegis43210 (宇宙)   2017-10-29 23:59:00
機房也要冷氣費,而且電腦也可能故障,要維護費......愈算愈覺得短時間內只有騰訊能實作出來
作者: HeterCompute (異質運算)   2017-10-30 00:04:00
是的,電費只是基礎,其他不太好估,但是使用資源破億台幣是肯定的

Links booklink

Contact Us: admin [ a t ] ucptt.com