1忆绰、蒙特卡洛搜索算法和基于深度學(xué)習(xí)的模式識別促成了AlphaGo的成就蒸走。
據(jù)各方研究來看惊楼,AG不是自己想出棋著來狰右,而是學(xué)習(xí)了人類高手的千萬盤棋局(這就是大數(shù)據(jù))杰捂。它記錄下每個棋局中的每個局面,把上百萬個局面當(dāng)作輸入進行訓(xùn)練棋蚌,通過一個多層神經(jīng)網(wǎng)絡(luò)來預(yù)測人類高手會走出的下一著嫁佳。經(jīng)過巧妙的神經(jīng)網(wǎng)絡(luò)設(shè)計與訓(xùn)練,這個多層神經(jīng)網(wǎng)建模了人類高手的“棋感”——對于當(dāng)前局面谷暮,已知以往下棋歷史中的勝率蒿往。在實際下棋時,計算機可以通過視覺識別記錄下棋局坷备,然后和以往的棋局?jǐn)?shù)據(jù)比較熄浓,找到相同的模式(局面),再檢索不同局面往后發(fā)展下去省撑,根據(jù)以往下棋史中的勝率高低選出一些高質(zhì)量的候選點供走子赌蔑,而不必每個候選點都去嘗試一遍,從而極大地減少系統(tǒng)運算量竟秫,不至于讓系統(tǒng)“殫精竭慮”而死娃惯。這就像人類,不會窮盡所有候選點肥败,而是根據(jù)經(jīng)驗和感覺選擇某些點趾浅。選出幾個點之后,人類還是要比較馒稍、計算哪個點更好皿哨。對于機器來說,這個計算就交給蒙特卡洛搜索算法纽谒。
蒙特卡洛樹形搜索是對以往決策樹算法的優(yōu)化证膨。對于以往的決策樹算法,即便給了一個高質(zhì)量的候選點鼓黔,對于接下來的選擇央勒,它同樣要進行窮舉,在每個要選擇的地方做一次分支澳化,同樣會遇到可選路徑數(shù)量的指數(shù)爆炸崔步。
蒙特卡洛方法就體現(xiàn)了概率學(xué)的精妙。假設(shè)在某個棋局局面下缎谷,深度學(xué)習(xí)網(wǎng)絡(luò)給出了三個候選落子辦法A井濒、B、C列林,以這三個點為根節(jié)點眼虱,分別往下走子,可以想象成三個樹席纽,每棵樹還有無數(shù)分支捏悬。蒙特卡洛搜索不去窮盡所有分支,而是派出300萬只螞蟻分別從A润梯、B过牙、C出發(fā),每個點100萬只纺铭,飛速向樹梢爬(也就是往下黑白棋交替走子直到?jīng)Q出勝負(fù)寇钉,基本上走200步就會分出勝負(fù)),總有部分螞蟻走到最高點(也就是決出勝負(fù)舶赔,假設(shè)螞蟻走到終點的情況代表黑子勝扫倡,沒走到終點的情況代表白子勝)。
假設(shè)從A點出發(fā)的100萬只螞蟻有30萬只到達(dá)終點,B的為50萬只撵溃,C為40萬只疚鲤,系統(tǒng)就認(rèn)為黑子走B點勝率更高扣草,就會選擇B點奇颠。這就是概率學(xué)的取樣算法,相比逐項窮舉法温圆,極大地縮減了計算量语淘。
CPU芯片和GPU(圖形處理器)芯片同時進行神經(jīng)網(wǎng)絡(luò)計算與蒙特卡洛樹形搜索诲宇,模擬海量的終盤局面,這是人類計算能力無法相比的惶翻。由于采用深度學(xué)習(xí)建模了人類高手的棋感姑蓝,看上去人工智能擁有了人類的大局觀,而這個大局觀恰恰蘊含在人類高手的千萬盤對弈數(shù)據(jù)里吕粗。