close

AlphaGo基本原理:算法每個部分其實都是已有技術

繼AlphaGo於2015年8月以5-0戰勝三屆歐洲冠軍樊麾、2016年3月以4-1擊敗世界頂級棋手李世石後,今年1月,AlphGo的升級版本Master橫掃各路高手,取得60比0的驚人戰績。20年前IBM深藍(DeepBlue)計算機擊敗國際象棋冠軍卡斯帕羅夫的情景還歷歷在目,短短2年時間,人工智能在圍棋領域又創造瞭人機對抗歷史上的新裡程碑。

根據谷歌DeepMind團隊發表的論文,我們可以窺探到AlphaGo的基本設計思路。任何完全信息博弈都無非是一種搜索。搜索的復雜度取決於搜索空間的寬度(每步的選擇多寡)和深度(博弈的步數)。對於圍棋,寬度約為250,深度約為150。AlphaGo用價值網絡(valuenetwork)消減深度,用策略網絡(policynetwork)消減寬度,從而極大地縮小瞭搜索范圍。

所謂價值網絡, 是用一個“價值”數來評估當前的棋局。如果我們把棋局上所有棋子的位置總和稱為一個“狀態”,每個狀態可能允許若幹不同的後續狀態。所有可能狀態的前後次 序關系就構成瞭所謂的搜索樹。一個暴力的搜索算法會遍歷這個搜索樹的每一個子樹。但是,其實有些狀態是較容易判斷輸贏的,也就是評估其“價值”。我們把這 些狀態用價值表示,就可以台中路口監視器據此省略瞭對它所有後續狀態的探索,即利用價值網絡削減搜索深度。

所謂策略,是指在給定棋局,評估每一種應對可能的勝率,從而根據當前盤面狀態來選擇走棋策略。在數學上,就是估計一個在各個合法位置上下子獲勝的可能的概率分佈。因為有些下法的獲勝概率很低,可忽略,所以用策略評估就可以消減搜索樹的寬度。

更 通俗地說,所謂“價值”就是能看懂棋局,一眼就能判斷某給定棋局是不是能贏,這是個偏宏觀的評估。所謂的“策略”,是指在每一步博弈時,各種選擇的取舍, 這是個偏微觀的評估。AlphaGo利用模擬棋手、強化自我的方法,在宏觀(價值評估)和微觀(策略評估)兩個方面提高瞭探索的效率。

在具體算法上,AlphaGo用深度卷積神經網絡(CNN)來訓練價值網絡和策略網絡。棋盤規模是(19×19),棋盤每個位置編碼48種經驗特征。把這些特征輸入模型進行訓南投監視器廠商練,經過層層卷積,更多隱含特征會被利用。

基於類似的卷積神經網絡結構,AlphaGo先做策略學習(學習如何下子),再做價值學習(學習評估局面)。策略學習也分為兩步。第一步是有監督學習,即“打譜”,學習既往的人類棋譜。第二步是強化學習,即“左右互搏”,通過程序的自我博弈來發現能提高勝率的策略(見圖1)。

圖 1 策略網絡和價值網絡監視器台中推薦的訓練過程

先說“打譜”(有監督學習)。AlphaGo學習瞭KGS網站上3000萬個落子位置。它先隨機選擇落子位置,利用既往的棋譜來“訓練”,試圖預測人類最可能在什麼位置落子。如果僅用落子歷史和位置信息,AlphaGo 的預測成功率是55.7%。如果加上其他特征,預測成功率可以進一步提高到57%。在數學上,打譜是用一種梯度下降算法訓練模型。給定一個棋局和一個落子 方式,為瞭計算人類棋手會有多大概率采用這種下法,AlphaGo用一個13層的卷積網絡來訓練這個概率的評估。這也是神經網絡應用的經典做法,即基於梯 度下降來逼近一個函數的學習,這裡函數就是棋手如何落子的概率。

再說“左右互搏”(強化學習)。這是在打譜的基監視器安裝台中礎上,讓不同下法的程序之間相互博弈。強化學習的策略網絡和有監督學習(打譜)的網絡結構一樣,也同樣利用梯度下降的學習方法。區別在於用一個“回報”(贏棋是1,輸棋是-1)來獎勵那些會導致最終獲勝的策略。

價值網絡的學習和策略網絡類似,也用類似結構的卷積神經網絡。區別在於網絡的輸出不是一個落子的概率分佈,而是一個可能獲勝的數值(即“價值”)。這個訓練是一種回歸(regression),即調整網絡的權重來逼近每一種棋局真實的輸贏預測。

如 果隻是簡單地讓程序之間自由博弈,可能會導致過擬合:對訓練的數據(棋譜)效果很好,但是對於沒見過的棋局效果欠佳。這是因為一盤棋內不同的棋局之間是有 依賴關系的,而價值函數並不考慮這些關系。解決方法是用來自不同對弈過程的棋局的落子位置進行訓練,避免來自同一棋局的狀態之間的“信息污染”(相關 性)。

有瞭策略網絡和價值網絡,就可以進行策略的搜索瞭。AlphaGo使用瞭“蒙特卡洛樹搜索”(MCTS)算法。所謂搜索,就是給定一個棋局,確定下一步的落子位置。這分為“往下搜”和“往回看”兩個環節。在“往下搜”的環節,對給定的棋局台中監視器安裝推薦,程序選擇最可能獲勝的落子位置,然後如此類推,直到搜索樹上能分出結果的“葉子”節點。在“往回看”的環節,一個棋局各種不同的演化可能性被綜合評估,用於更新搜索樹對棋局的評估。

為瞭提高訓練效率,AlphaGo利用圖形處理器(GPU)運行深度學習算法(訓練價值網絡和策略網絡),利用CPU運行樹搜索算法。因為GPU適合做大吞吐量、低邏輯判斷的工作,適合深度學習這種數據量大而邏輯簡單的算法。中央處理器(CPU)則恰恰相反,適合蒙特卡洛樹搜索這種邏輯復雜的算法。

本文摘錄自《從AlphaGo的成功說起》,作者張夢迪、鄭錦光、張強、鮑捷。即將發表於CCF會刊2017年3月號

台灣電動床工廠 電動床

台灣電動床工廠 電動床

AUGI SPORTS|重機車靴|重機車靴推薦|重機專用車靴|重機防摔鞋|重機防摔鞋推薦|重機防摔鞋

AUGI SPORTS|augisports|racing boots|urban boots|motorcycle boots

一川抽水肥清理行|台中抽水肥|台中市抽水肥|台中抽水肥推薦|台中抽水肥價格|台中水肥清運
CCFDBCE103EAA647

arrow
arrow

    mff77ux22r 發表在 痞客邦 留言(0) 人氣()