機(jī)器自學(xué)72小時堪比國際大師,深度學(xué)習(xí)到底有多厲害?
電腦與真人對戰(zhàn)時,它相當(dāng)于FIDE(世界國際象棋聯(lián)合會)國際大師水平,位列國際象棋錦標(biāo)賽選手的前2.2%。...
【編者按】本文是雷鋒網(wǎng)2015年9月份發(fā)出的文章,由知社學(xué)術(shù)圈王鵬編譯,原標(biāo)題《深度學(xué)習(xí)機(jī)器自學(xué)國際象棋72小時,媲美國際大師》,文章來源:MIT Technology Review。
谷歌旗下Deep MInd創(chuàng)始人宣布了谷歌在人工智能領(lǐng)域取得重要進(jìn)展:開發(fā)出一款能夠在圍棋中擊敗職業(yè)選手的程序——AlphaGo,《Nature》雜志也以封面論文的形式, 介紹了AlphaGo擊敗歐洲圍棋冠軍樊麾,并將在 3 月和世界冠軍李世乭對戰(zhàn)。在此之前,有專家提到人工智能機(jī)器——“長頸鹿”,它可以通過自學(xué)從而像人類那樣通過評估局勢來下棋,這完全顛覆了傳統(tǒng)象棋程序。
自IBM研發(fā)的超級計(jì)算機(jī)深藍(lán)首次在標(biāo)準(zhǔn)錦標(biāo)賽規(guī)則下?lián)魯H象棋世界冠軍加里·卡斯帕羅夫至今已近20年。從那時以來,電腦象棋選手不斷完善強(qiáng)大,以致頂尖人類棋手在面對一臺運(yùn)行現(xiàn)代象棋程序的智能手機(jī)時,恐怕也機(jī)會渺茫。
雖然計(jì)算機(jī)的運(yùn)行速度越來越快,但象棋程序的工作模式并沒有改變。他們的強(qiáng)大始終依賴于窮舉法,即遍歷所有未來可能性以選擇最佳棋路的過程。
當(dāng)然,沒有哪個人類可以做到這一點(diǎn),哪怕做得接近也絕無可能。當(dāng)深藍(lán)以每秒2億步的速度進(jìn)行搜索計(jì)算的時候,卡斯帕羅夫可能頂多在進(jìn)行著每秒5步的思考。不過他依然可以下出同樣的水準(zhǔn)。顯然,人類掌握著計(jì)算機(jī)所尚未精通的奧妙。
問題的關(guān)鍵在于評估盤面局勢并縮減最優(yōu)棋路的搜索。這將大幅簡化計(jì)算工作,好比代表棋路可能性的繁茂大樹被修剪到只剩幾條枝干。
計(jì)算機(jī)向來不擅長這樣的工作,但今天憑借帝國理工學(xué)院馬修·萊的努力,事情有了改變。
萊制造了一臺人工智能機(jī)器并取名為長頸鹿,它可以通過自學(xué)從而像人類那樣通過評估局勢來下棋,這完全顛覆了傳統(tǒng)象棋程序。
直接應(yīng)用的結(jié)果就是,這臺新機(jī)器與頂級傳統(tǒng)象棋程序達(dá)到同一水平,而這些傳統(tǒng)程序多年來已有所優(yōu)化。同真人對戰(zhàn)時,它相當(dāng)于FIDE(世界國際象棋聯(lián)合會)國際大師水平,位列國際象棋錦標(biāo)賽選手的前2.2%。
萊的新機(jī)器背后所依靠的技術(shù)是神經(jīng)網(wǎng)絡(luò)系統(tǒng)。這是一種以人類大腦為原型的信息處理模式。它包含多層節(jié)點(diǎn),節(jié)點(diǎn)彼此連結(jié)并可通過訓(xùn)練對系統(tǒng)變化作出反饋。該訓(xùn)練過程采用了大量實(shí)例對節(jié)點(diǎn)連結(jié)進(jìn)行微調(diào),使神經(jīng)網(wǎng)絡(luò)可以根據(jù)特定的輸入產(chǎn)生特定輸出。例如,在圖片中進(jìn)行面部識別。
近幾年,神經(jīng)網(wǎng)絡(luò)的迅猛發(fā)展得益于兩項(xiàng)進(jìn)步。首先是隨著神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),對如何進(jìn)行微調(diào)有了進(jìn)一步理解。這要部分歸功于運(yùn)算更快的計(jì)算機(jī);第二是海量注釋數(shù)據(jù)集的出現(xiàn),使神經(jīng)網(wǎng)絡(luò)得以更好地學(xué)習(xí)。
這些成果使計(jì)算機(jī)科學(xué)家可以訓(xùn)練更龐大的劃分為多層級的神經(jīng)網(wǎng)絡(luò)。這些所謂的深度神經(jīng)網(wǎng)絡(luò)功能已非常強(qiáng)大,并已在日常的模式識別工作上較人類更為勝任,比如人臉識別以及手寫識別。
所以,深度神經(jīng)網(wǎng)絡(luò)能夠在國際象棋中進(jìn)行模式發(fā)掘并不奇怪,這也正是萊所采用的方法。他的網(wǎng)絡(luò)系統(tǒng)包括四個層次,以三種方法共同判斷棋盤上的每一個狀態(tài):
系統(tǒng)首先會觀察比賽全局,比如雙方的棋子數(shù)量與類型,哪方移動,王車易位權(quán)等等;進(jìn)一步,系統(tǒng)檢查棋子相關(guān)信息,如各方每個棋子的位置;最后繪制出每個棋子的攻防格局。
萊用于其神經(jīng)網(wǎng)絡(luò)系統(tǒng)的訓(xùn)練數(shù)據(jù)素材謹(jǐn)慎選自真實(shí)象棋比賽。此數(shù)據(jù)集必須具有正確的象棋布局?!氨热缯f,訓(xùn)練系統(tǒng)掌握每方有三個皇后的棋局就沒有意義,因?yàn)檫@種布局根本不會出現(xiàn)在實(shí)戰(zhàn)當(dāng)中”,他講到。
除了在高水平國際象棋比賽上經(jīng)常見到的局面之外,它還必須包含大量多樣的非均勢棋局。因?yàn)楸M管在真實(shí)象棋比賽中很少出現(xiàn)實(shí)力懸殊的狀況,但在計(jì)算機(jī)內(nèi)部執(zhí)行的搜索中,它們依然會頻繁出現(xiàn)。
此數(shù)據(jù)集需要具有相當(dāng)?shù)囊?guī)模。在訓(xùn)練過程中對神經(jīng)網(wǎng)絡(luò)中海量連結(jié)的微調(diào)只能建立在龐大數(shù)據(jù)集的基礎(chǔ)上完成。如果采用較小的數(shù)據(jù)集,則會導(dǎo)致神經(jīng)網(wǎng)絡(luò)無法識別真實(shí)世界中千變?nèi)f化的模式。
萊從計(jì)算機(jī)國際象棋比賽的數(shù)據(jù)庫中隨機(jī)選取了500萬種盤面狀態(tài)以生成他的數(shù)據(jù)集。然后他給每個狀態(tài)隨機(jī)添加一步合理走法以創(chuàng)建更多的變化,最后應(yīng)用于訓(xùn)練。通過這種方式,他總共生成了1.75億種盤面狀態(tài)。
訓(xùn)練機(jī)器的通常做法是人工評估每個盤面局勢并將此信息輸入計(jì)算機(jī)使其可以識別棋局的強(qiáng)弱。
對于1.75億種盤面來說這是巨大的工作量。雖然這可以通過另一個象棋程序來完成,但萊有更大的期望,他希望機(jī)器能夠自主學(xué)習(xí)。
所以,他采用了一種自舉法技術(shù)使長頸鹿通過與自己對戰(zhàn)來提高其對未來棋局評估的預(yù)測能力。這個方法切實(shí)可行,因?yàn)槊恳环N走法都有其對應(yīng)的參考分?jǐn)?shù)來最終決定其價值——無論比賽最后是勝,是負(fù),還是平局。
通過這種方式,計(jì)算機(jī)可以掌握哪些局勢是有利的,哪些是弱勢的。
對長頸鹿訓(xùn)練后,最后一步要進(jìn)行測試,而結(jié)果非常有趣。萊采用一個名為戰(zhàn)略測試套件的標(biāo)準(zhǔn)數(shù)據(jù)庫對他的機(jī)器進(jìn)行測試,它包含了1500種預(yù)置棋局以檢測象棋程序識別各種戰(zhàn)略構(gòu)想的能力?!氨热?,有一個設(shè)定可以測試對開放線控制的理解,另一個可以檢驗(yàn)對象和馬的價值在不同情況下如何變化以及對各自影響的理解,還有一種設(shè)定能夠檢驗(yàn)對中心控制的理解”,他說。
測試結(jié)果以15000分為滿分。
萊使用這種辦法對機(jī)器的不同學(xué)習(xí)階段進(jìn)行了測試。在自舉過程開始時,長頸鹿很快達(dá)到了6000分的成績并經(jīng)過72小時最終攀升至9700分。萊表示這已可以匹敵世界上最強(qiáng)的國際象棋程序。
“(這成績)很了不起,因?yàn)槟切┰u測功能都是由人們精心設(shè)計(jì)并包含數(shù)百個參數(shù)的巨物,在過去多年中還經(jīng)過了人為和自動的調(diào)試,其中很多都出自象棋大師之手?!彼a(bǔ)充道。
萊繼續(xù)使用同樣的機(jī)器學(xué)習(xí)方法來確定一步既定走法是否值得實(shí)施的機(jī)率。這一點(diǎn)非常重要,因?yàn)檫@將避免不必要的對無用枝干的深度搜索,從而大幅提高計(jì)算效率。
萊稱這種概率方法有46%的機(jī)率預(yù)測出最佳走法,并有70%的機(jī)率將最佳走法列在前三種選擇里。所以計(jì)算機(jī)無需檢測其他走法。
這項(xiàng)有趣的工作標(biāo)志著國際象棋程序運(yùn)算方式的巨大變革。當(dāng)然,它尚不完美。長頸鹿的一個缺點(diǎn)就是神經(jīng)網(wǎng)絡(luò)相比其他類型的數(shù)據(jù)處理速度要慢很多。萊談到要搜索同樣數(shù)量的棋局,長頸鹿所花費(fèi)的時間比傳統(tǒng)象棋程序要多出10倍。
不過即便有所不足,它仍然很有競爭力?!伴L頸鹿在現(xiàn)代主流PC機(jī)上運(yùn)行可以達(dá)到FIDE國際象棋大師水平”,萊介紹到。相比之下,頂級的象棋程序可以達(dá)到超級大師水平。
這已經(jīng)非常棒了。
“與當(dāng)今眾多象棋程序不同,長頸鹿的下棋本領(lǐng)并非來自對前方可能性的探查,而是源于對當(dāng)前錯綜局勢的精確評估,以及對復(fù)雜棋局概念的理解。這些概念對人來說非常直觀,但長久以來對象棋程序卻難于理解?!比R講到,“這一點(diǎn)在開局和殘局階段非常重要,而它在此表現(xiàn)得尤為出色?!?/strong>
這僅僅是個開始。萊表示這種方法應(yīng)該直接應(yīng)用于其他游戲當(dāng)中,很明顯的例子就是傳統(tǒng)中國圍棋,目前人類相比于他們的硅制對手仍掌握著絕對優(yōu)勢。也許萊在未來能夠有所突破。
【作者介紹】知社學(xué)術(shù)圈,海歸學(xué)者發(fā)起的公益學(xué)術(shù)交流平臺,旨在分享學(xué)術(shù)信息,整合學(xué)術(shù)資源,加強(qiáng)學(xué)術(shù)交流,促進(jìn)學(xué)術(shù)進(jìn)步。
推薦閱讀:
1、Google人工智能擊敗歐洲圍棋冠軍, AlphaGo 究竟是怎么做到的?
2、智慧之巔,30年來AI宗師們的那點(diǎn)事