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