選單

人工智慧AlphaGo演算法是如何執行的,你真的瞭解嗎?

人工智慧AlphaGo演算法是如何執行的,你真的瞭解嗎?

圍棋

百度百科的定義中,阿爾法圍棋 (圍棋機器人、AlphaGo)是第一個擊敗人類職業圍棋選手、第一個戰勝圍棋世界冠軍的人工智慧機器人,由谷歌(Google)旗下DeepMind公司戴密斯·哈薩比斯領銜的團隊開發,其主要工作原理是“深度學習”(“深度學習”是指多層的人工神經網路和訓練它的方法)。

人工智慧AlphaGo演算法是如何執行的,你真的瞭解嗎?

AlphaGo對戰職業棋手

今天我們就來簡單講講AlphaGo的工作原理,不會很深入,目的是讓大家有所瞭解。

AlphaGo的演算法其實主要是“蒙特卡洛樹搜尋”與“卷積神經網路”,術語看起來超級高大上的,但其實都是非常好理解的東西。

先從功能上來說,蒙特卡洛演算法是用來確定下一步落子位置的。人類下棋的時候,第一憑經驗看準哪幾個落子點,然後再進行計算,得到最佳的落點,實際上和蒙特卡洛演算法是相同的方式。

再說的詳細一些,蒙特卡洛演算法的本質就是隨機:人們給AlphaGo記錄了好多棋譜,它自己也對弈了很多局,在對棋譜中,當前形勢下的落子可能性做了統計之後,根據棋譜中出現頻率比較高的勝招好棋,幫助它找最優解。

人工智慧AlphaGo演算法是如何執行的,你真的瞭解嗎?

蒙特卡洛樹

百科中是這樣說的:“一層神經網路會把大量矩陣數字作為輸入,透過非線性啟用方法取權重,再產生另一個數據集合作為輸出。這就像生物神經大腦的工作機理一樣,透過合適的矩陣數量,多層組織連結一起,形成神經網路“大腦”進行精準複雜的處理,就像人們識別物體標註圖片一樣。”當然這包括了我們接下來要說的,“卷積神經網路”。

人工智慧AlphaGo演算法是如何執行的,你真的瞭解嗎?

AlphaGo對戰李世石

卷積神經網路其實就是幫助計算機認識影象的。如果只是輸入一張圖片,人工智慧或者說計算機,只能感應到一堆畫素點,它要如何才能判斷照片裡的東西是什麼呢?這就是這個所謂的“卷積神經網路”演算法乾的事情。

人工智慧AlphaGo演算法是如何執行的,你真的瞭解嗎?

卷積神經網路

那麼這個演算法用在圍棋裡,就是幫助程式看到棋局了。每一次落子之後,形成的棋局盤面,就是一個影象資訊。計算機認識棋型、死活等這類事情,本質上都是影象資訊處理的過程。棋局評估也用到了這個,因此AlphaGo的估值、策略能力很準,從而能有效的判斷局勢並且選定落子,這就是AlphaGo比以前的圍棋軟體更厲害的原因。

人工智慧AlphaGo演算法是如何執行的,你真的瞭解嗎?

圍棋機器人

除此之外,我們已經提到了,AlphaGo圍棋機器人會自我學習,這是因為它會自己跟自己對弈,然後分析自己的棋譜,從而改變棋局評估的側重因素,以及在某些局勢下落子的機率。AlphaGo在覆盤過程中,能夠使某步棋的機率提高一些,從而讓最開始說的那個“蒙特卡洛演算法”更容易選中它,另外讓棋局評估系統認識這一局面,並把它判斷為“其實是一步好棋”。

說到這裡,大家是否有對圍棋機器人有一點了解了呢?

人工智慧AlphaGo演算法是如何執行的,你真的瞭解嗎?

與人工智慧下棋