文/dongfeiwww
在象棋和國(guó)際象棋中,電腦軟件都非常厲害,只有圍棋是唯一“電腦下不過(guò)人類”的項(xiàng)目。而今年1月份有個(gè)爆炸性新聞:谷歌DeepMind開發(fā)的人工智能圍棋程序AlphaGo以5:0的壓倒性優(yōu)勢(shì)擊敗了歐洲圍棋冠軍、專業(yè)二段棋手。那么3月份AlphaGo會(huì)和韓國(guó)九段、世界冠軍李世石進(jìn)行對(duì)弈。如果此役AlphaGo獲勝,這意味著人工智能真正里程碑式的勝利。
這也引起了筆者好奇心,在春節(jié)期間,跟Facebook的田淵棟(他的背景無(wú)可挑剔,卡耐基梅隆大學(xué)機(jī)器人系博士,Google X 無(wú)人車核心團(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è)新寵)。
他聊天中談到自從谷歌收購(gòu)了DeepMind,投入大量資源去做好人工智能項(xiàng)目,不為別的,就是要向世界證明谷歌智能的強(qiáng)大。發(fā)表在頂級(jí)期刊《Nature》的論文光看作者就20個(gè),明顯是下了血本,前兩位都是計(jì)算機(jī)圍棋界的大牛,一作David Silver是計(jì)算機(jī)圍棋和強(qiáng)化學(xué)習(xí)的頂級(jí)專家,整個(gè)博士論文就是做的圍棋; 二作Aja Huang以前寫過(guò)多年圍棋軟件,自己又是AGA 6D的水平。
還是不多說(shuō)廢話,下面是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ù)字作為輸入,通過(guò)非線性激活方法取權(quán)重,再產(chǎn)生另一個(gè)數(shù)據(jù)集合作為輸出。這就像生物神經(jīng)大腦的工作機(jī)理一樣,通過(guò)合適的矩陣數(shù)量,多層組織鏈接一起,形成神經(jīng)網(wǎng)絡(luò)“大腦”進(jìn)行精準(zhǔn)復(fù)雜的處理,就像人們識(shí)別物體標(biāo)注圖片一樣。
雖然神經(jīng)網(wǎng)絡(luò)在幾十年前就有了,直到最近才形勢(shì)明朗。這是因?yàn)樗麄冃枰罅康?ldquo;訓(xùn)練”去發(fā)現(xiàn)矩陣中的數(shù)字價(jià)值。對(duì)早期研究者來(lái)說(shuō),想要獲得不錯(cuò)效果的最小量訓(xùn)練都遠(yuǎn)遠(yuǎn)超過(guò)計(jì)算能力和能提供的數(shù)據(jù)的大校但最近幾年,一些能獲取海量資源的團(tuán)隊(duì)重現(xiàn)挖掘神經(jīng)網(wǎng)絡(luò),就是通過(guò)“大數(shù)據(jù)”技術(shù)來(lái)高效訓(xùn)練。
兩個(gè)大腦
AlphaGo是通過(guò)兩個(gè)不同神經(jīng)網(wǎng)絡(luò)“大腦”合作來(lái)改進(jìn)下棋。這些大腦是多層神經(jīng)網(wǎng)絡(luò)跟那些Google圖片搜索引擎識(shí)別圖片在結(jié)構(gòu)上是相似的。它們從多層啟發(fā)式二維過(guò)濾器開始,去處理圍棋棋盤的定位,就像圖片分類器網(wǎng)絡(luò)處理圖片一樣。經(jīng)過(guò)過(guò)濾,13 個(gè)完全連接的神經(jīng)網(wǎng)絡(luò)層產(chǎn)生對(duì)它們看到的局面判斷。這些層能夠做分類和邏輯推理。
這些網(wǎng)絡(luò)通過(guò)反復(fù)訓(xùn)練來(lái)檢查結(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ì)通過(guò)在KGS(網(wǎng)絡(luò)圍棋對(duì)戰(zhàn)平臺(tái))上最強(qiáng)人類對(duì)手,百萬(wàn)級(jí)的對(duì)弈落子去訓(xùn)練大腦。這就是AlphaGo最像人的地方,目標(biāo)是去學(xué)習(xí)那些頂尖高手的妙手。這個(gè)不是為了去下贏,而是去找一個(gè)跟人類高手同樣的下一步落子。AlphaGo落子選擇器能正確符合57%的人類高手。(不符合的不是意味著錯(cuò)誤,有可能人類自己犯的失誤)