迎戰(zhàn)李世石:AlphaGo如何用“大腦”下棋

編者按:

韓國時(shí)間2月22日下午5時(shí),“李世石-AlphaGO人機(jī)對(duì)戰(zhàn)”的第二次新聞發(fā)布會(huì)在韓國棋院二樓進(jìn)行,公布本次人機(jī)大戰(zhàn)更多比賽細(xì)節(jié):比賽將分別于3月9日、10日、12日、13日、15日在韓國首爾的Four Seasons酒店進(jìn)行,開賽時(shí)間為每日韓國時(shí)間下午1點(diǎn)(中國時(shí)間中午12點(diǎn))。比賽最終決定采用中國圍棋競(jìng)賽規(guī)則,黑貼3又3/4子(7.5目),用時(shí)為每方2小時(shí),3次1分鐘讀秒。Deep Mind公司youtube頻道和韓國棋院圍棋TV將對(duì)本次比賽進(jìn)行全程直播報(bào)道。之前0:5不敵AlphaGo的歐洲圍棋冠軍樊麾,作為比賽裁判團(tuán)隊(duì)一員參與其中。

谷歌開發(fā)的人工智能圍棋程序AlphaGo是如何用“大腦” 下棋的呢?你認(rèn)為誰會(huì)贏?

文 | 董飛(硅谷工程師)

● ● ●

在象棋和國際象棋中,電腦軟件都非常厲害,只有圍棋是唯一“電腦下不過人類”的項(xiàng)目。而今年1月份有個(gè)爆炸性新聞:谷歌DeepMind開發(fā)的人工智能圍棋程序AlphaGo以5:0的壓倒性優(yōu)勢(shì)擊敗了歐洲圍棋冠軍、專業(yè)二段棋手。那么3月份AlphaGo會(huì)和韓國九段、世界冠軍李世石進(jìn)行對(duì)弈。如果此役AlphaGo獲勝,這意味著人工智能真正里程碑式的勝利。


圍棋。Gif來源:Wiki


這也引起了筆者好奇心,在春節(jié)期間,跟Facebook的田淵棟(他的背景無可挑剔,卡耐基梅隆大學(xué)機(jī)器人系博士,Google X 無人車核心團(tuán)隊(duì),F(xiàn)acebook人工智能組研究員)交流,他做的也是計(jì)算機(jī)圍棋AI--黑暗森林(熟悉三體的朋友知道怎么回事),今年1月份他的文章被機(jī)器學(xué)習(xí)頂級(jí)會(huì)議ICLR 2016接受(表達(dá)學(xué)習(xí)亦被江湖稱作深度學(xué)習(xí)或者特征學(xué),已經(jīng)在機(jī)器學(xué)習(xí)社區(qū)開辟了自己的江山,成為學(xué)術(shù)界的一個(gè)新寵)。

他聊天中談到自從谷歌收購了DeepMind,投入大量資源去做好人工智能項(xiàng)目,不為別的,就是要向世界證明谷歌智能的強(qiáng)大。發(fā)表在頂級(jí)期刊《Nature》的論文光看作者就20個(gè),明顯是下了血本,前兩位都是計(jì)算機(jī)圍棋界的大牛,一作David Silver是計(jì)算機(jī)圍棋和強(qiáng)化學(xué)習(xí)的頂級(jí)專家,整個(gè)博士論文就是做的圍棋; 二作Aja Huang以前寫過多年圍棋軟件,自己又是AGA 6D的水平。

還是不多說廢話,下面是SpinPunch CTO 對(duì)AlphaGo的工作原理解讀(原文見參考資料):

谷歌DeepMind宣布他們研發(fā)的神經(jīng)網(wǎng)絡(luò)圍棋AI,AlphaGo,戰(zhàn)勝了人類職業(yè)選手。這篇論文由David Silver等完成。里面的技術(shù)是出乎意料地簡(jiǎn)單卻又強(qiáng)大。為了方便不熟悉技術(shù)的小白理解,這里是我對(duì)系統(tǒng)工作原理的解讀。

深度學(xué)習(xí)

“深度學(xué)習(xí)”是指多層的人工神經(jīng)網(wǎng)絡(luò)和訓(xùn)練它的方法。一層神經(jīng)網(wǎng)絡(luò)會(huì)把大量矩陣數(shù)字作為輸入,通過非線性激活方法取權(quán)重,再產(chǎn)生另一個(gè)數(shù)據(jù)集合作為輸出。這就像生物神經(jīng)大腦的工作機(jī)理一樣,通過合適的矩陣數(shù)量,多層組織鏈接一起,形成神經(jīng)網(wǎng)絡(luò)“大腦”進(jìn)行精準(zhǔn)復(fù)雜的處理,就像人們識(shí)別物體標(biāo)注圖片一樣。

雖然神經(jīng)網(wǎng)絡(luò)在幾十年前就有了,直到最近才形勢(shì)明朗。這是因?yàn)樗麄冃枰罅康摹坝?xùn)練”去發(fā)現(xiàn)矩陣中的數(shù)字價(jià)值。對(duì)早期研究者來說,想要獲得不錯(cuò)效果的最小量訓(xùn)練都遠(yuǎn)遠(yuǎn)超過計(jì)算能力和能提供的數(shù)據(jù)的大小。但最近幾年,一些能獲取海量資源的團(tuán)隊(duì)重現(xiàn)挖掘神經(jīng)網(wǎng)絡(luò),就是通過“大數(shù)據(jù)”技術(shù)來高效訓(xùn)練。

兩個(gè)大腦

AlphaGo是通過兩個(gè)不同神經(jīng)網(wǎng)絡(luò)“大腦”合作來改進(jìn)下棋。這些大腦是多層神經(jīng)網(wǎng)絡(luò)跟那些Google圖片搜索引擎識(shí)別圖片在結(jié)構(gòu)上是相似的。它們從多層啟發(fā)式二維過濾器開始,去處理圍棋棋盤的定位,就像圖片分類器網(wǎng)絡(luò)處理圖片一樣。經(jīng)過過濾,13 個(gè)完全連接的神經(jīng)網(wǎng)絡(luò)層產(chǎn)生對(duì)它們看到的局面判斷。這些層能夠做分類和邏輯推理。

這些網(wǎng)絡(luò)通過反復(fù)訓(xùn)練來檢查結(jié)果,再去校對(duì)調(diào)整參數(shù),去讓下次執(zhí)行更好。這個(gè)處理器有大量的隨機(jī)性元素,所以我們是不可能精確知道網(wǎng)絡(luò)是如何“思考”的,但更多的訓(xùn)練后能讓它進(jìn)化到更好。

第一大腦: 落子選擇器 (Move Picker)

AlphaGo的第一個(gè)神經(jīng)網(wǎng)絡(luò)大腦是“監(jiān)督學(xué)習(xí)的策略網(wǎng)絡(luò)(Policy Network)” ,觀察棋盤布局企圖找到最佳的下一步。事實(shí)上,它預(yù)測(cè)每一個(gè)合法下一步的最佳概率,那么最前面猜測(cè)的就是那個(gè)概率最高的。你可以理解成“落子選擇器”。


落子選擇器是怎么看到棋盤的?數(shù)字表示最強(qiáng)人類選手會(huì)下在哪些地方的可能。

團(tuán)隊(duì)通過在KGS(網(wǎng)絡(luò)圍棋對(duì)戰(zhàn)平臺(tái))上最強(qiáng)人類對(duì)手,百萬級(jí)的對(duì)弈落子去訓(xùn)練大腦。這就是AlphaGo最像人的地方,目標(biāo)是去學(xué)習(xí)那些頂尖高手的妙手。這個(gè)不是為了去下贏,而是去找一個(gè)跟人類高手同樣的下一步落子。AlphaGo落子選擇器能正確符合57%的人類高手。(不符合的不是意味著錯(cuò)誤,有可能人類自己犯的失誤)

更強(qiáng)的落子選擇器

AlphaGo系統(tǒng)事實(shí)上需要兩個(gè)額外落子選擇器的大腦。一個(gè)是“強(qiáng)化學(xué)習(xí)的策略網(wǎng)絡(luò)(Policy Network)”,通過百萬級(jí)額外的模擬局來完成。你可以稱之為更強(qiáng)的。比起基本的訓(xùn)練,只是教網(wǎng)絡(luò)去模仿單一人類的落子,高級(jí)的訓(xùn)練會(huì)與每一個(gè)模擬棋局下到底,教網(wǎng)絡(luò)最可能贏的下一手。Sliver團(tuán)隊(duì)通過更強(qiáng)的落子選擇器總結(jié)了百萬級(jí)訓(xùn)練棋局,比他們之前版本又迭代了不少。

單單用這種落子選擇器就已經(jīng)是強(qiáng)大的對(duì)手了,可以到業(yè)余棋手的水平,或者說跟之前最強(qiáng)的圍棋AI媲美。這里重點(diǎn)是這種落子選擇器不會(huì)去“讀”。它就是簡(jiǎn)單審視從單一棋盤位置,再提出從那個(gè)位置分析出來的落子。它不會(huì)去模擬任何未來的走法。這展示了簡(jiǎn)單的深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的力量。

更快的落子選擇器

AlphaGo當(dāng)然團(tuán)隊(duì)沒有在這里止步。下面我會(huì)闡述是如何將閱讀能力賦予AI的。為了做到這一點(diǎn),他們需要更快版本的落子選擇器大腦。越強(qiáng)的版本在耗時(shí)上越久——為了產(chǎn)生一個(gè)不錯(cuò)的落子也足夠快了,但“閱讀結(jié)構(gòu)”需要去檢查幾千種落子可能性才能做決定。

Silver團(tuán)隊(duì)建立簡(jiǎn)單的落子選擇器去做出“快速閱讀”的版本,他們稱之為“滾動(dòng)網(wǎng)絡(luò)”。簡(jiǎn)單版本是不會(huì)看整個(gè)19*19的棋盤,但會(huì)在對(duì)手之前下的和新下的棋子中考慮,觀察一個(gè)更小的窗口。去掉部分落子選擇器大腦會(huì)損失一些實(shí)力,但輕量級(jí)版本能夠比之前快1000倍,這讓“閱讀結(jié)構(gòu)”成了可能。

第二大腦:棋局評(píng)估器 (Position Evaluator)

AlphaGo的第二個(gè)大腦相對(duì)于落子選擇器是回答另一個(gè)問題。不是去猜測(cè)具體下一步,它預(yù)測(cè)每一個(gè)棋手贏棋的可能,在給定棋子位置情況下。這“局面評(píng)估器”就是論文中提到的“價(jià)值網(wǎng)絡(luò)(Value Network)”,通過整體局面判斷來輔助落子選擇器。這個(gè)判斷僅僅是大概的,但對(duì)于閱讀速度提高很有幫助。通過分類潛在的未來局面的“好”與“壞”,AlphaGo能夠決定是否通過特殊變種去深入閱讀。如果局面評(píng)估器說這個(gè)特殊變種不行,那么AI就跳過閱讀在這一條線上的任何更多落子。

局面評(píng)估器是怎么看這個(gè)棋盤的。深藍(lán)色表示下一步有利于贏棋的位置。


局面評(píng)估器也通過百萬級(jí)別的棋局做訓(xùn)練。Silver團(tuán)隊(duì)通過 復(fù)制兩個(gè)AlphaGo的最強(qiáng)落子選擇器,精心挑選隨機(jī)樣本創(chuàng)造了這些局面。這里AI 落子選擇器在高效創(chuàng)建大規(guī)模數(shù)據(jù)集去訓(xùn)練局面評(píng)估器是非常有價(jià)值的。這種落子選擇器讓大家去模擬繼續(xù)往下走的很多可能,從任意給定棋盤局面去猜測(cè)大致的雙方贏棋概率。而人類的棋局還不夠多恐怕難以完成這種訓(xùn)練。

增加閱讀

這里做了三個(gè)版本的落子選擇大腦,加上局面評(píng)估大腦,AlphaGo可以有效去閱讀未來走法和步驟了。閱讀跟大多數(shù)圍棋AI一樣,通過蒙特卡洛樹搜索(MCTS)算法來完成。但AlphaGo 比其他AI都要聰明,能夠更加智能的猜測(cè)哪個(gè)變種去探測(cè),需要多深去探測(cè)。

蒙特卡洛樹搜索算法


如果擁有無限的計(jì)算能力,MCTS可以理論上去計(jì)算最佳落子通過探索每一局的可能步驟。但未來走法的搜索空間對(duì)于圍棋來說太大了(大到比我們認(rèn)知宇宙里的粒子還多),實(shí)際上AI沒有辦法探索每一個(gè)可能的變種。MCTS做法比其他AI有多好的原因是在識(shí)別有利的變種,這樣可以跳過一些不利的。

Silver團(tuán)隊(duì)讓AlphaGo裝上MCTS系統(tǒng)的模塊,這種框架讓設(shè)計(jì)者去嵌入不同的功能去評(píng)估變種。最后馬力全開的AlphaGo系統(tǒng)按如下方式使用了所有這些大腦。

1. 從當(dāng)前的棋盤布局,選擇哪些下一步的可能性。他們用基礎(chǔ)的落子選擇器大腦(他們嘗試使用更強(qiáng)的版本,但事實(shí)上讓AlphaGo更弱,因?yàn)檫@沒有讓MCTS提供更廣闊的選擇空間)。它集中在“明顯最好”的落子而不是閱讀很多,而不是再去選擇也許對(duì)后來有利的下法。

2. 對(duì)于每一個(gè)可能的落子,評(píng)估質(zhì)量有兩種方式:要么用棋盤上局面評(píng)估器在落子后,要么運(yùn)行更深入蒙特卡羅模擬器(滾動(dòng))去思考未來的落子,使用快速閱讀的落子選擇器去提高搜索速度。AlphaGo使用簡(jiǎn)單參數(shù),“混合相關(guān)系數(shù)”,將每一個(gè)猜測(cè)取權(quán)重。最大馬力的AlphaGo使用 50/50的混合比,使用局面評(píng)估器和模擬化滾動(dòng)去做平衡判斷。

這篇論文包含一個(gè)隨著他們使用插件的不同,AlphaGo的能力變化和上述步驟的模擬。僅使用獨(dú)立大腦,AlphaGo跟最好的計(jì)算機(jī)圍棋AI差不多強(qiáng),但當(dāng)使用這些綜合手段,就可能到達(dá)人類職業(yè)選手水平。

AlphaGo的能力變化與MCTS的插件是否使用有關(guān)。


這篇論文還詳細(xì)講了一些工程優(yōu)化:分布式計(jì)算,網(wǎng)絡(luò)計(jì)算機(jī)去提升MCTS速度,但這些都沒有改變基礎(chǔ)算法。這些算法部中分精確,部分近似。在特別情況下,AlphaGo通過更強(qiáng)的計(jì)算能力變的更強(qiáng),但計(jì)算單元的提升率隨著性能變強(qiáng)而減緩。

優(yōu)勢(shì)和劣勢(shì)

我認(rèn)為AlphaGo在小規(guī)模戰(zhàn)術(shù)上會(huì)非常厲害。它知道通過很多位置和類型找到人類最好的下法,所以不會(huì)在給定小范圍的戰(zhàn)術(shù)條件下犯明顯錯(cuò)誤。

但是,AlphaGo有個(gè)弱點(diǎn)在全局判斷上。它看到棋盤式通過5*5金字塔似的過濾,這樣對(duì)于集成戰(zhàn)術(shù)小塊變成戰(zhàn)略整體上帶來麻煩,同樣道理,圖片分類神經(jīng)網(wǎng)絡(luò)往往對(duì)包含一個(gè)東西和另一個(gè)的搞不清。比如說圍棋在角落上一個(gè)定式造成一個(gè)墻或者引征,這會(huì)劇烈改變另一個(gè)角上的位置估值。

就像其他的基于MCTS的AI, AlphaGo對(duì)于需要很深入閱讀才能解決的大勢(shì)判斷上,還是麻煩重重的,比如說大龍生死劫。在面對(duì)一些看似正常但實(shí)際并不一樣的棋局時(shí),AlphaGo也會(huì)困惑而失去判斷,比如天元開盤或者少見的定式,因?yàn)楹芏嘤?xùn)練是基于人類的棋局庫的。

我還是很期待看到AlphaGo和李世石9段的對(duì)決!我預(yù)測(cè)是:如果李使用直(straight)式,就像跟其他職業(yè)棋手的對(duì)決,他可能會(huì)輸,但如果他讓AlphaGo陷入到不熟悉的戰(zhàn)略情形下,他可能就贏。

看完SpinPunch CTO的解讀,我還想到另一個(gè)人,中國最強(qiáng)大腦選手鮑橒,當(dāng)時(shí)看了他走出蜂巢迷宮,被他的超強(qiáng)的空間記憶和想象能力深深震撼了,而他的職業(yè)就是圍棋選手,并且是盲棋。他能完成1對(duì)5的圍棋盲棋,實(shí)在是很不可思議的事情。在圍棋圈內(nèi),幾乎沒有棋手能完成盲棋,因?yàn)榇_實(shí)太難了。筆者也向他詢問了對(duì)這個(gè)事情看法,他說,歐洲冠軍沒能摸到程序的底,但從棋譜來說,對(duì)谷歌程序我也難以取勝,確實(shí)下得不錯(cuò)。雖然圍棋圈一致看好李世石,不過我不敢確定谷歌的程序3月份進(jìn)展到什么地步。

再說到Facebook田博士,跟谷歌DeepMind超豪華團(tuán)隊(duì)長(zhǎng)期投入不同,他就在半年多前從立項(xiàng)到實(shí)現(xiàn),直到最近才有一個(gè)實(shí)習(xí)生加入幫他,而背后是他付出的心血,為了搶時(shí)間,在圣誕新年都是加班加點(diǎn),按他所說,每日工作10+小時(shí),自己搭機(jī)器,寫代碼,調(diào)參數(shù),單槍匹馬做出成績(jī)。

談到跟谷歌團(tuán)隊(duì)的較量,田博士說:“這是一場(chǎng)必?cái)〉膽?zhàn)斗”,但我還是很佩服他,他讓我想到三國時(shí)代趙子龍,單槍匹馬大戰(zhàn)曹軍,力拔山兮氣蓋世!因?yàn)樗钦嬲挠率俊U怯辛诉@些英勇無畏的科學(xué)家,一次次打破常規(guī),挑戰(zhàn)極限,我們才知道人類如此大的潛力。

最近短短幾年的發(fā)展,從大數(shù)據(jù),深度學(xué)習(xí)人工智能到虛擬現(xiàn)實(shí),從發(fā)現(xiàn)了類地球行星,證實(shí)引力波,從Hyperloop,無人駕駛,量子計(jì)算,這些魅力無窮的科技讓我們對(duì)世界的認(rèn)識(shí)上升到新的高度。面對(duì)這個(gè)激動(dòng)人心的時(shí)代,我想說,天空是我們的極限,宇宙是我們的極限,未來才是我們的極限!

最后允許我拿田博士的話來結(jié)束。

“我有時(shí)候會(huì)問自己:‘我是不是背棄了夢(mèng)想?’”我想除了我自己,任何人都不會(huì)給我答案,任何評(píng)論也不具效力。我記得有人問過,如果夢(mèng)想從踐行的一開始,就在不自覺地向現(xiàn)實(shí)妥協(xié),那樣的夢(mèng)想還是最初的夢(mèng)想么?其實(shí),這樣的問題沒什么可糾結(jié)的,因?yàn)槭澜鐝膩砭筒皇嵌模瑝?mèng)想和現(xiàn)實(shí),如同高懸的日月,日月之間,有一條灰色的路,在自己腳下蜿蜒曲折,繞過各種險(xiǎn)阻,一直向前。

“而我能做的,只是要在奔跑時(shí),不停提醒自己,還記得‘夢(mèng)想’這個(gè)詞的含義。”

參考資料:

How AlphaGo works http://www.dcine.com/2016/01/28/alphago/

Nature 論文:http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html

關(guān)于 AlphaGo 論文的閱讀筆記 http://36kr.com/p/5042969.html

關(guān)于圍棋AI的新思路 http://zhuanlan.zhihu.com/yuandong/20364622

原載微信公眾號(hào)《董老師在硅谷》,《知識(shí)分子》獲授權(quán)刊載。


知識(shí)分子,為更好的智趣生活。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 本文系《文工團(tuán)》約稿,禁止一切形式的未授權(quán)轉(zhuǎn)載,謝謝合作。這篇是約稿的第二版,第一版可以點(diǎn)這里。 圍棋,是一項(xiàng)中國...
    LostAbaddon閱讀 2,622評(píng)論 7 10
  • He deals the cards as a meditation 他出牌前沉思冥想And those he p...
    隱劍鬼吊閱讀 1,686評(píng)論 2 2
  • 這篇文章以比較通俗的語言簡(jiǎn)單介紹了AlphaGo的工作原理,可以先看看了解大概,會(huì)發(fā)現(xiàn)AlphaGo也沒有那么神秘...
    Founting閱讀 13,285評(píng)論 0 7
  • 笑語家人前,浮生半日閑。 山中無日月,俶爾已千年。
    小木山莊的溜溜閱讀 290評(píng)論 1 3
  • @occoea 老天心跳 雷電知多少 轟隆隆一場(chǎng) 還給夜空寂寥 這夢(mèng)想顛倒 就來了 這泡影衰老 要去了 不去也不來...
    occoea閱讀 819評(píng)論 0 1