深度解讀AlphaGo Zero,教你訓練一個「圍棋高手」

2021-01-10 智能觀

在2017年,深度學習和人工智慧都取得了驚人的進步,尤其DeepMind的AlphaGo系列,令人記憶猶新。其中,AlphaGo Zero這個版本更是取得了驚人的突破:三天內通過自我對抗賽,超過了AlphaGo 的實力,贏得了100場比賽的全勝;21天內達到AlphaGo Master的水平,並在40天內超過了所有舊版本。知名計算機科學研究員Xavier Amatrain稱它比「機器學習」中「過去5年的成果加起來都重要」。

那麼DeepMind是如何做到的呢?在這篇文章中,我將嘗試用最通俗易懂的語言來解釋AlphaGo Zero使用的技術、工作方式,以及對未來的AI研究產生的影響。讓我們從AlphaGo和AlphaGo Zero工作的一般方法開始吧。

一般方法

AlphaGo和AlphaGo Zero都是在棋盤上進行評估,並使用兩種方法組合來選擇落子位置:

執行 「 前瞻 」的搜索結果:通過模擬遊戲進行預判,從而了解哪些位置最有可能在未來成為一個「好」位置,也就是多看幾步。根據「 直覺 」來評估落子位置,即落子位置是「好」還是「壞」,落子會導致勝利還是失敗。

AlphaGo和AlphaGo Zero都巧妙地結合了這兩種方法。我們來分別看一看:

落子方法1:「前瞻」

圍棋是一個非常複雜的遊戲,電腦不能簡單地搜索所有可能,使用蠻力找到最好的答案(因為圍棋的變化實在太多,數不勝數)。

AlphaGo使用「 蒙特卡羅樹搜索 」(MCTS)克服這個問題。這種方法首先需要在棋盤上探索許多可能的變化, 然後隨著棋局的進行,把這些變化集中起來比較優劣, 就會發現某些著法比其他著法更有可能通向勝利。

AlphaGo 和 AlphaGo Zero簡單地使用MCTS搜索棋譜中的最佳著法,並羅列出來, 在大量最佳著法之間權衡比較,選擇新的落子點;並且更深入地探索棋譜中已經出現的變化。

其實在AlphaGo之前,MCTS就已經是所有棋類程序使用的核心技術了,但DeepMind將這一技術巧妙地與基於神經網絡的「直覺」相結合,使AlphaGo超越了人類水平。

落子方法2:「直覺」

DeepMind對AlphaGo的主要創新是利用深層神經網絡來理解遊戲的狀態,然後利用這種理解智能地指導MCTS進行搜索

更具體地說,他們訓練的網絡可以看到:

當前棋盤上的狀態。是哪位棋手正在下棋。棋手最近的一系列著法(必須排除那些不可能的著法)。

鑑於這些信息,神經網絡可以推薦:

應該採取的措施。目前的棋手是否有可能獲勝。

DeepMind如何訓練神經網絡做到這些? AlphaGo和AlphaGo Zero使用了非常不同的方法。我們先從AlphaGo說起。

AlphaGo的「直覺」:策略網絡和價值網絡

AlphaGo有兩個分開訓練的神經網絡。

1.第一個神經網絡(隨機初始化)從大量真實對弈的棋譜中學習,模擬人類高手。這個問題是深層神經網絡擅長解決的,看似困難,卻是很直接的模式識別問題; 事實上,一旦接受了訓練,這個網絡確實學會了一些人類高手的最佳著法。

2.DeepMind不只希望AlphaGo模仿人類玩家,他們也希望贏得勝利。為了選出對弈中更有可能取得勝利的著法,模擬人類高手的第一個神經網絡開始與自己對弈。

隨後DeepMind從這些「自我對弈」棋局中隨機抽取著法;如果一個選定的著法使當前玩家在對弈中最終獲勝,那麼網絡在將來更有可能採取類似的下法。

3.DeepMind將這兩個神經網絡與MCTS結合在一起——也就是說,程序的「直覺」加上強大的「前瞻」搜索——這是一種非常聰明的方式,即,使用已經訓練過的網絡預測一個著法,指導MCTS搜索,並判斷選擇的位置是否會取得最終「勝利」,用此結果評估搜索期間選擇的落子位置是否妥當。這讓AlphaGo智能地搜索接下來的動作,並最終擊敗了李世石。

然而,AlphaGo Zero把這些提升到了一個全新的高度。

AlphaGo Zero工作的三個技巧

從更高的層面上來說,AlphaGo Zero的工作方式與AlphaGo相同:具體來說,它也使用MCTS預測搜索,通過神經網絡智能引導。

然而,AlphaGo Zero的神經網絡——它的「直覺」——與AlphaGo的完全不同。

技巧1:如何訓練AlphaGo Zero

DeepMind認識到,神經網絡無論多麼智能,想要「理解」圍棋遊戲,都要藉助MCTS。

MCTS執行一種預測搜索,一個人類棋手,只要有足夠的時間,也能做出這些預測:智能地猜測所有變化,未來著法的優劣,那些著法是最有希望獲勝的,並模擬這些變化,來決定此刻的著法,以及接下來的走法。

下面是一個例子。假設有一個神經網絡正在讀棋盤,當前局面會導致平局,評估結果為0.0。然後,網絡智能地向前看一些著法,發現一系列下法可能獲勝,評估結果為0.5。然後,它隨時更新對當前棋局的評估,以保障自己下一次處於更有利的位置。

DeepMind的神經網絡無論和業餘愛好者還是職業高手對弈,採取的都是這樣的方式:通過「前瞻」查看當前哪個選項會產生更有利的結果。

另外,就像AlphaGo一樣,DeepMind也希望神經網絡能夠了解哪些著法可能會走向勝利。因此,與以往一樣,神經網絡和自己對弈,贏得一些經驗,並去除一些不妥當的著法。

這些數據純粹是通過預測和自我對弈生成的,是DeepMind用來訓練AlphaGo Zero的主要數據。

很多人認為,AlphaGo Zero的訓練沒有使用任何人類的棋譜有些不可思議,而這個「技巧」就是原因:對於對弈中的一個給定狀態,執行MCTS的前瞻預測,並利用結果來改善對弈情況。這就是AlphaGo Zero能夠不斷提高的原因,從擊敗業餘選手一直到擊敗人類的職業高手。

第二個技巧是一個新的神經網絡結構,我稱之為「雙頭怪物」。

技巧2:雙頭怪物

AlphaGo Zero的神經網絡架構,是一個「雙頭」架構。它的前20層是常見的神經網絡結構。這些層後面有「兩個頭」:其中一頭,利用前20層的輸出,產生下一步落子獲勝的概率,另一個頭利用前20層的輸出,推理出當前玩家在此情形下最終獲勝的概率。

這是很不尋常的。因為在幾乎所有應用中,神經網絡只有一個固定的輸出。如果一個網絡接收兩組信號,網絡如何學習?是選擇對大局的評估,還是選擇對下一步最有利的下法?

答案很簡單:請記住,神經網絡只是一些數學函數,大量參數決定了預測結果; 通過反覆向網絡展示「正確答案」,讓它更新參數,使產生的答案更接近正確答案。

因此,當使用雙頭神經網絡的頭1進行預測時,我們只需更新「身體」和「頭1」中的參數。同樣,當我們使用頭2進行預測時,更新「身體」和「頭2」中的參數。

這就是DeepMind用來指導MCTS的「雙頭」神經網絡,就像AlphaGo用兩個獨立的神經網絡一樣。這個竅門使AlphaGo Zero比AlphaGo增加了一倍的實力。

另一方面,AlphaGo Zero實力的增加還結合了該領域最新技術。

技巧3:殘餘網絡

AlphaGo Zero使用了比AlphaGo更「尖端」的神經網絡。具體來說,他們使用殘餘神經網絡,而不是純粹的卷積網絡。2015年末,就在AlphaGo第一個版本完成時,微軟研究院率先推出了殘餘網絡,所以,DeepMind並沒有在最初的AlphaGo中使用它,這是可以理解的。

從原始的「ResNet」文件中比較殘餘與卷積網絡

有趣的是,這兩個與神經網絡相關的技巧——從卷積到殘餘,使用「雙頭怪物」神經網絡——導致了AlphaGo Zero比AlphaGo增加了一倍的實力,如下圖所示。

AlphaGo Zero的改進版

技巧總結

這三個技巧使得AlphaGo Zero能夠實現令人難以置信的性能,即使Alpha Go使用這三個技巧也一樣會增強實力。

值得注意的是,AlphaGo並沒有使用任何經典的,甚至「尖端」的強化學習概念,沒有深度Q學習(無模型強化學習),或者任何其他與強化學習相關的東西。它只是使用模擬來生成神經網絡的訓練數據,然後以監督的方式學習。在發布AlphaGo Zero之後,Denny Britz曾在推特中發表了自己的看法:

從零開始訓練AlphaGo Zero

1.初始化神經網絡。

2.進行自我對弈,每一步進行1600次MCTS模擬(大約需要0.4秒)。

3.隨著自我對弈的進行,從最近的50萬場比賽中抽取2048個落子位置以及比賽的輸贏情況作為樣本。

4.使用MCTS向前搜索,對著法進行評估,訓練神經網絡。

5.對步驟3、4每1000次進行迭代,評估當前的神經網絡與以前的最佳版本;如果勝率達到55%,就使用新的神經網絡生成遊戲,摒棄以前的版本。

重複第3、4步70萬次,而自我對弈遊戲不斷進行——三天後,你會有自己的AlphaGo Zero!

對AI其他研究的影響

DeepMind在人工智慧研究領域取得了令人難以置信的成就。這裡有幾個關鍵因素:

首先,模擬產生的自我訓練數據「足夠好」,DeepMind的神經網絡訓練表明,模擬的自我對抗數據可以訓練主體在極其複雜的任務中超越人類的表現,甚至從頭開始,完全從數據開始。而對於人類來說,想成為專家靠的可不是數據,因為我們的成長需要經驗的積累。

其次,「雙頭怪物」的技巧似乎可以幫助神經網絡執行多個相關性很強的任務,單獨的任務發揮不了它的優勢。DeepMind似乎非常喜歡這個技巧,並使用它及其高級版本,學習多個不同領域的多個任務。

很多機器人項目,特別是使用模擬教機器人用肢體完成任務的項目,正在使用這兩個技巧,以取得良好的效果。

Pieter Abbeel在最近的NIPS主題演講中就介紹了許多令人印象深刻的新成果,這些成果使用了以上技巧以及許多其他的出色的強化學習技術。

事實上,競技運動與「雙頭怪物」似乎完美契合:例如,同時訓練機器人用球棒擊球,並用拳頭擊打一個移動的目標,因為這兩項任務需要學習一些共同的常用技能(如保持平衡、軀幹旋轉)。

DeepMind的AlphaGo Zero是2017年人工智慧和深度學習方面最令人感興趣的進步之一。我迫不及待地想知道2018年他們會帶給我們什麼!

來源:Hackernoon作者:Seth Weidman智能觀 編譯

—完—

親愛的朋友:2017年,AlphaGo Zero驚豔了世界。我們感嘆人工智慧的發展之快,也好奇甚或恐懼Zero是如何自我修煉的。這篇文章裡,作者用通俗易懂的方式,給我們介紹了AlphaGo Zero的使用技術和工作方式;並教我們如何訓練自己的Zero。希望能對你有所啟發。安! 智能觀 一米 2018-1-16 於北京中關村

聲明:編譯文章旨在幫助讀者了解行業新思想、新觀點及新動態,為原作者觀點,不代表智能觀觀點。

相關焦點

  • AlphaGo、人工智慧、深度學習解讀以及應用
    答案就是用深度神經網絡!AlphaGo系統會從已有的比賽歷史中去學習頂級高手的走子方案。也就是說,給定一個棋盤狀態,AlphaGo會試圖去模仿專家的走法,並判斷哪中走法最有利。為了達到訓練的目的,AlphaGo需要大量的訓練樣本,樣本就是職業玩家的比賽記錄。訓練好的模型就可以用來模擬高手似的走法。整個樣本的訓練過程需要大量的計算資源,幸好這是Google的優勢。
  • 柯潔選修圍棋課上熱搜 網友吐槽:圍棋老師可咋教?
    今天(2月18日),圍棋世界冠軍柯潔在微博發文,「還有沒睡的朋友嘛!一想到明天有早課,有點睡不著。」在和網友的互動中,疑似證實自己在清華選修了圍棋課程。我們一起看看吧!
  • 獨家|專訪田淵棟:AlphaGo之後,研究智能圍棋還有什麼意義?
    Master贏了你,你都不知道什麼地方出錯了,好像下得挺好的,然後就輸掉了。所以就是已經到了不知道錯哪兒的程度了。我相信他們應該用別的方法做訓練的,而不是單純拓展之前的文章。像我是聽說他們最近把訓練好的值網絡單獨拿出來,根據它再從頭訓練一個策略網絡。
  • 最強AlphaGo怎樣煉成?DeepMind團隊進行全面解讀
    最強AlphaGo是怎麼煉成的提問:深度強化學習本來就是出了名的不穩、容易遺忘,請問你們是如何讓Zero的訓練如此穩定的?下圖顯示了在自我對弈強化學習期間,AlphaGo Zero的表現。整個訓練過程中,沒有出現震蕩或者災難性遺忘的困擾。
  • Master就是AlphaGo升級版!60連勝背後看專家怎麼評說
    2017年1月4日晚上,Master 完勝第59盤棋的時候,突然發聲自認:「我是 AlphaGo 的黃博士」,Master之前以橫掃千軍的姿態戰勝幾乎所有中國的圍棋大師,包括「棋聖」聶衛平和柯潔。本文帶來新智元智庫專家白碩、鄧侃的獨家解讀。同時,國內圍棋AI 的一名開發者也透露了他的看法:Master的水平略有些讓人失望。
  • 最強AlphaGo怎樣煉成?剛剛,DeepMind團隊進行了全面解讀
    最強AlphaGo是怎麼煉成的 提問:深度強化學習本來就是出了名的不穩、容易遺忘,請問你們是如何讓Zero的訓練如此穩定的? 下圖顯示了在自我對弈強化學習期間,AlphaGo Zero的表現。整個訓練過程中,沒有出現震蕩或者災難性遺忘的困擾。
  • 讓柯潔痛哭的AlphaGo,耗資3500萬美元,耗電量相當於12760個大腦
    AlphaGo背後的模型訓練要燃燒多少經費你知道嗎?本文來告訴你答案。當年,19歲的世界圍棋第一人柯潔九段在和AlphaGo的圍棋終極人機大戰以0:3完敗,這也是人類頂尖高手與這臺機器之間的最後一次較量,AlphaGo從此將退隱江湖。比賽至中局之時,柯潔再次被AlphaGo的手法驚到了。
  • Google 和 Facebook: 究竟是誰搞定了圍棋人工智慧?| 深度
    DeepMind是一個位於倫敦的人工智慧團隊,2014年其公司被Google以4億英鎊的價格收購。團隊創始人Demis Hassabis在周三發表的官方博客中表示,他們開發的圍棋程序AlphaGo融合了高級樹狀查找和深度神經網絡。
  • 全國業餘高手 洛陽「紋枰論劍」 | 第三屆「漢醬杯」全國業餘圍棋...
    河南日報客戶端記者 黃暉 實習生 張子健  「圍棋是河洛文化的重要產物,洛陽的圍棋淵源、圍棋氛圍和圍棋文化令人印象深刻,全國業餘圍棋大賽在洛陽舉辦,是『名城辦名賽』。希望大家在下圍棋、教圍棋、看圍棋的過程中記住洛陽。」12月4日上午,第三屆「漢醬杯」全國業餘圍棋大賽在洛陽開幕,出席開幕式的中國圍棋協會主席林建超說。
  • 圍棋國手——顧水如
    顧水如的父親喜愛下圍棋,母親和四位哥哥也精於此道,其二哥的棋藝頗為精湛,可以說顧家是「圍棋世家」。因而顧水如從小就迷上了圍棋,他九歲開始弈棋,每天休閒時,父子間、兄弟間縱橫棋盤,角逐爭殺,一家人甚是熱鬧。而家藏的棋譜對他幫助頗大,他靜下心埋頭悉心研究,細心琢磨,領悟棋道,不出幾年,他已成為鎮上無人能及的高手。
  • 還記得圍棋高手阿澤,金爸爸口中的「哎一古」嗎?
    其中一位是樸寶劍(Park Bo Gum)飾演的崔澤(Choi Taek),這個沉默寡言但很可愛的男孩在劇中的大部分時間都在下圍棋(Baduk)。然而,你知道嗎,這位圍棋高手的角色實際上是根據韓國現實生活中的圍棋高手李昌鎬()的改編。
  • 專訪深藍之父:AlphaGo很棒 但並不完美
    除了個人愛好之外,在那個時候,這也正是計算機科學領域的一個挑戰。1949年,數學家Claude Shannon發表了一篇著名的論文,提出了創造象棋計算機會是怎樣的一個過程,並認為這是一個巨大的挑戰。問:對你而言,讓計算機精通象棋要做到哪種程度?就只是把規則輸入進去,讓其計算出結果還是讓其通過過去的經驗進行計算?
  • 終極版AlphaGo,DeepMind新算法MuZero作者解讀
    譯者:AI研習社(季一帆)雙語原文連結:MuZero Intuition為慶祝Muzero論文在Nature上的發表,我特意寫了這篇文章對MuZero算法進行詳細介紹,希望本人能讓你對該算法有一個直觀的了解。更多詳細信息請閱讀原文。
  • 中國圍棋西南棋王賽"爆冷" 六位頂級高手首日出局
    作為新冠肺炎疫情發生以來中國首個線下職業圍棋賽事,第十九屆中國圍棋西南棋王賽吸引了16位頂尖棋手參賽,其中包括8位世界冠軍。
  • 黑嘉嘉:棋手圈裡顏值最高的 娛樂圈裡下圍棋最棒的
    膚白貌美這個形容詞仿佛天然為黑嘉嘉所生,更加讓人驚豔的是她在圍棋道路上孜孜不倦的努力。  「我熱愛嘗試不一樣的事物」  對黑嘉嘉來說,開始學習圍棋其實是偶然的機會,「當年其實姐姐要上圍棋課,我只是陪同的。」  她現在還記得當年老師教的圍棋中「吃子」的這個操作,「原來還可以這樣!」從此開始,嘉嘉對圍棋產生了濃厚的興趣,而姐姐則興趣缺缺。
  • 中國圍棋:中國作為圍棋的母國,如今卻逐漸被日本、韓國趕超
    琴棋書畫其中的棋字,指的就是圍棋。在古代,一個人是否會下棋,就代表著你這個人是否優雅、多才。圍棋的內容圍棋是一種兩人對弈的策略型棋戲,棋盤呈正方形形狀,橫豎縱橫19條線,交匯361個點。清朝時期,一大批圍棋名家開始湧現,如梁魏今、程蘭如、範西屏、施襄夏這四位圍棋高手,被稱之為四大家,其中範西屏、施襄夏二人是少年成名,又年紀相仿,還來自同一個地方,被稱為海昌二秒。民國時期,中國又出了一位天才少年吳清源,以一己之力將世界的頂尖高手逐一擊敗,幾十年來所向披靡。
  • AlphaGo擊敗柯潔一周年後,聶衛平說:我從來沒有失落感
    問:現在大家對這種訓練還是處於模仿,還沒有到更高的層次的理解?聶衛平:現在一開始都是模仿,我們這些棋手,像剛才類似於柯潔他們這樣的,很多應該也能理解,不光是模仿。有的業餘棋手,比如說比賽的時候也都在模仿,那些是真正的模仿。我們很多職業高手除了模仿之外,還有他自己的一些東西。
  • 湖南少年棋手對決國隊教練黃奕中 圍棋博士何雲波解密宋人圍棋世界
    湖南少年棋手對決國隊教練黃奕中圍棋博士何雲波解密宋人圍棋世界華聲在線12月12日訊(湖南日報·華聲在線記者 龍文泱 通訊員 李葉)"閒來弄風雅——宋朝人慢生活鏡像展其第2個場景片段"閒來弈棋",展現了圍棋如何在宋代逐漸走向鼎盛和成熟,成為深受宋人喜好的休閒方式。12月12日至13日,該館聯合省圍棋協會舉辦"湘博雅集 恰逢 『棋』時——湖南省博物館宋朝展之 『圍棋文化』系列活動",通過比賽、講座等多種方式,關聯古今,深度展現中國的圍棋文化。
  • 圍棋人機大戰首局落定 人腦真的敗給了電腦嗎?
    新華社發  韓國當地時間3月9日13時,當今世界圍棋第一人、韓國九段棋手李世石與谷歌圍棋AlphaGo(阿爾法圍棋)的人機大戰如約而至,這場世人矚目的比賽也標誌著人工智慧邁出了劃時代的一步。經過近四個小時的激戰,AlphaGo執白中盤戰勝李世石,在五番棋的比賽中暫時以1比0領先。
  • 比AlphaGo 更複雜,最強日本麻將 AI 是怎麼煉成的?
    「感覺 ai 的打法都不太能被推理完全,這種基於訓練的對某種特徵做出的反應對於人類來說就是迷啊…」這些評論來自於 B 站上一個系列的視頻,視頻主角是一個名為 Suphx(意為 Super Phoenix)的麻將 AI。2019 年 6 月,有創作者開始製作 Suphx 牌譜的視頻。上傳到 B 站後,引起了不少麻將愛好者的討論。