百度正用谷歌AlphaGo,解決一個比圍棋更難的問題

2020-12-08 騰訊網

曉查 發自 凹非寺

量子位 報導 | 公眾號 QbitAI

9102年,人類依然不斷回想起圍棋技藝被AlphaGo所碾壓的恐怖。

卻也有不以為然的聲音:只會下棋的AI,再厲害也還是個運動員啊!

百度說:你們錯了,它還是一位數學家。

百度矽谷AI實驗室的同學們,就在用這個出自谷歌DeepMind的圍棋算法,解決一個比圍棋複雜得多的數學問題。

為了重新訓練這個算法,百度用了300張1080Ti和2080Ti顯卡。

他們解決的問題,叫做「圖著色問題」,又叫著色問題,屬於前些天讓中國奧數隊全軍覆沒的圖論。它是最著名的NP-完全問題之一。

簡單來說,就是用儘可能少的顏色,給一張圖的頂點上色,保證相鄰頂點的顏色不重複。

10個頂點的簡單版是這樣的:

而複雜版……只要頂點足夠多,分分鐘讓人類數學家無從下手,如果有512個頂點,這個問題的複雜度會比圍棋高出幾百個數量級。

在這個數學問題上,運動員AlphaGo表現優秀,最高能將一張圖所用的顏色減少10%。

從四色定理談起

就算你對「圖論」、「著色問題」這些詞有點陌生,應該也聽說過「四色定理」。這是第一個由計算輔助證明的數學定理。

四色定理告訴我們,只需4種顏色我們就可以讓地圖上所有相鄰國家的顏色互不相同。

這其實就是一個平面上的著色問題,國家可以簡化為頂點,國與國之間的相鄰關係可以簡化為連接頂點之間的線。對於平面圖而言,顏色數k最小等於幾?

歷史上數學家已經手工證明了五色定理(k=5),但是因為運算量太大,在將顏色數量進一步減少到四種(k=4)時卻遲遲無法解決,最終在70年代靠計算機才完成證明。

一般來說,我們可以用貪心算法解決這個問題,其基本思路是:先嘗試用一種顏色給儘可能多的點上色,當上一步完成後,再用第二種儘可能多地給其他點上色,然後再加入第三種、第四種等等,直到把整張圖填滿。

或者是用深度優先搜索算法,先一步步給圖像著色,若遇到相鄰點顏色相同就回溯,再換一種著色方法,直到問題解決為止。

比圍棋世界更複雜

如果圖的頂點數比較少,以上兩種方法還可行,但隨著頂點數的增加,以上兩種算法的局限性就暴露了出來。

用貪心算法著色和最優解的對比

貪心算法會陷入局部最優解,而深度優先搜索算法的運算量會越來越大,以至於完全不可行。

圖著色問題的複雜度隨著頂點數增加而急劇增長。當頂點數達到512時,其可能得狀態數就達到達到了10^790,遠超圍棋的10^460,當然更是比全宇宙的粒子數10^80多得多。

即使中等大小圖的狀態數也遠超圍棋,如果頂點數量達到1000萬,複雜度會大得驚人,相當於在1後面有4583萬個0。

另外著色問題還有另一個複雜維度,圍棋算法可以反覆在同一張相同棋盤上進行測試,而圖即使頂點相同,因為連接各點的邊不相同,結構也不完全相同。

從圍棋中獲得啟發

這些更複雜的問題對算法的訓練和推理提出了極大的挑戰。而AlphaGo曾在解決這類複雜問題上取得了很大的成功,研究人員也很自然的想到了用它來解決圖的著色問題。

對於這類問題,我們一般採用啟發式搜索算法(heuristic search),就是在狀態空間中的搜索對每一個搜索的位置進行評估,得到最好的位置,再從這個位置進行搜索直到達到目標。

AlphaGo使用的蒙特卡洛樹搜索(MCTS)用的就是一種啟發式搜索算法。

蒙特卡洛樹搜索算法示意圖:選擇路徑;擴展樹;由神經網絡執行模擬;將最終結果反向傳播,更新路徑節點。

AlphaGo下棋通過正是這種方法,計算當前棋盤上獲勝概率最大的點,直到贏棋為止。

圖著色問題與圍棋也有類似之處,它的每一步棋就是給接下來的點填上顏色。它和圍棋和象棋一樣都可以用強化學習來解決問題,差別則是獎勵。

在圖著色問題中,最明顯的獎勵選擇是顏色種類,使用的種類越少越好。而在圍棋和象棋中,獎勵是遊戲的勝負結果。

在棋類遊戲中,讓算法在自我對弈中進化是很一件很自然的事,讓表現最好的學習算法與自己對抗,這就是AlphaGo的升級版本AlphaGo Zero

AlphaGo Zero沒有學習人類棋譜,它只是懂得圍棋規則,在不斷的對弈中獲得提高,谷歌只用了21天,就讓這個0基礎的升級版打敗了5-0戰勝柯潔的AlphaGo Master版。

當AlphaGo進化到自學版本AlphaGo Zero後,它就更適合做圖著色問題了,因為著色問題是沒有所謂「人類棋譜」可以學習的。

在圖著色問題種,研究人員讓AlphaGo Zero與其他算法比賽,看誰用的顏色種類少,這就是算法的獎勵機制。

原理

和AlphaGo一樣,圖著色算法也有策略網絡(p-network)和價值網絡(v-network),p是頂點塗某種顏色的概率,v是最終顏色數量少於之前最佳算法結果的概率。

而在圍棋遊戲中,p代表落子位置的概率,v代表最終獲勝的概率。

為此,研究人員設計了一個快速著色網絡(FastColorNet)。

對於這個網絡,有如下要求:

1、可擴展性(Scalability):線性O(V)或線性對數O(E+VlogV)時間複雜度,保證它在更大的圖形(比如1000萬頂點)上也能使用。

2、完整圖形上下文(Full Graph Context):不同的圖有不同的著色策略,因此網絡需要有圖形結構的信息。

我們將該網絡的損失定義為:

π代表當前行走步數,z代表當前使用的顏色數。

上圖就是FastColorNet的架構。它的輸入包含兩個部分:問題上下文(problem context)和可能顏色上下文(possible color context)。

問題上下文(problem context)是根據剛剛著色的頂點,來安排接下來對哪些頂點進行著色。它在任務開始和結束的時候都是零。問題上下文中包含的頂點數是一個超參數,在實驗中設置為8。

可能顏色上下文(possible color context)是以上頂點集合每種可能用到的顏色。它也是一個超參數,在實驗中設置為4。

以上兩個上下文都輸入當策略網絡和價值網絡中。

策略網絡使用全局圖形上下文(global graph context),它負責計算將每個顏色選擇分配給當前頂點的概率。

隨著填充過程的進行,顏色數量會逐漸增加。為了支持顏色數量的變化,它會首先獨立處理每種顏色,產生一個非標準化分數,然後通過seq2seq模型對該分數進行處理,該模型還會考慮與其他顏色的依賴性。最終通過softmax操作得出歸一化的填充顏色概率。

策略網絡利用了具有相同顏色的節點之間的局部關係,提高了準確性,同時還降低了大圖計算的時間複雜度。

價值網絡負責從輸入數據預測著色問題最終的結果。 問題上下文(problem context)中的頂點與著色順序存儲在對應的序列中。使用seq2seq模型處理此序列,然後將這個序列與圖形上下文(graph context)組合起來,並將它們饋送到完全連接的reLU層中,最終結果輸入softmax,計算出勝利、失敗或平局的概率。

結果

研究人員用FastColorNet的強化學習過程來訓練圖著色問題,圖形大小從32個頂點到1000萬個頂點不等。

上圖顯示了圖所需顏色的數量如何隨頂點數量的增長而增長。

在32K到16M個頂點的圖上進行測試,FastColor在訓練集中使用的顏色比以往的啟發式搜索算法提高了5%-10%。 儘管在測試集有所遜色,但性能也比先前的算法高出1%-2%。

雖然提升比例看起來不高,但這種算法顯示出解決此類問題的潛力。Twitter上一位網友這樣評價:這篇文章以線性複雜度O(n)解決了一個NP完全問題。

論文地址:

https://arxiv.org/abs/1902.10162

訂閱AI內參,獲取AI行業資訊

購買AI書籍

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

喜歡就點「好看」吧 !

相關焦點

  • 百度正用谷歌AlphaGo,解決比圍棋更難的問題 | 300塊GPU在燃燒
    百度矽谷AI實驗室的同學們,就在用這個出自谷歌DeepMind的圍棋算法,解決一個比圍棋複雜得多的數學問題。為了重新訓練這個算法,百度用了300張1080Ti和2080Ti顯卡。他們解決的問題,叫做「圖著色問題」,又叫著色問題,屬於前些天讓中國奧數隊全軍覆沒的圖論。它是最著名的NP-完全問題之一。
  • 新版Alphago棋風更穩健
    新版Alphago採用了增強學習的策略,下棋技巧上遠勝初代依靠監督學習戰勝李世石的初代Alphago,它曾化名Master拿下所有高手,加之谷歌在人工智慧底層架構TensorFlow的提升,讓Alphago速度更快。柯潔身為現圍棋世界冠軍,此次也是有備而來,並宣稱用所有的熱情與Alphago進行了對決。
  • 谷歌團隊發布AlphaGo Zero:柯潔稱人類太多餘了
    【中關村在線新聞資訊】10月19日消息,今天谷歌旗下人工智慧團隊DeepMind在今天對外發布了一款全新的AlphaGo程序。這款軟體名為AlphaGo Zero,與之前擊敗了李世石的AlphaGo Master進行對弈,勝率高達100%。
  • AlphaGo 圍棋教學工具已發布
    在Deepmind所謂的「教學工具」發布之前,小編曾在腦海出現萬千猜想……但今天揭底才知道,原來只是一個平平淡淡的網頁……(建議複製到電腦上打開,因為據有的棋友反映手機打不開,小編這裡實測手機能打開,只是讀取了較長時間)
  • 柯潔vsAlphaGo圍棋比賽日期時間
    谷歌宣布5月23日-27日在烏鎮主辦「中國烏鎮·圍棋峰會」,屆時AlphaGo將再度與柯潔等為代表的中國頂尖棋手進行圍棋對弈。  根據賽程安排,本次比賽內容豐富。其中AlphaGo與世界排名第一的柯潔的三番棋對弈無疑是眾人最關注的焦點。
  • 柯潔終結41連勝圍棋AI:稱其實力遠超初代AlphaGo
    人類AI圍棋之爭,還在繼續。今年5月底,人機圍棋大戰終極對決,最終世界排名第一的柯潔九段和AlphaGo的圍棋終極人機大戰以0:3完敗。賽後,柯潔在接受採訪時直言,AlphaGo太完美,看不到任何勝利的希望。
  • AlphaGo Zero用40天成為世界最強圍棋AI
    ZM-GO  | 周末圍棋 弈路伴你 點名關注
  • 【話題】AlphaGo Zero!圍棋之神真來了……
    在10月19日世界《自然》雜誌上線的重磅論文中,詳細介紹了谷歌DeepMind團隊最新的研究成果。阿爾法元完全從零開始,不需要任何歷史棋譜的指引,更不需要參考人類任何的先驗知識,完全靠自己強化學習和參悟, 棋藝增長遠超阿爾法狗,百戰百勝,擊潰阿法爾狗100比0。
  • DeepMind 推出 AlphaGo 圍棋教學工具,圍棋學習新紀元來啦?
    此外,今年五月份被 AlphaGo Master 打敗的柯潔第一時間轉發微博表示「重新學圍棋。」(還用了一個賤賤的 doge 表情)而這個工具到底好不好用,大家可以去自行體驗。官網英文地址如下:https://alphagoteach.deepmind.com/中文地址如下:https://alphagoteach.deepmind.com/zh-hans附 David Silver 介紹 AlphaGo Master 的研發關鍵:AlphaGo Master 為何如此厲害呢?
  • 阿爾法狗教你下棋 谷歌上線AlphaGo圍棋教學工具
    【PConline 資訊】看起來AlphaGo在圍棋界真的是無敵了,如果這麼強大聰明的AI變成了圍棋老師,對於人類來說是不是又是另一種體驗呢?12月13號,谷歌旗下的DeepMind上線了這款在線AlphaGo圍棋教學工具(點擊此訪問)。
  • 比佐為更強大 谷歌即將揭秘AlphaGo思路
    但事實上沒那麼簡單,再過不久,AlphaGo及Deepmind團隊通過與世界冠軍古力、周鶴洋合作的方式,將通過發布新網站,來詳解與李世石的五盤棋及AlphaGo自己對弈的三盤精選棋譜,用可視化的方式加入了AlphaGo在對弈過程中的分析及數據。或許今天的AlphaGo,要比動漫裡面的Sai(佐為)更強大。
  • 谷歌阿爾法圍棋AlphaGo背景資料照片 兩個大腦介紹(圖)
    AlphaGo具備策略網絡(Policy Network)和估值網絡(Value Network)能力,前者分析局面、預測對手招式,後者負責判斷勝率,可以在2微秒內走出一步棋,而Dark Forest僅具備第一種能力,並且走棋所花費的時間也要更慢。  當然,真正讓AlphaGo成名的還是戰勝歐洲圍棋冠軍樊麾,這在當時引起了軒然大波,甚至推升了谷歌的股價,畢竟這是電腦對人腦的一次勝利。
  • AlphaGo之父哈薩比斯:先解決智能 再用智能解決一切 | 人物
    他創辦的DeepMind在2014年被谷歌以6億美元收購,並在此後影響了谷歌未來十年的發展方向,促使谷歌的戰略從移動先行轉向AI先行。在人工智慧領域,最讓他興奮的兩件事,一個是深度學習,另一個是強化學習,AlphaGo正是二者的結合,也是邁向通用人工智慧目標的重要一步。哈薩比斯說:「現在先解決智能,再用智能去解決一切。」
  • 谷歌AlphaGo對決李世石在即,9位世界冠軍、圍棋九段賭誰贏?-虎嗅網
    比賽最終決定採用中國圍棋競賽規則,黑貼3又3/4子(7.5目),用時為每方2小時,3次1分鐘讀秒。DeepMind公司youtube頻道和韓國棋院圍棋TV將對本次比賽進行全程直播報導。之前0:5不敵AlphaGo的歐洲圍棋冠軍樊麾,作為比賽裁判團隊一員參與其中。本次比賽無論進程如何都將下滿五局,獲得三勝者贏得獎金100萬美元(約11億韓元)。
  • 棋跡:少年AlphaGo Zero的圍棋成長之路
    留下的,是一個從零開始訓練的神經網絡,以及用簡單到不能再簡單的MCTS算法行棋的AlphaGo Zero。知易行難。這些改進貌似不難想到,因為AlphaGo Zero本來就是研究者理想中的女神。而初版AlphaGo不夠女神,不是因為研究者不想,而是暫時做不到。舉個例子,AlphaGo Fan版本中,神經網絡的輸入由48個特徵平面構成。
  • 柯潔迎戰谷歌AlphaGo!圍棋人機大戰直播地址
    【PConline資訊】在今天10點30分,中國棋手、當今世界圍棋第一人柯潔將會迎戰AlphaGo,這是一場備受關注的比賽。柯潔是近年來排名世界第一的圍棋選手,而AlphaGo則是當今最強的圍棋AI,可以說是超越人類的存在,在公開比賽中曾經擊敗李世石,並以「Master」的ID連勝包括柯潔在內的圍棋好手。谷歌谷歌柯潔與谷歌AlphaGo的對決吸引了全世界的關注,而早上的開幕式中包括柯潔、古力、陳耀燁、周睿羊、時越、唐韋星、羋昱廷、連笑等中國棋手到場,各路媒體記者圍拍。
  • AlphaGo Zero創造者:星際爭霸2比圍棋更具挑戰性
    這次谷歌 DeepMind 團隊帶來的是最新版 AlphaGo ,它的代號為「AlphaGo Zero」。我們都知道 AlphaGo 曾打敗圍棋世界冠軍,它是God,是神,是史上最強的圍棋「選手」,但這次公布的 AlphaGo Zero 卻更為兇悍:憑藉新型的強化學習技術, AlphaGo Zero 以100:0的比分擊敗了之前的世界冠軍 AlphaGo。
  • 柯潔回應新版本AlphaGo問世:人類太多餘了
    對此,柯潔回應稱:「一個純淨、純粹自我學習的alphago是最強的...對於alphago的自我進步來講...人類太多餘了。」然而,在有些特定問題上,人類的知識要麼過於昂貴,要麼不靠譜,要麼無法獲得。因此,人工智慧研究的一個長期目標就是跳過這一步,創造能在最有挑戰性的領域,不用人類輸入就達到超人水平的算法。我們發表在《自然》期刊上的最新論文,展示了實現該目標的關鍵一步。論文介紹了首個戰勝人類圍棋冠軍的電腦程式AlphaGo的最新進化版本:AlphaGo Zero。
  • 境外遊,百度地圖比谷歌更適合中國人
    這次「俄囧之行」就讓我深刻感受到了這個問題。一下飛機,抵達伯力諾維機場,我們竟然驚奇地發現,機場沒有一輛「趴活兒」的計程車,這座人口約120萬的俄羅斯第五大城市居然也沒辦法用叫車軟體。打開谷歌地圖,密密麻麻全是俄文,除了機場和幾條主幹道有中文顯示外,我們幾乎蒙圈。
  • AlphaGo背後:谷歌有支「機器人軍團」
    編/者/按  比機器人更可怕的,是谷歌想改變人類未來的野心  一個名叫AlphaGo(阿爾法狗)的人工智慧機器人以4:1的戰績,在與韓國棋手李世石的圍棋博弈中,完勝人類。  這位韓國九段圍棋手再一次輸給了由谷歌旗下DeepMind公司開發的圍棋人工智慧程序,最終以1:4的總比分落入敗局。而AlphaGo也正因第四局的失利,進入了世界職業圍棋排名網站GoRatings.org的榜單,目前位列李世石之上,排名世界第四。  DeepMind的研發工程師拉利亞·哈德塞爾表示,「AlphaGo現在有正式排名了。