頂尖圍棋選手很多,但頂尖圍棋 AI 似乎只有一個

作者 | 發布日期 2017 年 03 月 26 日 0:00 | 分類 AI 人工智慧 , Big Data , Google follow us in feedly

3 月 23 日是首屆世界圍棋精英賽的最後一天,參賽的中日韓代表選手分別是羋昱廷、井山裕太和朴廷桓,3 位選手輪番對局 3 天,除了彼此要分出高下,還要分別對戰日本的圍棋程式 DeepZenGo。



DeepZenGo 的開發者加藤英樹在去年 12 月接受南韓《東亞日報》採訪時曾信心滿滿地說:明年 3 月進行的世界圍棋精英賽,DeepZenGo 有信心擊敗中韓日三國最強棋手。

然而面對 3 位頂尖選手,DeepZenGo 最後的成績是兩敗一勝,前兩局被羋昱廷和朴廷桓絞殺,最後一回合執黑子中盤勝井山裕太,扳回一局。這次比賽雖有贏面,但是前有 Master 橫掃高手的範例,DeepZenGo 勝 1 輸 2 的表現並不太出色。

▲ DeepZenGo 對戰中國選手羋昱廷。

雖然之前有 AlphaGo 戰勝李世乭的先例,但 AlphaGo 無法代表圍棋 AI 的普遍水準,DeepZenGo 的開發者加藤英樹在前兩輪落敗後都表示遺憾,但其實結果並沒有出乎大家的意料──19 日在東京落幕的第十屆 UEC 杯世界電腦圍棋賽中,DeepZenGo 就不敵騰訊研發的「絕藝」,曾經稱霸 UEC 的黑馬這次失去了冠軍。

去年 3 月,DeepMind 的 AlphaGo 以 4 比 1 的成績戰勝南韓圍棋九段李世乭,這是人工智慧首次在圍棋領域戰勝人類高手,引起全世界空前關注。但這之前,機器在圍棋領域的學習已超過 10 年,從 2007 年第一屆 UEC 杯開始,研發團隊就不斷發掘電腦程式在圍棋專案上的潛力,DeepZenGo 的前身 Zen 就是其中一個。

2006 年日本遊戲工程師尾島陽兒開始研究圍棋演算法,寫出最初始的 Zen。到了 2009 年,蒙地卡羅方法(Monte Carlo method)開始大面積引入圍棋程式,成為了機器下棋的主流演算法,也幫助 Zen 拿到第一個國際大賽冠軍。

棋類遊戲有一種最初始的算法叫窮舉法,窮盡所有可能進行列舉──在下棋時把所有會出現的情況都跑一遍,總能找到一個最優解法,不管是五子棋、象棋或西洋棋。窮舉法給電腦帶來的優勢很明顯,早在 1997 年 IBM「深藍」就用窮舉法戰勝了西洋棋世界冠軍卡斯帕洛夫。

但對圍棋來說,最大的魅力正在於簡潔的規則下,無窮盡的策略帶來無窮盡的變化。這樣情況下,依靠低效暴力的列舉無法抵過一個專業棋手的經驗和判斷。蒙地卡羅方法的引入便是為窮舉增加一些隨機性,縮小需要列舉的範圍,在隨機範圍內尋求最優解即可,相當於在一片果園中找到最大的蘋果,比起原來一棵樹一棵樹找,變成只挑一塊區域取樣找;最後找到的不一定是最大的,但一定是所選範圍內最大的。

雖然對窮盡所有列舉有一定的最佳化,但蒙地卡羅方法本質還是並不高明的列舉,這樣算法只能在一定程度上最佳化,但無法帶來突破性變化。所以只靠蒙地卡羅方法導致許多圍棋程式陷入瓶頸,包括 Zen、法國的「瘋石」、南韓的「石子旋風」,許多算法都無法匹敵高段位的專業圍棋選手。

AlphaGo 的勝利像在圍棋演算法這灘死水丟入一條大魚,讓圍觀群眾錯愕同時,重新活絡了同行的熱情。比賽一個月後,DeepMind 便在《自然》雜誌發表論文,公開 Alpha Go 革命性勝利的一小部分祕密:深度卷積神經網路的引入。

▲ AlphaGo 每走一步棋,會列舉 250 步潛在可能。

AlphaGo 在蒙地卡羅演算法的基礎上構建兩道神經網路:一道是策略網路,負責評估棋局;一道是價值網路,判斷應在哪落子。這對傳統圍棋算法最大的價值在於節省蒙地卡羅方法的搜尋空間。再用找大蘋果舉例,就是會先根據經驗判斷該找一塊陽光好的地方,再判斷哪塊陽光好,找到大蘋果的機率更大。

神經網路縮短了機器演算法和專業選手間的差距,也為圍棋算法最佳化提供新思路,包括加藤英樹等許多開發者都在 Google 發表論文後,把深度學習引入圍棋演算法。Zen 在經過深度學習升級後,也改名為今天的 DeepZenGo。

但 Google 論文中公布的資訊仍然只是 AlphaGo 的冰山一角。儘管用同樣基礎架構,但 DeepZenGo 距離 AlphaGo 仍有很大差距。首先是硬體不在同一水平──AlphaGo 擁有 1,920 個 CPU、280 個 GPU,最新的 DeepZen 14.0 版本配備是 44 個 CPU、4 個 GPU,這差距相當於 AlphaGo 坐著火箭起飛時 DeepZenGo 還在騎單車。

其次是演算法的差距。AlphaGo 只用一份教材,但各家學習方法不同導致學習效果不同。AlphaGo 雖然研發時間不如 DeepZenGo 長,但深度學習上 Google 已有 7 年經驗,DeepZen 即便引入神經網路,模型訓練的時間和量都遠遠不及 AlphaGo。

無法對抗 AlphaGo 的 DeepZenGo 在眾多圍棋電腦中已是數一數二了,如果不是「絕藝」橫空出世,它仍會是這次 UEC 杯第一名。但如果連 DeepZenGo 也很難跟上 AlphaGo 的腳步,那身後更多 AI 小選手只能面臨淘汰。

如同任一種尖端技術,並非所有人都能跟隨「潮流」而獲利,除了幾位掌握核心技術的佼佼者能推動浪潮,更多追隨者面臨的還是被浪潮吞沒。有傳聞說這屆的 UEC 杯就是最後一屆比賽了,大概也是因為這樣的競爭沒多少意義了。

小玩家被淘汰,大玩家會繼續競爭嗎?也不見得,據說 AlphaGo 會在今年 4 月再和號稱目前最強的中國選手柯潔對戰,贏了便會結束征戰圍棋界,享受無敵的寂寞,然後將精力放在其他技術上,比如去年 11 月開始在電腦遊戲《星海爭霸》的嘗試。最後,遊戲公司出身的 DeepZenGo,可能還是會先保住平民級遊戲戰場,和群眾打成一片,這未嘗不是一條好出路。

(本文由 PingWest 授權轉載;首圖來源:Flickr/Chad Miller CC BY 2.0)

延伸閱讀: