2018年1月21日 星期日

深入 AlphaGo Zero 論文





長期以來,利用人工智慧技術挑戰人類的一些富有智慧的項目,例如象棋、圍棋、對話等等都被看做人工智慧技術前進的重要參照,人工智慧技術到底是不是能夠帶來「擬人」的思維和決策能力,在某種意義上成了衡量人工智慧水平以及整個行業發展的試金石


在這些項目中,圍棋可以說是一個難度很大的項目,更是飽受關注,一方面,圍棋的走棋可能性非常多,且棋局變化多端,這似乎給計算機算法帶來了很大的困難,另一方面,圍棋在一些國家和地區(比如中國、日本和韓國)不僅僅是一個智力競技項目,更有一系列理念、人格等全方位的配套文化概念,使得人們對此產生懷疑,人工智慧模型和算法是否能夠真正學習到有價值的信息,而不僅僅是模擬人的行為

2015 年,來自谷歌 DeepMind 團隊的 AlphaGo 打敗了職業二段樊麾,在這之後短短兩年的時間里,該團隊的人工智慧技術迅猛發展,不僅以 4 比 1 擊敗韓國的李世石九段,更是在今年戰勝了即時世界排名第一的柯傑,可謂戰勝了被譽為「人類智慧皇冠」的圍棋項目

前段時間,DeepMind 團隊在《自然》雜誌上發表了 AlphaGo 的最新研究成果,AlphaGo Zero,這項技術更是把人工智慧在圍棋上的應用推向了一個新高度,可以說是利用計算機算法把圍棋的棋藝發展到了一個人類之前無法想象的階段

今天認真剖析一下這篇發表在《自然》雜誌上的名為《不依靠人類知識掌握圍棋》(Mastering the Game of Go without Human Knowledge)的論文 ,標題中的不依靠人類知識當然有一點誇張,不過這也正是這篇論文的核心思想,那就是僅用少量甚至不用人類的數據來驅動人工智慧算法,在之前的很多人工智慧模型和算法來看,這是一個巨大的挑戰

作者群信息介紹

文章共有 17 位作者,都來自倫敦的谷歌 DeepMind 團隊,AlphaGo 的第一篇論文也是發表在《自然》雜誌,當時有 20 位作者,比較起來,這篇論文的作者數目減少了,另外,雖然兩篇論文的主要作者都是三名(共同貢獻),但是這三個人發生了一些變化,下面就介紹一下本文的三個主要作者

第一作者大衛·希爾維(David Silver)目前在 DeepMind 領導強化學習(Reinforcement Learning)的多項研究,大衛的經歷很傳奇,早年曾在南非生活和學習,1997 年從劍橋大學畢業後,先到一家名為 Elixir Studios 的遊戲公司工作了好幾年

然後到加拿大的阿爾伯塔大學(University of Alberta)學習機器學習,特別是強化學習,他當時就開始嘗試開發用計算機算法來進行圍棋博弈,大衛 2013 年全職加入 DeepMind,之後迅速成了 DeepMind 在強化學習,特別是深度學習和強化學習結合領域的領軍人物

第二作者朱利安·施瑞特維澤(Julian Schrittwieser)是谷歌的一名工程師,他長期對圍棋、人工智慧感興趣

值得注意的是,朱利安這次成為主要作者,而在之前的第一篇文章中還只是普通貢獻者,可以推斷在 AlphaGo Zero 這個版本里有相當多的工程優化

第三作者卡倫·西蒙彥(Karen Simonyan)是 DeepMind 的一名科學家,長期從事計算機視覺和人工智慧技術的研究,他來自 2014 年 DeepMind 收購的一家名為 Vision Factory 的人工智慧公司,卡倫最近幾年的論文都有高達幾千的引用量

論文的主要貢獻
首先,這篇論文的主要「賣點」就是較少利用、或者說沒有利用傳統意義上的數據驅動的棋局

第一篇論文里的 AlphaGo 以及後面的一些版本,都是主要利用人類的棋局作為重要的訓練數據,採用監督學習(Supervised Learning)和強化學習結合的形式,在 AlphaGo Zero 這個版本里,人類的棋局被徹底放棄,而完全依靠了強化學習,從完全隨機(Random)的情況開始,「進化」出了具有人類經驗的各種走法的圍棋策略,並且達到了非常高的競技水平,可以說這是本篇論文的核心貢獻

在核心的模型方面也有不少改進,比如一個很大的改進就是把策略網絡(Policy Network)和價值網絡(Value Network)合併,這樣就能更加有效地用簡單統一的深度模型來對這兩個網絡進行建模,另外,整個模型的輸入特徵也有變化,從深度模型提取特徵外加人工挑選特徵,到這篇文章提出的完全依靠棋盤的圖像信息來自動抓取特徵,可謂是減少人工干預的一個重要步驟

文章的另一大看點是實驗結果,論文中展示了新的 AlphaGo Zero 模型能夠戰勝之前很多版本的模型,最令人驚奇的可能莫過於 AlphaGo Zero 在「自學」的過程中,還「悟」到了很多人類在圍棋學習過程中領悟的棋局招數

論文的核心方法
AlphaGo Zero 模型的核心起源於一個簡單的深度網絡模型,這個深度網絡的輸入是棋盤當前位置的表達(Representation)以及過去的歷史信息,輸出一個走子的概率以及對應的價值

這個價值是用來描述當前棋手能夠贏的概率,剛才已經說了,這個深度網絡集合了策略網絡和價值網絡,形成了這麼一個統一的評價整個棋盤的神經網絡,在具體的網絡架構方面,AlphaGo Zero 採用了計算機視覺領域最近流行的殘差架構(ResNet),可以說也是這個方法的一個小創新

有了這個基本的神經網絡之後,作者們就需要和強化學習結合起來,具體來說,在每一個位置的時候,算法都會去執行一個蒙特卡羅樹搜索(Monte Carlo Tree Search),對當前的神經網絡模型輸出的走子策略進行一個修正,或者可以認為是「加強」

這個蒙特卡羅樹搜索的輸出結果依然是走子的概率,但是這個概率往往比之前單從神經網絡得到的要強,然後,更新神經網絡的參數,使得參數盡可能地接近蒙特卡羅樹搜索的結果

那麼,什麼是蒙特卡羅樹搜索?簡單來說,從當前的棋盤情況出發,對整個棋盤產生的所有可能性進行有限制情況的搜索,也就是說,不是「窮舉法」,大體說來,從某一個可能性走到下一個可能性主要是依靠下一個可能性發生的概率,以及通過神經網絡來判斷是否能贏的可能性

整個算法最開始的時候是從隨機的位置初始化,然後通過對神經網絡的更新,以及每一個迭代通過利用蒙特卡羅樹進行搜索,從而找到更加合適的神經網絡模型的參數,整個算法非常簡單明瞭,不管是結構上還是複雜度上都比之前的版本要簡潔不少,文章反復強調公佈的算法可以在單機上運行(基於 Google Cloud 的 4 TPU 機器),相比於最早的 AlphaGo 需要使用 176 個 GPU,也可以看到整個模型的進化效果

方法的實驗效果
AlphaGo Zero 的實驗效果是驚人的,從模擬中看,大約 20 小時後,這個版本的模型就能夠打敗依靠數據的監督學習版本的 AlphaGo 了,而到了 40 小時後,這個版本已經可以打敗挑戰了李世石的 AlphaGo

也就是說,不依靠任何人類棋局,AlphaGo Zero 在不到 2 天的運算時間里,就能夠達到頂級的人類水平

除了可以打敗之前的 AlphaGo 版本以外,這個版本相比於監督學習的版本,在大約 20 小時以後也可以更好地預測人類對戰的走子,並且隨著訓練時間的推移,這種預測的準確性還在不斷提升

剛才也提到了,AlphaGo Zero 在自我訓練的對戰中,在不依靠人類數據的情況下,的確是發現了相當多的人類熟悉的對戰套路,然而,有一些人類在圍棋歷史中較早發現的套路卻沒有或者較晚才在 AlphaGo Zero 的訓練歷史中習得,這打開了很多問題,比如發生這樣情況的原因究竟是什麼等等

最後,論文闡述了 AlphaGo Zero 非常強大的實戰能力,在和之前最強的 AlphaGo 版本,也就是 AlphaGo Master 的對戰中,AlphaGo Zero 取得了 100 比 0 的絕對優勢,而相同的 AlphaGo Master 與人對弈的成績是 60 比 0


發表在《自然》雜誌上的這篇關於 AlphaGo Zero 的論文,這篇文章介紹了一個簡潔的圍棋人工智慧算法,結合深度學習和強化學習,不依靠人類的信息

一起來回顧下要點:

第一,關注這篇文章主要作者的信息,可以推斷出文章的一些變化方向

第二,這篇文章有兩大看點,一是很少或者幾乎沒有利用人類的棋局數據,二是得到了顯著的實驗結果

第三,文章提出的核心模型將策略網絡和價值網絡合併,與強化學習相結合

最後,一個思考題,有人說 AlphaGo Zero 並不是完全不依靠人類信息,比如圍棋本身的規則就是很強的監督信息;再比如,不管每一步的走動如何,棋局最後是輸是贏,依然是很強的信息

那麼,AlphaGo Zero 到底是不是還是依賴了很強的數據呢?人類能不能把 AlphaGo Zero 看做是監督學習的產物呢?
Share:

0 意見: