人機大戰之AlphaGo的硬件配置和算法研究

 AlphaGo的硬件配置

最近AlphaGo與李世石的比賽如火如荼,關於第四盤李世石神之一手不在咱們的討論範圍以內。咱們重點討論下AlphaGo的硬件配置:html

 

AlphaGo有多個版本,其中最強的是分佈式版本的AlphaGo。根據DeepMind員工發表在2016年1月Nature期刊的論文,分佈式版本(AlphaGo Distributed)使用了1202個CPU和176個GPU,同時能夠有40個搜素線程。算法

 

維基百科上有各類版本的AlphaGo硬件配置 :網絡

 

 最後一列是等級分,表明了論文送審時(2015年11月)的水平。架構

 

下面是2016年3月14日GoRatings 發佈的全球等級分列表,AlphaGo也被列在其中,排在第四位,能夠看見各個版本AlphaGo的實力。iphone

 

硬件配置Google官方沒有給出明確說明,根據各方報道跟李世石對戰的應該是最強的兩個分佈式「阿法狗」之一:分佈式

-(1920 CPUs + 280 GPUs,同時有64個搜索線程)post

-(1202 CPUs + 176 GPUs,同時有40個搜索線程) 學習

 

有Twitter網友做圖:lua


從這個角度來看韓國人抗議比賽時間對於李世石不公平,也是能夠理解的。 .net

AlphaGo的算法結構

本文嘗試用最簡單的方法來說述AlphaGo的算法,瞭解AlphaGo是如何下棋的。

 

AlphaGo的技術整體架構若是一句話總結的話就是:深度CNN神經網絡架構結合蒙特卡洛搜索樹(Monte Carlo Tree Search)。

 

深度學習神經網絡訓練出兩個落子策略和一個局面評估模型,這三個策略的神經網絡架構基本相同,這是參數不一樣而已。

 

兩個落子策略:SL(supervised-learning policy network),RL(Reinforcement learning policy network)。

 

落子策略SL是經過學習人類對弈棋局,來模擬給定當前棋局局面,人如何落子的思路,這是純粹的學習人類下棋經驗,它的學習目標是:給定某個棋局形式,人會怎麼落子?那麼AlphaGo經過人類對弈棋局來學習這些落子策略,也就是說SL策略學習到的是像人同樣來下下一步棋。

(數字表示人類棋手會下在該地方的可能性)

 

落子策略RL是經過AlphaGo本身和本身下棋來學習的,是在SL落子策略基礎上的改進模型,RL策略的初始參數就是SL落子策略學習到的參數,就是它是以SL落子策略做爲學習起點的,而後經過本身和本身下棋,要進化出更好的本身,它的學習目標是:不像SL落子策略那樣只是學習下一步怎麼走,而是要兩個AlphaGo不斷落子,直到決出某盤棋局的勝負,而後根據勝負狀況調整RL策略的參數,使得RL學習到如何可以找到贏棋的一系列先後聯繫的當前棋局及對應落子,就是它的學習目標是贏得整盤棋,而不是像SL策略那樣僅僅預測下一個落子。

局面評估網絡(Position Evaluator Value Network)採用相似的深度學習網絡結構,只不過它不是學習怎麼落子,而是給定某個棋局盤面,學習從這個盤面出發,最後可以贏棋的勝率有多高,因此它的輸入是某個棋局盤面,經過學習輸出一個分值,這個分值越高表明從這個棋盤出發,那麼贏棋的可能性有多大。

(局面評估是怎麼看這個棋盤的。深藍色表示下一步有利於贏棋的位置)

 

有了上面的三個深度學習策略,AlphaGo把這三個策略引入到蒙特卡洛搜索樹中,因此它的整體架構仍是蒙特卡洛搜索樹,只是在應用蒙特卡洛搜索樹的時候在幾個步驟集成了深度學習學到的落子策略及盤面評估。

 

在AlphaGo與李世石的第四局中,李下出78手神之一手的時候,Google DeepMind 的 Hassabis 是這樣說的:

@demishassabis 26m26 minutes ago

Lee Sedol is playing brilliantly! #AlphaGo thought it was doing well, but got confused on move 87. We are in trouble now...

@demishassabis 7m7 minutes ago

Mistake was on move 79, but #AlphaGo only came to that realisation on around move 87

 

簡單來講就是狗沒有及時認知到78的威脅,直到到87手才發現勝率下跌。這個說明狗在好幾步後都不知道本身已經不妙了,計算結果裏沒有後來的發展。

這不是狗的bug,是標準的多算勝少算,這應該不算是bug而是value network和policy network還有待完善。

 

參考文獻:

https://www.dcine.com/2016/01/28/alphago/

http://www.afenxi.com/post/8713

http://geek.csdn.net/news/detail/59308

http://blog.csdn.net/malefactor/article/details/50631180

http://www.leiphone.com/news/201603/Q1cWFZjnGl1wc4m1.html

相關文章
相關標籤/搜索