圍棋包含了龐大的搜索空間,對于落子位置的評估難度遠超簡單的啟發式算法。那么,AlphaGo究竟是如何決定落子的呢?

AlphaGo采用了一種新穎的機器學習技術,結合了監督學習和強化學習的優勢。通過訓練形成一個策略網絡(policy network),將棋盤上的局勢作為輸入信息,并對所有可行的落子位置生成一個概率分布。然后,訓練出一個價值網絡(value network)對自我進行預測,以-1(對手的絕對勝利)到1(AlphaGo的絕對勝利)的標準,預測所有可行落子位置的結果。這兩個網絡自身都十分強大,而AlphaGo將這兩種網絡整合進基于概率的蒙特卡羅樹(MCTS)中,實現了它的優勢。

 

 

新版的AlphaGo產生大量自我對弈棋局,為下一代版本提供了訓練數據,此過程循環往復。

獲得棋局信息后,AlphaGo會根據策略網絡探索哪個位置同時具備高潛在價值和高可能性,進而決定最佳落子位置。在分配的搜索時間結束時,模擬過程中被系統最頻繁考察的位置將成為AlphaGo的最終選擇。在經過先期的全盤探索和過程中,以及對最佳落子的不斷揣摩后,AlphaGo的搜索算法就能在其計算能力之上加入近似人類的直覺判斷。

在業內人士看來,AlphaGo最強大的地方并不體現在具體某一手棋或某個局部變化中,而在于在每一局棋里的獨特視角,所以,其棋風本身并不容易總結。但總體來說,它更傾向于一種自由開放的行棋風格,沒有什么先入為主的概念,也沒有什么必須遵守的規則。這種對局哲學常讓它下出違反第一感但極具威力的一手棋?;诖?,柯潔覺得人類可以向它學習:“在人類的棋局中,可以大膽創新,大膽開拓自己的思維。”

AlphaGo究竟如何決定落子

圖文簡介

AlphaGo采用了一種新穎的機器學習技術,結合了監督學習和強化學習的優勢。通過訓練形成一個策略網絡,將棋盤上的局勢作為輸入信息,并對所有可行的落子位置生成一個概率分布。