close

【一文讀懂AlphaGo Zero算法】白話蒙特卡洛樹搜索和ResNet

本文首發於微信公眾號:新智元。文章內容屬作者個人觀點,不代表和訊網立場。投資者據此操作,風險請自擔。

新智元專欄作者:鄧侃

【新智元導讀】AlphaGo Zero 令人驚艷。不過,有些評論似乎渲染過度,把它的算法說得神乎其神。大數醫達創始人,CMU計算機學院暨機器人研究所博士鄧侃在本文中,嘗試用大白話,通俗地解釋 AlphaGo Zero,弄清楚蒙特卡洛樹搜索(Monte Carlo Tree Search,MCTS)、深度學習啟發函數和置信上限這三大核心概念。

l AlphaGo Zero 引起巨大社會轟動

隻告訴機器圍棋的基本規則,但是不告訴它人類摸索瞭上千年才總結出來的定式等圍棋戰術,讓機器完全依靠自學,打敗人類。這個題目不僅新鮮,而且熱辣。

上周 DeepMind AlphaGo 人工智能圍棋團隊的一篇新論文,題目是“Mastering the Game of Go without Human Knowledge”。

這篇論文不僅被頂級學術期刊 Nature 發表,而且立刻被媒體反復報導,引起社會熱議。

這篇論文讓人驚艷的亮點有四,

隻告訴機器圍棋規則,但是不告訴它定式等等人類總結的圍棋戰術,也不讓它讀人類棋手比賽的棋譜,讓機器完全自學成才。

機器完全靠自己摸索,自主總結出瞭定式等等圍棋戰術,而且還發現瞭人類上千年來沒有發現的定式。

從零開始,機器自學瞭不到 40 天,就超越瞭前一版 AlphaGo(AlphaGo Master),而 AlphaGo Master 幾個月前,曾以 60 : 0 的戰績,戰勝瞭當今幾乎所有人類圍棋高手。

AlphaGo Zero 的算法,比 AlphaGo Master 簡練很多。

不過,有些關於AlphaGo Zero 的評論,似乎渲染過度,把它的算法,說得神乎其神。本文嘗試用大白話,通俗地解釋一下 AlphaGo Zero 的算法。

AlphaGo Zero 的算法,說來並不復雜。理解清楚 Monte Carlo Tree Search、深度學習啟發函數和置信上限,這三個概念就行瞭。

Monte Carlo Tree Search:不窮舉所有組合,找到最優或次優位置

圍棋棋面總共有 19 * 19 = 361 個落子位置。假如電腦有足夠的計算能力,理論上來說,我們可以窮舉黑白雙方所有可能的落子位置,找到最優落子策略。

但是,如果窮舉黑白雙方所有可能的落子位置,各種組合的總數,大約是 250^150 數量級。這個數太大瞭,以至於用當今世界最強大雲計算系統,算幾十年也算不完。

有沒有不窮舉所有組合,就能找到最優或者次優落子策略的算法呢?有,Monte Carlo Tree Search 就是這樣一種算法。

剛剛開始教機器下圍棋的時候,機器除瞭規則,對圍棋一無所知。讓兩臺機器對弈,分別執黑子與白子。隻要不違反規則,以均等概率,在所有合法的位置上,隨意選擇一個地點落子。


黑方先行,它有 361 個合法投子位置。黑方先隨機考慮一個候選位置,譬如天元(9,9)。開局是否投子在天元呢?取決於假如投子在此,是否有可能贏得勝利。如何估算贏得勝利的可能性呢?黑方模擬對局。

假如黑方第一手投子天元,那麼白方的第二手會投子哪裡呢?根據均等概率的初步策略,白方有 360 個合法位置,在任何一處投子的概率均等。假如白方的第二手投子在棋盤的最邊緣(0,0)。

接下去,黑方在剩餘的 359 個合法位置中,隨機選擇一個落子位置。接下去白方投子。如此重復,直到終局。

完成靜電除煙機這樣一次對局模擬的過程,上限是 361 手,計算成本很低。

假如黑白兩個機器,以黑方投子天元開局,一路亂走,最終以黑方勝利。那麼根據 Monto Carlo Tree Search 算法,投子天元的開局,有可能獲勝,那麼第一手,就真的投子天元。

假如一路亂走,最終黑方失敗,那麼黑方就換一個候選位置,再次模擬對局。假如第二次模擬對局以黑方獲勝,就投子在第二個位置。假如失敗,那就再換到第三個候選位置,第三次模擬對局。如此重復。

這樣反復亂走,收集到瞭第一批棋譜,當然,這些棋譜的水平,慘不忍睹。

水平之所以慘不忍睹,是因為 “以均等概率,在所有合法的位置上,隨意選擇一個地點落子” 的下棋策略。

如何通過自學,不斷改進下棋策略?

AlphaGo Zero 用深度學習神經網絡來解決這個問題。

用深度學習網絡實現啟發函數

AlphaGo Zero 用 CNN 來改進圍棋投子策略。具體到 CNN 的系統架構,AlphaGo Zero 用的是 Residual 架構 ResNet。而 Re油煙處理機價格sidual 架構是其時任職於微軟亞洲研究院的中國人 Kaiming He、Xiangyu Zhang、Shaoqing Ren、Jian Sun,於 2015 年發明的。

ResNet 的輸入是當前的棋面 S_{t} 。它的輸出有兩個,

當前棋面 S_{t} 的贏率,v( S_{t} ),靜電除油機贏率就是最終獲勝的概率,是一個數值。

下一手投子的位置及其概率,P( a_{t+1} | S_{t} ),這是一個向量。投子的位置可能有多種,每個位置的概率不同,概率越高,說明在以往的棋譜中,經常投子在這個位置。

用先前收集到的棋譜,來訓練 ResNet,擬合輸入 S_{t},以及輸出 P( a_{t+1} | S_{t} ) 向量和當前棋面的贏率 v( S_{t} )。

AlphaGo Zero 隻用機器自我對弈的棋譜,來訓練 ResNet。

當然,也可以用人類棋手的棋譜來訓練 ResNet。理論上來說,用人類棋手的棋譜來訓練 ResNet,AlphaGo Zero 的水平,會在更短時間內,獲得更快提升。

但是,即便不用人類棋手的棋譜,隻用機器自我對弈的棋譜,來訓練 ResNet,在短短 40 天內,AlphaGo Zero 就已經超越人類棋手的水平。這個速度,實在讓人驚艷。

ResNet 訓練好瞭以後,仍然用 Monte Carlo Tree Search,繼續讓機器自我對弈。隻不過把投子的策略,從均等概率的隨機投子,改為根據 ResNet 的指導,來決定下一手的投子位置。




論文配圖:MCTS 使用神經網絡模擬落子選擇的過程

具體策略如下,

根據當前棋面 S_{t},讓 ResNet 估算下一手可能的投子位置,a_{t+1},及其概率 P( a_{t+1} | S_{t} )。

下一手的投子位置,a_{t+1} 有多種,每一種位置的贏率 v(S_{t+1}) ,和投子概率 P( a_{t+1} | S_{t} ) 不同。贏率和投子概率越高,得分越高。

贏率 v(S_{t+1}) 和 投子概率 P( a_{t+1} | S_{t} ) ,是對以往棋譜的總結。而置信上限(Upper Confidence Bound,UCB ),是來鼓勵探索新的投子位置,越是以往很少投子的位置,UCB( a_{t+1} ) 得分越高。

綜合考慮下一手的棋面的贏率 v( S_{t+1} ),投子概率 P( a_{t+1} | S_{t} ) ,和置信上限 UCB( a_{t+1} ),給下一手的各個投子位置打分。取其中得分最高者,來指導 Monto Carlo Tree Search,決定下一個投子的位置。

用改進瞭投子策略的 Monte Carlo Tree Search,繼續讓機器自我對弈,這樣得到更多棋譜。然後,用這些棋譜,再次訓練 ResNet,提高贏率和投子概率的估算精度。如此循環重復,不斷提高 ResNet 的精度。

定式(Joseki)與投子位置熱力圖

投子概率 P( a_{t+1} | S_{t} ) ,反應瞭下一手投子位置的熱力圖。各個位置被投子的概率非常不均等,其中某些位置被投子的概率,比其它位置顯著地高。

這些位置,加上前面幾手的落子位置和相應的棋面,就是圍棋定式(Joseki)。




論文補充材料:訓練中AlphaGo Zero偏好的投子位置熱力圖

AlphaGo Zero 在五天以內,就通過機器自我對弈,總結出瞭常見的定式。

而人類發現這些定式,花費瞭幾百年。

更加令人驚艷的是,AlphaGo Zero 還發現瞭新的定式,而這些定式,人類迄今為止並沒有發現。


點擊查看大圖:在 2 小時時間限制下,AlphaGo Zero (20 個殘差模塊,訓練 3 天) 對戰 AlphaGo Lee 的 20 局,每局展示瞭前 100 步棋。

總結一下,AlphaGo Zero 的算法非常簡潔,Monte Carlo Tree Search + ResNet。

與傳統的 A* 算法比較一下,Monte Carlo Tree Search 隻是 A* 算法中的樹拓展的一種特例,而 ResNet 是 A* 算法中啟發函數的一種特例。

將深度強化學習和蒙特卡洛樹搜索用於智能醫療

除瞭下圍棋,深度強化學習和蒙特卡洛樹搜索已經用於智能醫療,給醫生推薦最佳後續化驗和檢查項目,補充病情描述,用最小的代價,找到診斷金指標,提高診斷精度。

11月8日,新智元AI World 2017世界人工智能大會,鄧侃博士將在 AI Industry 會場發表演講《多模態智能疾病診斷系統的四大技術難點》,該系統把 CNN、RNN、Attention、GAN、RL、MCTR、Knowledge Graph 等多種前沿技術融為一體,構建醫學智能診斷新體系。


鄧侃 大數醫達創始人

CMU計算機學院暨機器人研究所博士

鄧侃,上海交通大學本科及碩士,美國卡內基梅隆大學(CMU)計算機學院暨機器人研究所博士,專攻人工智能及數據挖掘。歷任美國甲骨文公司(Oracle)主任系統架構師,美國泰為手機導航公司(Telenav)北京分公司總經理,百度高級總監並主管網頁搜索和知識圖譜。2015年,鄧侃創建北京大數醫達科技有限公司,旨在將深度強化學習技術應用於醫療健康領域。

《多模態智能疾病診斷系統》演講重點介紹該系統以下 4 個方面的技術難點:

把多模態數據,都轉換成以醫療知識圖譜為軸心的語義向量,在同一個參照系下進行相互比較和交叉操作。

在知識圖譜為軸心的語義向量空間中,融合多模態數據,並使用生成對抗模型提供可行又可靠的質量評估方案。

用卷積神經網絡技術,從病情描述中提煉病情特征,用聚焦機制,從醫學知識圖譜中補充相應病理邏輯,優化疾病的診斷與驗證。

用深度強化學習和蒙特卡洛搜索樹技術,給醫生推薦最佳後續化驗和檢查項目,補充病情描述,用最小的代價,找到診斷金指標,提高診斷精度。

文章來源:微信公眾號新智元

(責任編輯:婁在霞 )


和訊網今天刊登瞭《【一文讀懂AlphaGo Zero算法】白話蒙特卡洛樹搜索和...》一文,關於此事的更多報道,請在和訊財經客戶端上閱讀。

台灣電動床工廠 電動床

台灣電動床工廠 電動床

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

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

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

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ako024ye84 的頭像
    ako024ye84

    典典的推薦天地

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