2016年3月19日 星期六

淺觀 AlphaGo

AlphaGo Wins Final Game In Match Against Champion Go Player

Philip E. Ross

15 Mar 2016 | 13:53 GMT

detail: original articles, paper, all competition video



自我學習的人工智慧圍棋手 AlphaGo 贏了第五場也是最後一場跟李世乭(Lee Sedol)的對戰。這是舉辦於南韓首爾的戰役,南韓人李世乭就是目前最強大圍棋手之一,卻在五場之內只贏一場。


這也是代表,工程師們完成了最複雜的機器學習測試,對程式設計而言也是重要的突破。西洋棋,人工智慧的里程碑,已經在 19 年以前被攻克,但是,這項 AlphaGo 達成的任務卻是被認為還要很久才能達成。

這壓倒性的勝利使 Google 位於倫敦的 DeepMind 奪得 1,000,000 美金,但是他們打算把那些錢捐給慈善機構。那是因為 AlphaGo 把他們的勝利歸功於嶄新的方法:深度神經學習系統。這個系統可以在最小化人類介入下,自己訓練自己,同時,DeepMind 的研究員也展示他在其他電腦遊戲的可適性。研究員希望這種通用性可以被運用到其他可行的領域,如生醫或機器人。

遊戲對戰程式最初是使用 Claude Shannon 和 Alan Turing 在 1940 年代發明的方法。這機器列舉出所有對戰可能性,所以得出幾百萬分支起跳的分析樹。在加上一些大原則,例如掌握中央點,在使用分析樹回推到決定應該下哪一步棋。

以現今硬體的程度,這種暴力解題法可以生成個強大的對戰系統,而且還可以用一卡車的技巧來簡化分析樹,把比較不好的步法減去,讓資源省下以尋找更遠的可能性,然後,這就是世界冠軍級的軟體了。IBM’s Deep Blue 超級電腦就在 1997 年打敗世界西洋棋冠軍 Garry Kasparov。今天,你可以只花 100 塊美金買到更好的系統,甚至可以在筆電上執行。

雖然有些研究員聲稱暴力是解題法原則上可以來下很難被電腦程式化的圍棋。相較於西洋棋,這項中國遊戲每步會產生很多種下一步,這分析樹的分支量頗為驚人,而且這遊戲也缺乏一些有用的大原則。

最近,許多工程師嘗試用統計學的蒙地卡羅法來預測最好的步法。AlphaGo 也用了點這種方法和分析樹的方法。但是 AlphaGo 取得真正進步的方法是透過深度學習系統來分析整個章法。

在第二場對弈串流播放下,42 分鐘後的一個寂靜的時刻,串流播放評論員的 Thore Graepel 回顧他第一次踏入 DeepMind 辦公室的感覺:「當時,我認為仿神經網絡有什麼難,只不過是判斷章法,連主觀評論都沒有,不過正當我面對圍棋棋盤沒幾分鐘後,我的立場開始動搖......我徹底的輸掉了,一次又一次。至少當時,這辦公室讓我知道,我有個好的開始。(At least at that point the office knew me, I had a good introduction!)」

AlphaGo 有兩個神經網絡。一個是走棋網路(policy network),負責觀察來自於成千上萬場高手級對弈和訓練自己;另一個是估值網路(value network)負責進行分析樹的處理,把每個位置的勝率算出。這樣一來,機器可以把資源運用於最有可能贏的步法,並且將分析樹去蕪存菁,使他預測的步數更為深遠。

AlphaGo 負責人 David Silver 說道:「這裡有個容易瞭解的方法。走棋網路提供一個指引,讓機器可以參考,但是如果機器想出其他好方法,就可以推翻走棋網路的建議。在每個分析樹,他們使用走棋網路做建議,用價值網路做量化判斷。單單走棋網路就可以把成功的業餘棋手 Thore Graepel 打慘了。」

由分工網絡而來的一個奇怪結果,他會玩他覺得最有把握的結果。人類玩家比較喜歡靠佔領比較大塊的地來賭比較大的分數,不是 1, 2 分而是 10, 20 分。如此一來,即使他們之後犯了小錯誤他們還是會贏。AlphaGo 就比較喜歡一分一分的贏,對他們來講,一次贏個 20 分的勝算不高。

這時,你可能會認為李世乭在第四場之所以會贏是因為機器保守的作風。確實,在機器佔上風時李世乭用一個意想不到的步法,使機器下一個無俚頭的一步。李世乭之後就花了很多的時間來思考下一步棋,最後才守住勝算贏得勝利。

然而,這不是個疏忽,只是機器被李世乭嚇到了才會造成了些問題。DeepMind 的職員說道:「李世乭的第 78 不被認為是人類不太可能下的一步,大概萬分之一的機率。機器被李世乭嚇到了,然後他才會重新計算整個步法。」

如果有時間的話,一個人類玩家會對這奇怪的一步仔細思量,AlphaGo 也會,但是他只有個簡單的時間管理系統,這或許是 AlphaGo 未來可以改進的地方。David Silver 說道:「令人亢奮的未來方向是,使機器人可以真正的自我深度學習而不靠人類的例子,並且使校能達到目前水平。」未來的終極目標就是讓這機器學習拓展到各個地方,譬如說寫這篇文章。