-
陳經:AlphaGo升級成Master后的算法框架分析
關鍵字: 圍棋AlphaGoMaster算法框架局面評估函數的作用
從算法上來說,高水平國際象棋AI的關鍵是人工植入的一些國際象棋相關的領域知識,加上傳統的計算機搜索高效剪枝算法。值得注意的是,AlphaGo以及之前所有高水平AI如ZEN和CrazyStone都采用MCTS(蒙特卡洛樹形搜索),而最高水平的國際象棋AI是不用的。MCTS是CrazyStone的作者法國人Remi Coulom 在2006年最先提出的,是上一次圍棋人工智能算法取得巨大進步能夠戰勝一般業余棋手的關鍵技術突破。
但MCTS其實是傳統搜索技術沒有辦法解決圍棋問題時,想出來的變通辦法,并不是說它比傳統搜索技術更先進。實際MCTS隨機模擬,并不是太嚴謹,它是成千上萬次模擬,每次模擬都下至終局數子確定勝負統計各種選擇的勝率。這是一個對人類棋手來說相當不自然的方法,可以預期人類絕對不會用這種辦法去下棋。
國際象棋也可以用MCTS去做,但沒有必要。谷歌團隊有人用深度學習和MCTS做了國際象棋程序,但是棋力僅僅是國際大師,并沒有特別厲害。高水平國際象棋算法的核心技術,是極為精細的“局面評估函數”。而這早在幾十年前,就是人工智能博弈算法的核心問題。國際象棋的局面評估函數很好理解,基本想法是對皇后、車、馬、象、兵根據戰斗力大小給出不同的分值,對王給出一個超級大的分值死了就是最差的局面。一個局面就是棋子的分值和。
但這只是最原始的想法,子力的搭配、兵陣的形狀、棋子的位置更為關鍵,象棋中的棄子攻殺極為常見。這需要國際象棋專業人士進行極為專業細致的估值調整。國際象棋AI的水平高低基本由它的局面評估函數決定。有了好用的局面評估函數以后,再以此為基礎,展開一個你一步我一步的指數擴展的博弈搜索樹。在這個搜索樹上,利用每個局面計算出來的分值,進行一些專業的高效率“剪枝”(如Alpha-Beta剪枝算法)操作,縮小樹的規模,用有限的計算資源盡可能地搜索更多的棋步,又不發生漏算。
圖為搜索樹示例,方塊和圓圈是兩個對手,每一條線代表下出一招。局面評估后,棋手要遵守MIN-MAX的原則,要“誠實”地認為對手能下出最強應對再去想自己的招。有局面評估分數的葉子節點其實不用都搜索到,因為理論上有剪枝算法證明不用搜索了。如一下被人吃掉一個大子,又得不到補償的分枝就不用繼續往下推了。這些搜索技術發展到很復雜了,但都屬于傳統的搜索技術,是人可以信服的邏輯。
國際象棋與中國象棋AI發展到水平很高后,棋手們真的感覺到了電腦的深不可測,就是有時電腦會下出人類難于理解的“AI棋”。人類對手互相下,出了招以后,人就會想對手這是想干什么,水平相當的對手仔細思考后總是能發現對手的戰術意圖,如設個套雙吃對手的馬和車,如果對手防著了,就能吃個兵。而“AI棋”的特征是,它背后并不是一條或者少數幾條戰術意圖,而是有一個龐大的搜索樹支持,人類對手作出任何應對,它都能在幾手、十幾手后占得優勢,整個戰略并不能用幾句話解釋清楚,可能需要寫一篇幾千字的文章。
這種“AI棋”要思考非常周密深遠,人類選手很難下出來。近年來中國象棋成績最好的是王天一,他的棋藝特點就是主動用軟件進行訓練,和上一輩高手方法不同。王天一下出來的招有時就象AI,以致于有些高手風言風語影射他用軟件作弊引發風波,我認為應該是訓練方法不同導致的。國際象棋界對軟件的重視與應用比中國象棋界要強得多,重大比賽時,一堆人用軟件分析雙方的著手好壞,直接作為判據,增加了比賽的可看性。
軟件能下出“AI棋”,是因為經過硬件以及算法的持續提升,程序的搜索能力終于突破了人類的腦力限制,經過高效剪枝后,幾千萬次搜索可以連續推理多步并覆蓋各個分枝,在深度與廣度方面都超過人類,可以說搜索能力已經超過人類。
其實最初的圍棋AI也是用這個思路開發的,也是建立搜索樹,在葉子節點上搞局面評估函數計算。但是圍棋的評估函數特別難搞,初級的程序一般用黑白子對周邊空點的“控制力”之類的原始邏輯進行估值,差錯特別大,估值極為離譜,棋力極低。無論怎么人工加調整,也搞不好,各種棋形實在是太復雜。很長時間圍棋AI沒有實質進步,受限于評估函數極差的能力,搜索能力極差。
實在是沒有辦法了,才搞出MCTS這種非自然的隨機下至終局統計勝率的辦法。MCTS部分解決了估值精確性問題,因為下到終局數子是準確的,只要模擬的次數足夠多,有理論證明可以逼近最優解。用這種變通的辦法繞開了局面評估這個博弈搜索的核心問題。以此為基礎,以ZEN為代表的幾個程序,在根據棋形走子選點上下了苦功,終于取得了棋力突破,能夠戰勝一般業余棋手。
接下來自然的發展就是用深度學習對人類高手的選點直覺建模,就是“策略網絡”。這次突破引入了機器學習技術,不需要開發者辛苦寫代碼了,高水平圍棋AI的開發變容易了。即使這樣,由于評估函數沒有取得突破,仍然需要MCTS來進行勝率統計,棋力仍然受限,只相當于業余高手。
“價值網絡”橫空出世
AlphaGo在局面評估函數上作出了嘗試性的創新,用深度學習技術開發出了“價值網絡”。它的特點是,局面評分也是勝率,而不是領先多少目這種較為自然的優勢計算。但是從《自然》論文以及版本V13與V18的表現來看,這時的價值網絡并不是太準確,不能單獨使用,應該是一個經常出錯的函數。論文中提到,葉子節點勝率評估是把價值網絡和MCTS下至終局混合使用,各占0.5權重。這個意思是說,AlphaGo會象國際象棋搜索算法一樣,展開一個葉子節點很多的樹。
在葉子節點上,用價值網絡算出一個勝率,再從葉子節點開始黑白雙方一直輪流走子終局得出勝負。兩者都要參考,0.5是一個經驗性的數據,這樣棋力最高。這其實是一個權宜之計,價值網絡會出錯,模擬走子終局也并不可靠,通過混合想互相彌補一下,但并不能解決太多問題。最終棋力還是需要靠MCTS海量模擬試錯,模擬到新的關鍵分枝提升棋力。所以版本V18特別需要海量計算,每步需要的時間相對長,需要的CPU與GPU個數也不少,谷歌甚至開發了特別的TPU進行深度神經網絡并行計算提高計算速度。
整個《自然》論文給人的感覺是,AlphaGo在圍棋AI的工程實施的各個環節都精益求精做到最好,最后的棋力并不能簡單地歸因于一兩個技術突破。算法研發與軟件工程硬件開發多個環節都不計成本地投入,需要一個人數不小的精英團隊全力支持,也需要大公司的財力與硬件支持。V13與V18更多給人的感覺是工程成就,之前的圍棋AI開發者基本是兩三個人的小團隊小成本開發,提出了各式各樣的算法思想,AlphaGo來了個集大成,終于取得了棋力突破。
-
本文僅代表作者個人觀點。
- 請支持獨立網站,轉發請注明本文鏈接:
- 責任編輯:武守哲
-
“中國在非洲真正贏得了民心,就連斯威士蘭…” 評論 70“日企抱團是絕望之舉,中國工廠效率質量都是第一” 評論 113“她下月訪華,盡管特朗普團隊表達了擔憂” 評論 53“中國有能力讓夢想照進現實,將贏得史詩般競爭” 評論 120最新聞 Hot
-
“中國在非洲真正贏得了民心,就連斯威士蘭…”
-
“日企抱團是絕望之舉,中國工廠效率質量都是第一”
-
“中國有能力讓夢想照進現實,將贏得史詩般競爭”
-
被災民暴罵到當場破防,馬克龍發飆:你該慶幸你在法國!
-
美高校敦促國際學生抓緊回來:萬一把中印拉黑名單呢
-
美國政府“逃過一劫”
-
“澤連斯基要求歐盟新外長:對華批評要降調”
-
澳大利亞來了,中國就得走人?澳總理這么回應
-
美媒感慨:基建狂魔發力,我們又要被超越了
-
英國剛公布新任大使,特朗普顧問就痛罵:傻X
-
“來自中國的老大哥能確保我們…”
-
俄羅斯的報復來了
-
澤連斯基罵普京“傻子”,俄方怒斥
-
還在扯皮中國,“涉華條款全刪了”
-
中國“光伏OPEC”發文嚴厲質問央企,怎么回事?
-
“最后一道貿易障礙,中國解除了!”
-