AlphaGo

AlphaGo（「Go」為日文「碁」字發音轉寫，是圍棋的西方名稱），直譯為阿爾法圍棋，在英語不流通的華語社會亦被音譯為阿爾法狗、阿法狗、阿發狗等，是於2014年開始由英國倫敦Google DeepMind開發的人工智慧圍棋軟體。2017年，關於AlphaGo的電影紀錄片《AlphaGo世紀對決》正式上映。

專業術語上來說，AlphaGo的做法是使用了蒙特卡洛樹搜索與兩個深度神經網路相結合的方法，一個是以藉助估值網路（value network）來評估大量的選點，一個是藉助走棋網路（policy network）來選擇落子，並使用強化學習進一步改善它。在這種設計下，電腦可以結合樹狀圖的長遠推斷，又可像人類的大腦一樣自發學習進行直覺訓練，以提高下棋實力。

## 歷史

一般認為，電腦要在圍棋中取勝比在西洋棋等遊戲中取勝要困難得多，因為圍棋的下棋點極多，分支因子遠多於其他遊戲，而且每次落子對情勢的好壞飄忽不定，諸如暴力搜尋法、Alpha-beta剪枝、啟發式搜索的傳統人工智慧方法在圍棋中很難奏效。在1997年IBM的電腦「深藍」擊敗俄籍世界西洋棋冠軍加里·卡斯帕羅夫之後，經過18年的發展，棋力最高的人工智慧圍棋程序才大約達到業餘5段圍棋棋手的水準，且在不讓子的情況下，仍無法擊敗職業棋手。2012年，在4台PC上運行的Zen程序在讓5子和讓4子的情況下兩次擊敗日籍九段棋士武宮正樹。2013年，Crazy Stone在讓4子的情況下擊敗日籍九段棋士石田芳夫，這樣偶爾出現的戰果就已經是難得的結果了。

AlphaGo的研究計劃於2014年啟動，此後和之前的圍棋程序相比表現出顯著提升。在和Crazy Stone和Zen等其他圍棋程序的500局比賽中，單機版AlphaGo（運行於一台電腦上）僅輸一局。而在其後的對局中，分布式版AlphaGo（以分散式運算運行於多台電腦上）在500局比賽中全部獲勝，且對抗運行在單機上的AlphaGo約有77%的勝率。2015年10月的分散式運算版本AlphaGo使用了1,202塊CPU及176塊GPU。

- 2015年10月，AlphaGo擊敗樊麾，成為第一個無需讓子即可在19路棋盤上擊敗圍棋職業棋士的電腦圍棋程序，寫下了歷史，並於2016年1月發表在知名期刊《自然》。
- 2016年3月，透過自我對弈數以萬計盤進行練習強化，AlphaGo在一場五番棋比賽中4:1擊敗頂尖職業棋手李世石，成為第一個不藉助讓子而擊敗圍棋職業九段棋士的電腦圍棋程序，立下了里程碑。五局賽後韓國棋院授予AlphaGo有史以來第一位名譽職業九段。
- 2016年7月18日，因柯潔那段時間狀態不佳，其在Go Ratings網站上的WHR等級分下滑，AlphaGo得以在Go Ratings網站的排名中位列世界第一，但幾天之後，柯潔便又反超了AlphaGo。2017年2月初，Go Ratings網站刪除了AlphaGo、DeepZenGo等圍棋人工智慧在該網站上的所有資訊。
- 2016年12月29日至2017年1月4日，再度強化的AlphaGo以「Master」為帳號名稱，在未公開其真實身分的情況下，藉非正式的網路快棋對戰進行測試，挑戰中韓日台的一流高手，測試結束時60戰全勝。
- 2017年5月23至27日在烏鎮圍棋峰會上，最新的強化版AlphaGo和當時世界第一的棋士柯潔比試、並配合八段棋士協同作戰與對決五位頂尖九段棋士等五場比賽，取得三比零全勝的戰績，團隊戰與組隊戰也全勝，此次AlphaGo利用谷歌TPU執行，加上快速進化的機器學習法，運算資源消耗僅李世石版本的十分之一。在與柯潔的比賽結束後，中國圍棋協會授予AlphaGo職業圍棋九段的稱號。

AlphaGo在沒有人類對手後，AlphaGo之父傑米斯·哈薩比斯宣布AlphaGo退役。而從業餘棋士的水平到世界第一，AlphaGo的棋力取得這樣的進步，僅僅花了二年左右。

最終版本AlphaZero擁有更加強大的學習能力，可自我學習，在21天達到勝過中國頂尖棋手柯潔的Alpha Go Master的水平。

## 對戰

### deepmind名義

2014年起，AlphaGo以英國棋友deepmind的名義開始在弈城圍棋網上對弈。deepmind在2014年4月到2015年9月長達1年半的時間裡，維持在7D到8D之間，總共下了300多盤棋。2015年9月16日首次升上9D，之後在AlphaGo與樊麾對弈前後的三個月內未進行網路對弈。2015年12月到2016年2月，deepmind一共下了136盤，基本在9D水平。其中和職業棋手的多次對局互有勝負。

黃士傑在AlphaGo與李世乭九段比賽前曾否認deepmind是AlphaGo的測試帳號，但是在AlphaGo與李世石比賽之後，DeepMind創始人哈薩比斯承認AlphaGo曾經使用deepmind帳號進行過測試。

2016年12月16日，在AlphaGo以Master身份登錄弈城圍棋網之前，黃士傑要求刪除deepmind帳號。現在deepmind的戰績和棋譜已經無法查閱。

### 樊麾

2015年10月，分布式版AlphaGo分先以5:0擊敗了歐洲圍棋冠軍華裔法籍職業棋士樊麾二段。這是電腦圍棋程序第一次在十九路棋盤且分先的情況下擊敗職業圍棋棋手。新聞發布被推遲到2016年1月27日，和描述演算法的論文一起發布，而論文發表在《自然》上。

### 李世乭

2016年3月，AlphaGo挑戰世界冠軍韓國職業棋士李世乭（이세돌）九段。AlphaGo使用谷歌位於美國的雲計算伺服器，並通過光纜網路連接到韓國。比賽的地點為韓國首爾四季酒店；賽制為五番棋，分別於2016年3月9日、10日、12日、13日和15日進行；規則為中國圍棋規則，黑棋貼3又3/4子；用時為每方2小時，3次1分鐘讀秒。DeepMind團隊在YouTube上全球直播並由美籍職業棋士邁克·雷蒙（Michael Redmond）九段擔任英語解說，而中國大陸很多影片網站也採用YouTube的直播信號進行直播，並加上自己的解說。DeepMind團隊成員台灣業餘6段圍棋棋士黃士傑博士代表AlphaGo在棋盤上落子。

比賽獲勝者將獲得100萬美元的獎金。如果AlphaGo獲勝，獎金將捐贈給圍棋組織和慈善機構，包括聯合國兒童基金會。李世乭有15萬美元的出場費，且每贏一盤棋會再得2萬美元的獎金。

2016年3月9日、10日和12日的三局對戰均為AlphaGo獲勝，而13日的對戰則為李世乭獲勝，15日的最終局則又是AlphaGo獲勝。因此對弈結果為AlphaGo 4:1戰勝了李世乭。這次比賽在網路上引發了人們對此次比賽和人工智慧的廣泛討論。

### Master名義

2016年11月7日，樊麾在微博上表示AlphaGo的實力大增，將在2017年初進行更多比賽。DeepMind創辦人傑米斯·哈薩比斯隨後證實此消息。然而並未公布細節。

2016年12月29日晚上七點起，中國的弈城圍棋網出現疑似人工智慧圍棋軟體的圍棋高手，帳號名為「Magister」（中國大陸客戶端顯示為「Magist」），後又改名為「Master」。2017年1月1日晚上十一點Master轉戰至騰訊旗下的野狐圍棋網。Master以其空前的實力轟動了圍棋界。它以每天十盤的速度在弈城、野狐等網路圍棋對戰平台挑戰中韓日台的頂尖高手，到2017年1月4日公測結束為止60戰全勝，其中弈城30戰野狐30戰，戰勝了柯潔、朴廷桓、井山裕太、柁嘉熹、羋昱廷、時越、陳耀燁、李欽誠、古力、常昊、唐韋星、范廷鈺、周睿羊、江維傑、黨毅飛、周俊勳、金志錫、姜東潤、朴永訓、元晟溱等世界冠軍棋手，連笑、檀嘯、孟泰齡、黃雲嵩、楊鼎新、辜梓豪、申真諝、趙漢乘、安成浚等中國或韓國國內冠軍或者世界亞軍棋手，以及世界女子第一人於之瑩。期間古力曾懸賞人民幣10萬元給第1位戰勝Master者。

Master所進行的60戰基本都是3次20秒或30秒讀秒的快棋，僅在與聶衛平交戰時考慮到聶老年紀大而延長為1分鐘，並且賽後還以繁體中文打上「謝謝聶老師」5字。該帳號於59連勝後稱「我是 AlphaGo的黃博士」，表明Master就是AlphaGo，代為落子的是AlphaGo團隊成員來自台灣的黃士傑博士；DeepMind創始人之一傑米斯·哈薩比斯於比賽結束後在其推特上表示「我們很期待在今後（2017年）與圍棋組織和專家合作，在官方比賽中下幾盤慢棋」，黃士傑與樊麾也分別在Facebook與微博上發表官方中文譯文，表示對各國頂尖棋手參與AlphaGo的網路公測的感謝。2017年1月5日晚，中國中央電視台《新聞聯播》以「人工智慧『阿爾法狗』橫掃圍棋高手」為題報導了最近火爆的Master網路快棋60連勝人類高手的事件，新聞還提到，「這次事件為接下來的人機對決做出了很好的預熱」。

因為人類棋手在慢棋中有更久的思考時間，所以雖然AlphaGo在網路快棋中大獲全勝，但仍不能斷言其在官方慢棋比賽中是否也會有如此出色的表現。不過職業棋手們對AlphaGo不同於人類的獨特棋風以及它高超的棋力印象深刻，柯潔在其微博中表示「感謝Alphago最新版給我們棋界帶來的震撼」，並「略有遺憾」地稱「若不是住院，我將用上那準備了一個星期的最後一招」。

### 中國烏鎮圍棋峰會

2016年6月4日，在第37屆世界業餘圍棋錦標賽新聞發布會上，國際圍棋聯盟事務總長楊俊安透露今年內AlphaGo或將挑戰中國職業棋士柯潔九段。不過DeepMind創辦人傑米斯·哈薩比斯表示目前還沒有確定AlphaGo的下一步計劃，一旦有明確的安排，會有官方聲明。

2016年12月8日，第21屆三星車險盃世界圍棋大師賽決賽過後，柯潔九段表示：「目前棋手之間的比賽眾多，我放棄了與DeepZenGo的對局。我覺得，我現在的狀態還不能打敗『阿爾法狗』（AlphaGo），今後需要更加努力。」

2017年4月10日，中國圍棋協會、Google和浙江省體育局聯合在中國棋院召開新聞發布會，宣布以柯潔為首的中國棋手將和AlphaGo在5月23至27日的中國烏鎮圍棋峰會上對弈。此次對弈分為三場比賽，首先在5月23、25和27日這三天，柯潔將與AlphaGo下三番棋，用時為每方3小時，5次1分鐘讀秒。Google DeepMind為本次柯潔與AlphaGo的三局比賽提供了150萬美元的勝者獎金，同時柯潔有30萬美元的出場費。此外在5月26日，時越、羋昱廷、唐韋星、陳耀燁和周睿羊5人將進行團隊賽，他們將聯合與AlphaGo對弈，用時為每方2小時30分鐘，3次1分鐘讀秒。同日，古力、連笑還將和AlphaGo合作進行人機配對賽，比賽將以棋手與AlphaGo合作的形式進行，用時為每方1小時，1次1分鐘讀秒。最終，AlphaGo以3：0戰勝柯潔，並被中國圍棋協會授予職業圍棋九段稱號，不過聶衛平九段稱它的水平「至少20段」。在結束與柯潔的比賽後，Deepmind宣布AlphaGo將「退役」，不再參加任何圍棋比賽，但將公開AlphaGo自己與自己互弈的棋譜；而在未來Deepmind將會把AlphaGo的技術運用到醫療等更廣泛的領域。

### AlphaGo Zero

AlphaGo的團隊於2017年10月19日在《自然》雜誌上發表了一篇文章，介紹了AlphaGo Zero，這是一個沒有用到人類數據的版本，比以前任何擊敗人類的版本都要強大。通過跟自己對戰，AlphaGo Zero經過3天的學習，以100:0的成績超越了AlphaGo Lee的實力，21天後達到了AlphaGo Master的水平，並在40天內超過了所有之前的版本。

## 版本

### 配置與性能

2015年10月前後的測試中，AlphaGo多次使用不同數目的CPU和GPU，以單機或分布式模式運行。每一步棋有兩秒的思考時間。最終Elo等級分如下表：

配置｜搜索線程數｜CPU核心數｜GPU數｜Elo等級分的理論峰值

單機｜40｜48｜1｜2,151

2｜2,738

4｜2,850

8｜2,890

分布式｜12｜428｜64｜2,937

24｜764｜112｜3,079

40｜1,202｜176｜3,140

64｜1,920｜280｜3,168

然而AlphaGo的棋力不斷且顯著地增長。因此上表並不能代表AlphaGo其他版本的棋力。

而在AlphaGo Zero發布之後，Deepmind表示新的算法令新版的AlphaGo比舊版的耗能量大幅下降10000至40000TDP，效能大幅提升。

### 配置與棋力

在2016年1月27日，Research at Google發布了有關新版AlphaGo跟其他圍棋軟體，以及樊麾二段的對比如下：

比對對象｜Elo等級分｜相對水平

理論峰值｜平均｜上下區間

AlphaGo分布式｜3,275｜3,250｜50｜職業五段

AlphaGo｜2,787｜2,775｜25｜職業二段

樊麾二段｜3,250｜2,750｜1,000｜職業二段

石子旋風（讓四子）｜2,525｜2,500｜50｜約業餘9段

石子旋風｜1,965｜1,940｜50｜業餘6段

Zen（讓四子）｜2,300｜2,250｜100｜約業餘9段

Zen｜1,925｜1,900｜50｜比業餘6段低

Pachi（讓四子）｜1787｜1,750｜75｜業餘5段

Pachi｜1,350｜1,345｜10｜比業餘3段低

Fuego｜1,050｜1,045｜10｜比業餘1段高

GnuGo｜450｜450｜0｜比入門5級高

在2017年5月24日，DeepMind團隊證實了在烏鎮圍棋峰會上，所使用的AlphaGo版本是Master，並公布了AlphaGo曾經公開對弈過的版本以及和其他圍棋軟體比較的圖表。其中，新版的AlphaGo Master能讓AlphaGo Lee（跟李世乭對戰的版本）三子。兩個版本的AlphaGo自我生成的Elo等級分分別在4750和3750分附近，與柯潔九段在5月23日的3620分（非官方排名系統所統計的）相差約130到1130分之多。然而，職業棋士樊麾二段替AlphaGo團隊的首席研究員戴維·西爾弗澄清：「當AlphaGo與從未對弈過的人類棋手對局時，這樣的優勢就不復存在了，尤其是柯潔這樣的圍棋大師，他可能幫助我們發現AlphaGo未曾展露的新弱點」。

版本｜使用規則｜硬體｜Elo等級分的理論峰值｜戰績

AlphaGo樊 (v13)｜中國規則｜176個GPU，分布式｜3,144｜5比0戰勝樊麾

AlphaGo李 (v18)｜48個TPU，分布式｜3,739｜4比1戰勝李世乭

AlphaGo Master｜4個TPU v2，單機｜4,858｜網棋60比0戰勝職業棋手；3比0戰勝柯潔；1比0戰勝人類團隊

AlphaGo Zero｜川普-泰勒規則｜4個TPU v2，單機｜5185｜100:0 戰勝AlphaGo李; 與AlphaGo Master 對戰勝率達90%

AlphaZero｜4個TPU v2，單機｜N/A｜60:40 戰勝AlphaGo Zero（3天版本）

## 演算法

AlphaGo使用蒙特卡洛樹搜索（Monte Carlo tree search），藉助估值網路（value network）與走棋網路（policy network）這兩種深度神經網路，通過估值網路來評估大量選點，並通過走棋網路選擇落點。AlphaGo最初通過模仿人類玩家，嘗試匹配職業棋手的過往棋局，其資料庫中約含3000萬步棋著。後來它達到了一定的熟練程度，它開始和自己對弈大量棋局，使用強化學習進一步改善它。圍棋無法僅通過尋找最佳棋步來解決；遊戲一盤平均約有150步，每一步平均約有200種可選的下法，這意味著有太多需要解決的可能性。

## 表現評價

圍棋職業九段棋手金明完稱AlphaGo在與樊麾的對戰中，表現得「像人類一樣」。棋局裁判托比·曼寧則認為AlphaGo的棋風「保守」。

而李世乭在中國烏鎮圍棋峰會後表示，AlphaGo的發揮非常穩定，表現完美，要想找到戰勝它的機會不能過於穩妥，「必須越亂越好，難點越多越好」。另外，柯潔在賽後復盤表示，AlphaGo能夠非常有效率地利用場上的棋子，所走的棋子都與場上的棋子有連貫及配合，並對棋子的厚薄有獨到的理解，能把一些人類認為厚的棋子予以打擊和殲滅。

## 反應

AlphaGo被譽為人工智慧研究的一項標誌性進展，在此之前，圍棋一直是機器學習領域的難題，甚至被認為是當代技術力所不及的範疇。樊麾戰的棋局裁判托比·曼寧和國際圍棋聯盟的秘書長李夏辰都認為將來圍棋棋手會藉助電腦來提升棋藝，從錯誤中學習。

台灣大學電機系教授於天立認為，Google能夠成功結合深度神經網路、加強式學習和蒙地卡羅樹狀搜尋三種演演算法，其成果值得喝采。他認為這種技術應該適用於一般連續性決策問題。因為AlphaGo可以在眾多可行的決策中，適當分配運算資源來探索此一決策所帶來的好處及壞處，並且可從探索中回饋修正錯誤。不過於也提到，即使AlphaGo所使用的學習模型比較具有一般性，它離真正完全通用的學習模型仍有一段距離。

## 類似成果

- Facebook也在開發一套圍棋程序，名為Darkforest。這套程序也是基於機器學習和樹搜索。在2016年3月舉辦的第9屆UEC杯世界電腦圍棋大會中獲得亞軍。儘管該程序在其他圍棋程序面前表現強勁，但截至2016年年初，它尚未擊敗任何職業棋手。
- DeepZenGo是日本程式設計師尾島陽兒、加藤英樹等開發的圍棋程序，是在舊版本的Zen圍棋軟體基礎上加入了深度學習技術後開發的新版本，由日本DWANGO公司、東京大學、日本棋院提供支持，其基本原理和AlphaGo類似。在第二屆圍棋電王戰中分先以1:2不敵趙治勳九段。在2017年3月18-19日在日本舉辦的第10屆UEC杯世界電腦圍棋大會上獲得亞軍。在2017年3月21-23日的世界圍棋冠軍錦標賽上以一勝二負的成績名列第三名。在2017年3月26日的第5屆電聖戰上分先戰勝了日本的一力遼七段。目前在KGS、弈城、騰訊野狐等網路圍棋對弈平台上公測。
- 絕藝（英文名Fine Art）是中國騰訊公司的AI Lab（騰訊人工智慧實驗室）開發的圍棋人工智慧。在2017年3月18-19日的第10屆UEC杯世界電腦圍棋大會上奪得冠軍，並在2017年3月26日的第5屆電聖戰上分先戰勝了日本的一力遼七段。目前在騰訊野狐圍棋網路對弈平台上公測。
- CGI 是由國立交通大學CGI（Computer Games and Intelligence）實驗室所開發的圍棋人工智慧。在2017首屆世界智能圍棋公開賽8月16日於內蒙古鄂爾多斯開戰，擊敗絕藝與DeepZenGo，初賽全勝；17日總決賽中奪得亞軍。

## 外部連結

- https://deepmind.google/research/alphago/
- AlphaGo wiki at Sensei's Library, including links to AlphaGo games
- AlphaGo page, with archive and games
- Estimated 2017 rating of Alpha Go

## 基本資料

- 日語原文：Alphago
- 說明：AlphaGo標誌
- 發行日期：2014年