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