AlphaGo原理淺析
一、總結
一句話總結:
正如人類下棋那般【“手下一步棋,心想三步棋”】,Alphago也正是這個思想
【當處於一個狀態時,機器會暗地里進行多次的嘗試/采樣】,並基於反饋回來的結果信息改進估值函數,從而最終通過增強版的估值函數來選擇最優的落子動作。
1、AlphaGo的三大核心模塊(正如人類下棋那般“手下一步棋,心想三步棋”,Alphago也正是這個思想)?
【(1)如何確定估值函數(2)如何進行采樣(3)如何基於反饋信息改進估值函數】
對應:【深度學習、蒙特卡羅搜索樹、強化學習】
2、AlphaGo的三大核心模塊一:深度學習(擬合估值函數)?
由於圍棋的狀態空間巨大,像蒙特卡羅強化學習那樣【通過采樣來確定值函數就行不通】了。
在圍棋中,狀態值函數可以看作為一種局面函數,狀態-動作值函數可以看作一種策略函數,若我們能獲得這兩個估值函數,便可以根據這兩個函數來完成:【(1)衡量當前局面的價值;(2)選擇當前最優的動作】。
那如何精確地估計這兩個估值函數呢?這就用到了【深度學習】,【通過大量的對弈數據自動學習出特征,從而擬合出估值函數】。
3、AlphaGo的三大核心模塊二:蒙特卡羅搜索樹(采樣)?
【蒙特卡羅樹】是一種經典的【搜索框架】,它通過【反復地采樣模擬對局來探索狀態空間】。
具體表現在:【從當前狀態開始,利用策略函數盡可能選擇當前最優的動作,同時也引入隨機性來減小估值錯誤帶來的負面影響,從而模擬棋局運行,使得棋盤達到終局或一定步數后停止】。
4、AlphaGo的三大核心模塊三:強化學習(調整估值函數)?
在使用【蒙特卡羅搜索樹】進行【多次采樣】后,每次采樣都會反饋后續的局面信息(利用局面函數進行評價),
【根據反饋回來的結果信息自動調整兩個估值函數的參數】,這便是強化學習的核心思想,最后基於改進后的策略函數選擇出當前最優的落子動作。
二、AlphaGo原理淺析
本篇一開始便提到強化學習是AlphaGo的核心技術之一,剛好借着這個東風將AlphaGo的工作原理了解一番。正如人類下棋那般“手下一步棋,心想三步棋”,Alphago也正是這個思想,當處於一個狀態時,機器會暗地里進行多次的嘗試/采樣,並基於反饋回來的結果信息改進估值函數,從而最終通過增強版的估值函數來選擇最優的落子動作。
其中便涉及到了三個主要的問題:(1)如何確定估值函數(2)如何進行采樣(3)如何基於反饋信息改進估值函數,這正對應着AlphaGo的三大核心模塊:深度學習、蒙特卡羅搜索樹、強化學習。
1.深度學習(擬合估值函數)
由於圍棋的狀態空間巨大,像蒙特卡羅強化學習那樣通過采樣來確定值函數就行不通了。在圍棋中,狀態值函數可以看作為一種局面函數,狀態-動作值函數可以看作一種策略函數,若我們能獲得這兩個估值函數,便可以根據這兩個函數來完成:(1)衡量當前局面的價值;(2)選擇當前最優的動作。那如何精確地估計這兩個估值函數呢?這就用到了深度學習,通過大量的對弈數據自動學習出特征,從而擬合出估值函數。
2.蒙特卡羅搜索樹(采樣)
蒙特卡羅樹是一種經典的搜索框架,它通過反復地采樣模擬對局來探索狀態空間。具體表現在:從當前狀態開始,利用策略函數盡可能選擇當前最優的動作,同時也引入隨機性來減小估值錯誤帶來的負面影響,從而模擬棋局運行,使得棋盤達到終局或一定步數后停止。
3.強化學習(調整估值函數)
在使用蒙特卡羅搜索樹進行多次采樣后,每次采樣都會反饋后續的局面信息(利用局面函數進行評價),根據反饋回來的結果信息自動調整兩個估值函數的參數,這便是強化學習的核心思想,最后基於改進后的策略函數選擇出當前最優的落子動作。
轉自:https://blog.csdn.net/weixin_42067668/article/details/88358985