在象棋和國旗象棋中,,電腦軟體都非常厲害,,只有圍棋是唯一“電腦贏不過人類”的項目。而今年1月份有個爆炸性的新聞:Google DeepMind 開發(fā)的人工智慧程式 AlphaGo 以5:0比數(shù)壓倒性擊敗了歐洲圍棋冠軍,、專業(yè)二段棋手,。并且3月份 AlphaGo 將會和韓國九段、世界冠軍李世石進(jìn)行對弈,。如果此役 AlphaGo 獲勝,,將意味著人工智慧真正里程碑式的勝利。
這也引起了筆者的好奇心,,在春節(jié)期間,,跟 Facebook 的田淵棟(他的背景無可挑剔,卡內(nèi)基梅隆大學(xué)機(jī)器人系博士,,Alphabet X 無人車核心團(tuán)隊,,F(xiàn)acebook 人工智慧組研究員)交流,他做的也是計算機(jī)圍棋 AI --黑暗森林(熟悉《三體》的朋友知道怎幺回事),,今年1月份他的文章被機(jī)器學(xué)習(xí)頂級會議 ICLR 2016 接受,(表達(dá)學(xué)習(xí)在江湖上稱作深度學(xué)習(xí)或者特徵學(xué))已在機(jī)器學(xué)習(xí)社群開闢了自己的江山,,成為學(xué)術(shù)界的新寵,。
他談到自從Google收購了DeepMind,投入大量資源去做好人工智慧專案,,不為別的,,就是要向世界證明Google智慧的強(qiáng)大,。發(fā)表在頂級期刊《Nature》的論文光看作者就20個,明顯是下了血本,,前兩位都是計算機(jī)圍棋界的權(quán)威,,第一,銀鴻是計算機(jī)圍棋和強(qiáng)化學(xué)習(xí)的頂級專家,,整個博士論文主題就是圍棋,;第二,阿哈黃以前寫過多年圍棋軟體,,自己又是AGA6D的水平,。
還是不多說廢話,下面是SpinPunch CTO對AlphaGo的工作原理解讀,,原文見參考資料,。
Google DeepMind宣布他們研發(fā)的神經(jīng)網(wǎng)絡(luò)圍棋AI──AlphaGo,戰(zhàn)勝了人類職業(yè)選手,。這篇論文由銀鴻等人完成,。其中的技術(shù)是出乎意料地簡單而強(qiáng)大。為了讓不熟悉的讀者更容易理解,,以下是我對系統(tǒng)工作原理的解讀,。
深度學(xué)習(xí)“深度學(xué)習(xí)”是指多層的人工神經(jīng)網(wǎng)絡(luò)和訓(xùn)練它的方法。一層神經(jīng)網(wǎng)絡(luò)會把大量矩陣數(shù)字輸入,,通過非線性激活方法取權(quán)重,,再產(chǎn)生另一個數(shù)據(jù)集合作為輸出。
這就像生物神經(jīng)大腦的工作機(jī)理一樣,,透過合適的矩陣數(shù)量,,多層組織鏈接一起,形成神經(jīng)網(wǎng)絡(luò)“大腦”進(jìn)行精準(zhǔn)複雜的處理,,就像人們識別物體,、標(biāo)注圖片一樣。
雖然神經(jīng)網(wǎng)絡(luò)在幾十年前就有了,,直到最近才浮出檯面,。這是因為他們需要大量的“訓(xùn)練”去發(fā)現(xiàn)矩陣中的數(shù)字價值。對早期研究者來說,,想要獲得不錯效果的最小量測試,,都遠(yuǎn)遠(yuǎn)超過計算能力和能提供的數(shù)據(jù)的大小。但最近幾年,,一些能獲取大量資源的團(tuán)隊重現(xiàn)挖掘神經(jīng)網(wǎng)絡(luò),,其實就是透過“大數(shù)據(jù)”來使測試更有效率。
兩個大腦AlphaGo是透過兩個不同神經(jīng)網(wǎng)絡(luò)“大腦”合作來優(yōu)化下棋程式。這些大腦是多層神經(jīng)網(wǎng)絡(luò),,跟Google圖片搜索引擎識別圖片原理相似,。它們從多層啟發(fā)式二維過濾器開始,去處理圍棋棋盤的定位,,就像圖片分類器網(wǎng)絡(luò)處理圖片一樣,。經(jīng)過過濾,13個完全連接的神經(jīng)網(wǎng)絡(luò)層產(chǎn)生對它們看到的局面判斷,。這些層能夠做分類和邏輯推理,。
這些網(wǎng)絡(luò)透過反覆運(yùn)算來檢查結(jié)果,再去校對調(diào)整參數(shù),,去讓下次執(zhí)行更好,。這個處理器有大量的隨機(jī)性元素,所以我們是不可能精確知道網(wǎng)絡(luò)是如何“思考”的,,但更多的運(yùn)算后能讓它進(jìn)化到更好,。
第一大腦:落子選擇器(行動機(jī)械手)AlphaGo的第一個神經(jīng)網(wǎng)絡(luò)大腦是“監(jiān)督式學(xué)習(xí)的策略網(wǎng)絡(luò)(政策網(wǎng)絡(luò))”,觀察棋盤布局企圖找到最佳的下一步,。事實上,,它預(yù)測每一個合理下一步的最佳概率,你可以想像成“落子選擇器”,。
落子選擇器是怎幺看到棋盤的,?數(shù)字呈現(xiàn)出最強(qiáng)人類選手會下在哪些地方的可能性。
團(tuán)隊透過在KGS(網(wǎng)路圍棋對戰(zhàn)平臺)上最強(qiáng)人類對手,、百萬級的對弈落子去訓(xùn)練大腦,。這就是AlphaGo最像人的地方,目標(biāo)是去學(xué)習(xí)那些頂尖高手的妙手,。不是為了贏棋,,而是去找一個跟人類高手同樣的下一步落子。AlphaGo落子選擇器能正確符合57%的人類高手,。(不符合的不是意味著錯誤,,有可能是人類自己犯的失誤)
更強(qiáng)的落子選擇器AlphaGo系統(tǒng)事實上需要兩個額外落子選擇器的大腦。一個是“強(qiáng)化學(xué)習(xí)的策略網(wǎng)絡(luò)(策略Network)”,,通過百萬級額外的模擬局來完成,。比起基本的訓(xùn)練,只是教程式去模仿單一人類的落子,,高級的運(yùn)算訓(xùn)練會與每一個模擬棋局下到底,,教程式最可能贏的下一步棋。 Sliver團(tuán)隊通過更強(qiáng)的落子選擇器總結(jié)了百萬級訓(xùn)練棋局,,比他們之前版本又強(qiáng)化了不少,。
單單用這種落子選擇器就已經(jīng)是強(qiáng)大的對手了,,可以到業(yè)余棋手的水平,或者說跟之前最強(qiáng)的圍棋AI媲美,。這里重點(diǎn)是這種落子選擇器不會去“讀”。它就是簡單審視從單一棋盤位置,,再提出從那個位置分析出來的落子,。它不會去模擬任何未來的走法。這展示了簡單的深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的力量,。
更快的落子選擇器AlphaGo當(dāng)然團(tuán)隊沒有在這里止步,。下面我會闡述是如何將閱讀能力賦予AI的。為了做到這一點(diǎn),,他們需要更快版本的落子選擇器大腦,。越強(qiáng)的版本耗時越久──不過為了產(chǎn)生一個不錯的落子也夠快了,但“閱讀結(jié)構(gòu)”需要去檢查幾千種落子可能性才能做決定,。
Sliver團(tuán)隊建立簡單的落子選擇器去做出“快速閱讀”的版本,,他們稱之為“滾動網(wǎng)絡(luò)”。簡單版本是不會看整個19 * 19的棋盤,,但會在對手之前下的和新下的棋子中考慮,,觀察一個更小的窗口。去掉部分落子選擇器大腦會損失一些實力,,但輕量級版本能夠比之前快1000倍,,這讓“閱讀結(jié)構(gòu)”成了可能。
第二大腦:棋局評估器(位置計算器)AlphaGo的第二個大腦相對于落子選擇器是回答另一個問題,。不是去猜測具體下一步,,它預(yù)測每一個棋手贏棋的可能,在給定棋子位置情況下,。這“局面評估器”就是論文中提到的“價值網(wǎng)絡(luò)(價值Network)”,,通過整體局面判斷來輔助落子選擇器。這個判斷僅僅是大概的,,但對于閱讀速度提高很有幫助,。通過分類潛在的未來局面的“好”與“壞”,AlphaGo能夠決定是否通過特殊變種去深入閱讀,。如果局面評估器說這個特殊變種不行,,那幺AI就跳過閱讀在這一條線上的任何更多落子。
局面評估器是怎幺看這個棋盤的,,深藍(lán)色表示下一步有利于贏棋的位置,。
局面評估器也通過百萬級別的棋局做訓(xùn)練.Silver團(tuán)隊通過複製兩個AlphaGo的最強(qiáng)落子選擇器,精心挑選隨機(jī)樣本創(chuàng)造了這些局面,。
這里AI落子選擇器在高效創(chuàng)建大規(guī)模數(shù)據(jù)集去訓(xùn)練局面評估器是非常有價值的,。這種落子選擇器讓大家去模擬繼續(xù)往下走的很多可能,從任意給定棋盤局面去猜測大致的雙方贏棋概率。而人類的棋局還不夠多恐怕難以完成這種訓(xùn)練,。
增加閱讀這里做了三個版本的落子選擇大腦,,加上局面評估大腦,AlphaGo可以有效去閱讀未來走法和步驟了,。閱讀跟大多數(shù)圍棋AI一樣,,透過蒙特卡洛樹搜索(MCTS)算法來完成。但AlphaGo比其他AI都要聰明,,能夠更加智慧的猜測哪個變種去探測,,需要多深去探測。
蒙特卡洛樹搜索算法如果擁有無限的計算能力,,MCTS可以理論上去計算最佳落子透過探索每一局的可能步驟,。但未來走法的搜索空間對于圍棋來說太大了(大到比我們認(rèn)知宇宙里的粒子還多),實際上AI沒有辦法探索每一個可能的變種.MCTS做法比其他AI有多好的原因是在識別有利的變種,,這樣可以跳過一些不利的,。
銀鴻團(tuán)隊讓AlphaGo裝上MCTS系統(tǒng)的模組,這種框架讓設(shè)計者去嵌入不同的功能去評估變種,。最后馬力全開的AlphaGo系統(tǒng)按以下方式使用了這些大腦,。
從當(dāng)前的棋盤布局,選擇哪些下一步的可能性,。他們用基礎(chǔ)的落子選擇器大腦(他們嘗試使用更強(qiáng)的版本,,但卻讓AlphaGo更弱,因為這沒有讓MCTS提供更廣闊的選擇空間),。它只集中在“明顯最好”的落子,,而不是去選擇也許對后來有利的下法。
對于每一個可能的落子,,有兩種評估方式:要不用棋盤上局面評估器在落子后,,要不運(yùn)行更深入的蒙特卡羅模擬器去思考未來的落子,使用快速閱讀的落子選擇器去提高搜索速度,。 AlphaGo使用簡單的參數(shù)──“混合相關(guān)係數(shù)”,,將每一個猜測取權(quán)重。最大馬力的AlphaGo使用50/50的混合比,,使用局面評估器和模擬化滾動去做平衡判斷,。
這篇論文包含一個隨著他們使用插件的不同,AlphaGo的能力變化和上述步驟的模擬,。若僅使用獨(dú)立大腦,,AlphaGo跟最好的計算機(jī)圍棋AI差不多強(qiáng),但當(dāng)使用這些綜合手段,,就可能到達(dá)職業(yè)選手水平,。
AlphaGo的能力變化與MCTS的插件是否使用有關(guān),。
這篇論文還詳細(xì)講了一些工程優(yōu)化:分布式計算,網(wǎng)絡(luò)計算機(jī)去提升MCTS速度,,但這些都沒有改變基礎(chǔ)算法,。這些算法部分精確,部分近似,。在特別情況下,,AlphaGo透過更強(qiáng)的計算能力變得更強(qiáng),但計算單元的提升率隨著性能變強(qiáng)而減緩,。
優(yōu)勢和劣勢
我認(rèn)為AlphaGo在小規(guī)模戰(zhàn)術(shù)上會非常厲害。它知道通過很多位置和類型找到人類最好的下法,,所以不會在給定小範(fàn)圍的戰(zhàn)術(shù)條件下犯明顯錯誤,。
但是,AlphaGo有個弱點(diǎn)在全局判斷上,。它看到棋盤式通過5 x 5金字塔式的過濾,,這樣對于集成戰(zhàn)術(shù)小塊變成戰(zhàn)略整體上帶來麻煩,同樣道理,,圖片分類神經(jīng)網(wǎng)路往往對包含一個東西和另一個的搞不清,。比如說圍棋在角落上一個定式造成一個墻或者引徵,這會劇烈改變另一個角上的位置估值,。
就像其他的基于MCTS的AI,,AlphaGo對于需要很深入閱讀才能解決的大勢判斷上,還是麻煩重重的,,比如說大龍生死劫,。 AlphaGo對一些故意看起來正常的局也會失去判斷,天元開盤或者少見的定式,,因為很多訓(xùn)練是基于人類的棋局庫,。
我還是很期待看到AlphaGo和李世石9段的對決!我預(yù)測是:如果李使用直(straight)式,,就像跟其他職業(yè)棋手的對決,,他可能會輸,但如果他讓AlphaGo陷入到不熟悉的戰(zhàn)略情形下,,他可能就贏,。
以上為原文結(jié)束分割線,以下為筆者個人感想,。
這里我還想到另一個人,,中國最強(qiáng)大腦選手鮑橒,當(dāng)時看了他走出蜂巢迷宮,,被他的超強(qiáng)的空間記憶和想像能力深深震撼了,,而他的職業(yè)就是圍棋選手,,并且是盲棋。他能完成1對5的圍棋盲棋,,實在是很不可思議的事情,。
在圍棋圈內(nèi),幾乎沒有棋手能完成盲棋,,因為確實太難了,。筆者也向他詢問了對這個事情看法,他說,,歐洲冠軍沒能摸到程式的底,,但從棋譜來說,對Google程式我也難以取勝,,確實下的不錯,。雖然圍棋圈一致看好李世石,不過我不敢確定Google的程式3月份進(jìn)展到什幺地步,。
再說到Facebook的田博士,,跟google DeepMind超豪華團(tuán)隊長期投入不同,他就在半年多前從立項到實現(xiàn),,直到最近才有一個實習(xí)生加入幫他,,而背后是他付出的心血,為了搶時間,,在圣誕新年都是加班加點(diǎn),,按他所說,每日工作10+小時,,自己搭機(jī)器,,寫程式,調(diào)參數(shù),,單槍匹馬做出成績,。
談到跟Google團(tuán)隊的較量,田博士說:“這是一場必敗的戰(zhàn)斗”,,但我還是很佩服他,,他讓我想到三國時代趙子龍,單槍匹馬大戰(zhàn)曹軍,,力拔山兮氣蓋世,!因為他是真正的勇士。
正是有了這些英勇無畏的科學(xué)家,,一次次打破常規(guī),,挑戰(zhàn)極限,我們才知道人類如此大的潛力,。最近短短幾年的發(fā)展,,從大數(shù)據(jù),,深度學(xué)習(xí)人工智慧到虛擬實境,從發(fā)現(xiàn)了類地球行星,,證實重力波,,從Hyperloop,無人駕駛,,量子計算,,這些魅力無窮的科技讓我們對世界的認(rèn)識上升到新的高度。面對這個激動人心的時代,,我想說,,天空是我們的極限,宇宙是我們的極限,,未來才是我們的極限,!
最后允許我拿田博士的話來結(jié)束。
我有時候會問自己:“我是不是背棄了夢想”我想除了我自己,,任何人都不會給我答案,任何評論也不具效力,。我記得有人問過,,如果夢想從踐行的一開始,就在不自覺地向現(xiàn)實妥協(xié),,那樣的夢想還是最初的夢想嗎,?其實,這樣的問題沒什幺可糾結(jié)的,,因為世界從來就不是二元的,,夢想和現(xiàn)實,如同高懸的日月,,日月之間,,有一條灰色的路,在自己腳下蜿蜒曲折,,繞過各種險阻,,一直向前。
而我能做的,,只是要在奔跑時,,不停提醒自己,還記得“夢想”這個詞的含義,。
專線:劉剛 13911133352
E-mail:[email protected]
北京金恒智能系統(tǒng)工程技術(shù)有限責(zé)任公司 版權(quán)所有 Copyright 2007-2020 by Create-china.com.cn Inc. All rights reserved.
法律聲明:未經(jīng)許可,,任何模仿本站模板、轉(zhuǎn)載本站內(nèi)容等行為者,,本站保留追究其法律責(zé)任的權(quán)利,!
電話:86+10-62104277/2248/4249 傳真:86+10-62104193-819 京ICP備10010038號-2網(wǎng)站XML
智慧機(jī)房
在線體驗