Total Pageviews

Tuesday 14 November 2017

AlphaGo Zero版本並未到達極限

2016 年,Google 旗下 DeepMind 公司開發的 AlphaGo 擊敗了韓國職業九段棋士李世石。今年 5 月,AlphaGo 以三戰全勝的紀錄贏了名列世界第一的棋王柯潔。隔了五個月後,DeepMind 公布了 AlphaGo Zero,它再度讓人類感到震撼。
「我沒有想過一個名詞能獲得所有人的認同,從政治人物、科學家、企業家、到學生甚至是小孩,都覺得這件事明天會發生,這場完美風暴的引爆點是 AlphaGo,黃士傑可能自己都沒想過,他那隻幫機器下棋的手,改變這個世界:讓大家相信或者憂慮機器會超越人類」,Google 台灣董事總經理簡立峰說。
人工智慧,是簡立峰口中的完美風暴,AlphaGo 則是這一波 AI 風潮的最佳代言人,那麼,黃士傑呢?相信 DeepTech 的讀者們已經對這個名字並不陌生,他是 DeepMind 資深研究員,是與人類頂尖棋手對弈時代 AlphaGo 執棋的「人肉臂」,更重要的是,他還是開發這個神秘大腦的關鍵人物之一。
11 月 10 日,黃士傑應台灣人工智慧年會之邀來台演講,演講主題是「AlphaGo—— 深度學習與強化學習的勝利」,也是他首次公開演講。
不久前,在 DeepMind 發表了《Mastering the game of Go without human knowledge》的最新論文後,黃士傑曾在 Facebook 寫下: AlphaGo Zero 是完全脫離人類知識的 AlphaGo 版本。這也就是取名為 AlphaGo Zero 的原因——AlphaGo 從零開始。
在今天的演講上,他強調,DeepMind 的目標是要做出一個通用人工智慧,也就是強人工智慧,但他也認為,對 DeepMind 來說,強人工智慧還是很遙遠,現在最強的學習技能仍然在人類大腦內,有人說強人工智慧要到 2045 年,有人說至少還要 100 年,黃世傑的回答是:「大家不要太擔心,電影還是電影。」
從 DeepMind 為什麼開始做圍棋一直到最新的 AlphaGo Zero,見證了這一切的他稱「這幾年好像在做夢」。
以下為演講內容整理(原文略有刪改):
「人因夢想而偉大」,是我加入(DeepMind)五年之後最大的體會,這段經歷對我個人最大的影響就是整個人對 AI 的認識不斷加深。DeepMind 團隊卧虎藏龍,精神非常強,當 AlphaGo 結束時,我的老闆過來跟我說:「Aja(黃士傑英文名),AlphaGo 已經完成所有一切我們希望它該完成的任務,所以我們要再往前邁進」。這群高手都有一個清楚的遠大目標,就是做出通用人工智慧——解決 A I,把世界變得更好。
我從小就喜歡下棋,棋藝業餘六段,再往上就是職業等級。回顧加入 DeepMind 這五年及 AlphaGo 的發展歷史,有四件事對我意義非常大,第一件是在韓國贏了李世石,那天 Demis Hassabis(DeepMind 的 CEO)在推特上寫著:「贏了,AlphaGo 登上月球」。我們最初沒想過會做出這麼強的 AlphaGo,當初是抱持著「探索」的心理開始的。開發過程很辛苦,連過聖誕節時,AlphaGo 都還在自我對弈,同事也都還在工作。所以對我們來說,AlphaGo 贏了就像阿姆斯特朗登上月球一樣:「這是我的一小步,卻是人類的一大步。
第二件是操作 AlphaGo Master 在網路 取得 60 連勝,第三是在中國烏鎮比賽打贏柯潔。我參加了兩次人機大戰,兩次的氣氛都非常不一樣。在韓國時,我們都可以深深感受到李世石的巨大壓力,感覺他是為人類而戰,第二次在烏鎮的氣氛倒是滿愉快,大家是一種建設性而不是對抗性的氣氛。
第四件事就是 AlphaGo Zero 誕生,DeepMind 把所有人類圍棋知識拋棄掉,只給規則讓它從頭開始學。我回想起我在師大念博士班開發 Erica 圍棋電腦程序,每天寫程序、解 Bug 、做測試到半夜的日子,但 AlphaGo Zero 把我之前做的這些事全部取代,完全不需要我的協助。
於是有同事問我,AlphaGo Zero 把你過去十幾年在計算機上做的研究一點一點的拿掉,還遠遠超越你,你有什麼感覺?一開始我心情有點複雜,但後來想想這是「趨勢」。如果我讓 AlphaGo 有所阻礙的話,那我確實應該被拿掉,AlphaGo 99% 的知識經我之手,它到達這一步其實是我從事計算機圍棋研究的非常好的收尾,我已經非常滿足了。
開發 Erica,獲邀加入 DeepMind
AlphaGo 怎麼開始的?其實是三組人馬走在一起、串起來的結晶,第一條線是 Demis Hassabis 和 DeepMind AlphaGo 項目負責人 David Silver,第二條線是我,第三條線是 Google Brain 的兩位人員 Chris Maddison 和 Ilya Sutskever。
Demis Hassabis 和 David Silver 是在劍橋大學的同學,他們一起創業。他們為什麼想做圍棋呢?當年 IBM 深藍贏了西洋棋世界冠軍卡斯巴羅夫,就只剩下圍棋是人工智慧最大的挑戰。因此他們一直就希望做出很強的圍棋程序,這是他們的夢想。一開始,研究人員是將西洋棋的技術放進圍棋,但這失敗了,2006 年蒙特卡洛樹出來之後,圍棋程序提升到業餘三段,但離職業水平還是有極大的差距。
當我開發出的 Erica 在 2010 年的計算機奧林匹亞獲得 19 路圍棋的冠軍時,我使用的硬體是 8 cores,Zen 用了 6 台 PC,美國的 Many Faces of GO 是用 12 cores,其他對手都是用大機器,但小蝦米卻贏了大鯨魚。不久,Demis Hassabis 就寫了一封信問我要不要加入,面試時他們告訴我,他們的夢想就是強人工智慧。隔年我就加入 DeepMind。當我們開始做 GO Project 時,大家都有一個共識——不複製 Erica,因為沒有意義,我們決定要把深度學習應用進來。
AlphaGo 的成功是深度學習與強化學習的勝利
我們怎麼判斷深度學習可能可以用在圍棋呢?如果說,人看一個棋盤,幾秒內大概可以知道下這裡、下那裡會是好棋,這種任務神經網路就辦得到,但如果要想好幾分鐘後怎麼走,那神經網路就可能辦不到。當初我們就有這 么一個直覺:要以深度學習建構策略網路。
AlphaGo 的主要突破是價值網路,有一天,David Silver 跟我說他有這樣一個想法,當時我還有點質疑。我們把策略網路做出來後,勝率就提高到 70~80%,後來加入了 David Silver 提出的價值網路,要讓機器進行不斷左右互搏的自我學習,一開始不太成功,過了一個月我們克服 over fitting 的問題後,AlphaGo 的勝率大大提升到 95%,而這也是後面 AlphaGo Zero 的主要核心。
後來老闆就說,要跟人類面對面下棋,就得跟樊麾老師比賽。我記得,當樊麾第二盤棋輸了之後,他就說:我要出去走走,因為現場只有我和他說中文,我就說:我陪你,他回答:不用,我自己透透氣。樊麾回來後,他變得很正面,他不覺得這東西很可怕,而是很正面也很值得期待,因此他後來也變成 DeepMind 團隊的一員。再後來,我們選擇公開發表這個研究的論文,因為科學的精神就是互相分享,希望推動整個研究領域進步。之後,加入 Google 也為我們帶來很大幫助,特別是硬體上,從 GPU 到 TPU 都沒有後顧之憂。但 TPU 對我們有極大幫助,把勝率提高了很多。
另外,大家不要忘記,AlphaGo 在跟李世石比賽時,第四盤棋輸的很慘,我當時想說,我自己來下都比較好。儘管最後我們贏了,但回去後就一定要解決這個弱點,不是只解決當初第四盤的弱點,必須全面性地解決,否則以後還是沒有人敢用 AI 系統。進化後的版本就是 AlphaGo Master。
我們到底怎麼解決呢?還是用深度學習跟強化學習的方法,而不是用人類知識方法。
1. 我們把 AlphaGo 的學習能力變強,從神經網路加深:從 13 層變成了 40 層,並改成 ResNet。
2. 把 2 個網路(決策網路、價值網路)結合成 1 個網路,讓 AlphaGo 的直覺和判斷同時得到訓練,更有一致性。
3. 改進訓練的 pipeline。
4. 解決了模仿期、循環期等特別情況。
超越以往的 AlphaGo Zero
AlphaGo Zero 是連我們自己都很驚訝的版本,因為它第一步就是把所有人類知識的部分都拋掉,它是脫離「人類知識」,不是脫離「規則知識,我們一樣是給要它 19X19 的盤面訓練。
從零開始的 AlphaGo 還真的是全部亂下、徹底亂下,所以最初我們預期 AlphaGo Zero 應該是贏不了 AlphaGo Master,後來我們用了一些方法把卡住的地方解決了,細節可以參考論文,沒想到 AlphaGo Master 進一步超越原先的版本,3 天就走完人類幾千年圍棋研究的歷程。深度學習跟強化學習的威力真是太大。
AlphaGo Zero 用了 2000 個 TPU 、訓練了 40 天。第 40 天還沒有到達其極限,但因為我們機器要做其他事情就停下了,所以它還有很大的潛力。AlphaGo Zero 論文的目的不是要做出很強的程序,也沒有想要跟人類知識比較、或是討論人類知識有沒有用這些問題,而是想證明程序不需要人類知識也可以擁有很強的能力。
我觀察到,計算機圍棋 AI 的價值在於幫助人類或棋手擴展圍棋的理論和思路,未來 AI 是人類的工具,跟人類合作,而非跟人類對抗。強人工智慧還是 Far Away,現在最強的學習技能仍在人類的腦袋裡。

David Silver 曾指出:”lphaGo 已經退役了。這意味著我們將人員和硬體資源轉移到其他 AI 問題中,我們還有很長的路要走」。大家都在關注未來 DeepMind 下一個鎖定的領域,而在會議上,黃士傑沒有透露太多,但強調「讓世界變得更好」,就是 DeepMind 的終極目標。
至於是否可能將 AlphaGo Zero 開源?黃士傑的回答是目前公司沒有這種想法,論文其實寫得很清楚,之後大家也可以進一步優化演算法。
和此前的 AlphaGo 版本相比,AlphaGo Zero 的主要成果如下:
1. AlphaGo Zero 從零開始自我學習下圍棋。
2. 僅僅 36 小時後,AlphaGo Zero 靠著自我學習,就摸索出所有基本且重要的圍棋知識,達到了與李世石九段對戰的 AlphaGo v18(也就是 AlphaGo Lee)的相同水平。
3. 3 天后,AlphaGo Zero 對戰 AlphaGo v18 達到 100% 的勝率。
4. 不斷進步的 AlphaGo Zero 達到了 Master 的水平。Master 即年初在網路上達成 60 連勝的 AlphaGo 版本。
5. 40 天後,AlphaGo Zero 對戰 Master 達到近 90% 勝率,成為有史以來 AlphaGo 棋力最強的版本。
過去,DeepMind 在訓練 AlphaGo 時,先讓機器看 20~30 萬個棋譜,累積一定的人類知識後開始進行自我對弈,自我對弈到達一定程度後機器就有機會贏過人類,因為機器可以在數個禮拜內就下幾百萬盤,它的經驗比人多得多。黃士傑指出:「AlphaGo 成功的背後是結合了深度學習(Deep Learning)、強化學習(Reinforcement learning)與搜索樹演算法(Tree Search)三大技術。」
簡單來說,當時的 AlphaGo 有兩個核心:策略網路(Policy Network)、評價網路(Value Network),這兩個核心都是由卷積神經網路所構成。具體而言,首先是大量的棋譜被輸入到「策略網路」中,機器會進行監督式學習,然後使用部分樣本訓練出一個基礎版的策略網路,以及使用完整樣本訓練出進階版的策略網路,讓這兩個網路對弈,機器通過不斷新增的環境數據調整策略,也就是所謂的強化學習。而「策略網路」的作用是選擇落子的位置,再由「評價網路」來判斷盤面,分析每個步數的權重,預測遊戲的輸贏結果。當這兩個網路把落子的可能性縮小到一個範圍內時,機器計算需要龐大運算資源的負擔減少了,再利用蒙特卡洛搜索樹於有限的組合中算出最佳解。
不過,到了 AlphaGo Zero,DeepMind 則是讓它「腦袋空空」——沒有輸入任何棋譜,讓機器自己亂玩。
也就是說,從一個不知道圍棋遊戲規則的神經網路開始,沒有任何人類指導或人類智能的參與,僅僅通過全新的強化學習演算法,讓程序自我對弈,自己成為自己的老師,在這過程中神經網路不斷被更新和調整。沒想到的是,機器訓練的時間更短,但卻更聰明,例如,AlphaGo Zero 在 3 天內進行過 490 萬次自我對弈,就達到了先前擊敗李世石的程度,但之前他們訓練與李世石對戰的 AlphaGo 卻花費了長達數個月的時間。另外,AlphaGo Zero 21 天就達到了在烏鎮圍棋峰會打敗柯潔的 AlphaGo Master 的水平.

No comments:

Post a Comment