選自DeepMind
機器之心編譯
在今年五月擊敗柯潔之後,AlphaGo 並沒有停止自己的發展。昨天,DeepMind 在《自然》雜誌上發表了一篇論文,正式推出 AlphaGo Zero——人工智慧圍棋程式的最新版本。據稱,這一版本的 AlphaGo 無需任何人類知識標註,在歷時三天,數百萬盤的自我對抗之後,它可以輕鬆地以 100 比 0 的成績擊敗李世乭版本的AlphaGo。DeepMind 創始人哈薩比斯表示:「Zero 是迄今為止最強大,最具效率,最有通用性的 AlphaGo 版本——我們將見證這項技術很快應用到其他領域當中。」
人工智慧研究已經在多個領域取得飛速進展,從語音識別、影像分類到基因組學和藥物研發。在很多情況下,這些是利用大量人類專業知識和資料的專家系統。
但是,人類知識成本太高,未必可靠,或者只是很難獲取。因此,AI 研究的一個長久目標就是跨國這一步,建立在最有難度的領域中無需人類輸入就能達到超人效能的演算法。在我們最近發表在 Nature 上的論文中,我們展示了通往該目標的關鍵一步。
這篇文章介紹了 AlphaGo Zero,AlphaGo 的最新版本。AlphaGo 曾打敗圍棋世界冠軍,Zero 甚至更強大,可以說是歷史上最強的圍棋選手。
之前的 AlphaGo 版本首先基於數千場人類圍棋比賽來訓練如何學習圍棋。但 AlphaGo Zero 跳過了這一步,從自己完全隨機的下圍棋開始來學習圍棋。通過這種方式,它快速超越了人類棋手的水平,並且以 100:0 的比分打敗了之前戰勝世界冠軍的 AlphaGo。
AlphaGo Zero 利用新型強化學習完成這樣的壯舉,在訓練過程中它是自己的老師。該系統的神經網路最初對圍棋一無所知,然後它通過將該神經網路與強大的搜尋演算法結合進行自我對弈。神經網路在下棋過程中得到調整和更新,來預測棋招和比賽的最終勝者。
更新後的神經網路重新與搜尋演算法連線,建立新的更強大的 AlphaGo Zero,然後重複上述流程。每次迭代中,系統的效能取得小幅上升,自我對弈的比賽質量不斷上升,帶來更加準確的神經網路和歷史最強的 AlphaGo Zero 版本。
這項技術比起前幾個版本的 AlphaGo 更加強大,因為它不再受人類知識極限的約束。相反,它從一張白紙的狀態開始,和世界最強的圍棋選手 AlphaGo(它自己)學習下棋。
它與之前的版本在以下幾個方面存在差異:
-
AlphaGo Zero 只需要圍棋棋盤中的黑子和白子作為輸入,而前幾個版本的 AlphaGo 還包括少量手工設計的特徵。
-
它只有一個神經網路,而再不是兩個。早期幾個版本的 AlphaGo 使用「決策網路」選擇下一步棋的位置,使用「價值網路」預測每一個位置上決定的勝者。這兩個網路在 AlphaGo Zero 中被結合起來,從而使其更高效地訓練和評估賽況。
-
AlphaGo Zero 不使用「rollouts」(其它圍棋程式使用的快速、隨機的下棋方式,以從當前的棋盤位置分佈預測哪一個棋手會贏),取而代之,它依靠其優質的神經網路評估下棋位置。
所有這些區別都有助於提高系統的效能,並使其更加一般化,然而演算法上的變化才是系統更加強大和高效的重要原因。
由於硬體和演算法的進步才使得 AlphaGo 能持續地變得越來越高效——Zero 版本只需 4 塊 TPU 即可執行。
僅僅經過三天的自我對抗訓練,AlphaGo Zero很乾脆地以100:0的戰績打敗了之前的AlphaGo版本(它曾18次擊敗世界冠軍李世石)。又經過40天的自我對抗訓練,AlphaGo Zero變得更加強大,甚至優於打敗世界頭號選手柯潔的AlphaGo版本「Master」。
等級分排名(在圍棋等競爭性比賽中對選手的相關技巧的水平的度量):顯示 AlphaGo 如何在發展過程中逐漸變得強大。
在幾百萬盤 AlphaGo 自我博弈的競賽之後,系統在嘗試中逐漸學會了圍棋遊戲,在短短几天內積累了人類數千年的知識。AlphaGo Zero 同時還發現了新的知識,發展出非常規和具有創意性的下法,這些技術已經超越了此前 AlphaGo 與李世石和柯潔對弈時展現的水平。
AlphaGo 展現的創造力讓我們有理由相信人工智慧將會成為人類智慧的放大器,幫助我們實現自己的使命,去解決人類面臨的最具挑戰的問題。
儘管 AlphaGo Zero 仍然在發展初期,但是它完成了通向該目標的關鍵一步。如果類似的技術可以應用到蛋白質摺疊等其他結構化問題中,減少能量消耗或搜尋最新的材料,則它帶來的突破有可能給整個社會帶來積極的影響。
論文:Mastering the game of Go without human knowledge
論文地址:https://deepmind.com/documents/119/agz_unformatted_nature.pdf
長期以來,人工智慧有一個目標就是演算法能夠在難度較高的領域從零開始學得超人的效能。近期,AlphaGo 成為在圍棋領域第一個打敗人類世界冠軍的程式。AlphaGo 中的樹搜尋使用深度神經網路評估位置,選擇棋招。這些神經網路通過監督學習從人類專家的棋招中學習,然後通過強化學習進行自我對弈。本文,我們介紹一種演算法,該演算法僅依靠強化學習,不使用遊戲規則以外的人類資料、指導或領域知識。AlphaGo 成為自己的老師:我們訓練一種神經網路來預測 AlphaGo 的下一步以及 AlphaGo 遊戲的獲勝者。該神經網路提升樹搜尋的能力,帶來下一次迭代中更高質量的棋招選擇和更強大的自我對弈。新程式 AlphaGo Zero 從頭開始學習,並達到了超人的效能,以 100-0 的比分打敗曾經戰勝人類世界冠軍的 AlphaGo。
AlphaGo Zero 所採用的神經網路是一種新穎的強化學習演算法,即自我對抗(self-play)的競爭性訓練。此前,OpenAI 曾發表論文表示自我對抗訓練可以在簡單環境下產生遠超環境複雜度的行為。而這一次 AlphaGo Zero 和此前 AlphaGo Fan 與 AlphaGo Lee 的很大區別就是採用了這種自我對抗式的訓練策略。
圖 1:AlphaGo Zero 中的自我對抗強化學習
a:AlphaGo Zero 和自己進行 s_1,…,s_T 對弈。在每一個位置 s_t 處使用最新的神經網路 f_θ執行蒙特卡羅樹搜尋(MCTS)α_θ(見圖 2)。根據 MCTS 計算的搜尋概率選擇棋招(a_t ∼ π_t)。最終位置 s_T 的得分根據遊戲規則計算,進而計算遊戲獲勝者 z。b: AlphaGo Zero 中的神經網路訓練。神經網路使用原始棋盤位置 s_t 作為輸入,使用引數θ將其傳播通過多個卷積層,然後輸出代表棋招概率分佈的向量 p_t,和代表當前選手在 s_t 獲勝的概率標量值 v_t。神經網路的引數θ得到更新以最大化策略向量 p_t 和搜尋概率π_t 的相似性,並將預測獲勝者 v_t 和獲勝者 z 之間的誤差最小化(見公式 1)。新的引數將在下一次迭代的自我對抗中使用。
根據神經網路 f_θ,在每一個位置 s 處執行 MCTS 搜尋。
圖2:AlphaGo Zero中的MCTS。
a:每一次模擬通過選擇最大化行動價值Q的邊來遍歷整棵樹,加上上面的(依賴於一個已儲存的先驗概率P)置信邊界U,並訪問邊的總數N(每遍歷一次增加1)。
b,葉結點得到擴充套件,並且相關的位置由神經網路 (P(s, ·),V(s)) = f_θ(s)評估;P值的向量儲存在s的外向邊(outgoing edges)中。
c,行動價值Q被更新以追蹤當前行動下的子樹的所有評估V的平均值。
d,一旦搜尋完成,會返回搜尋概率值(search probabilities)π,和N^(1/τ)成比例,其中N是每一次行動自根狀態(root state)以來的訪問總數,τ是控制溫度(temperature)的引數。
b,葉結點得到擴充套件,並且相關的位置由神經網路 (P(s, ·),V(s)) = f_θ(s)評估;P值的向量儲存在s的外向邊(outgoing edges)中。
c,行動價值Q被更新以追蹤當前行動下的子樹的所有評估V的平均值。
d,一旦搜尋完成,會返回搜尋概率值(search probabilities)π,和N^(1/τ)成比例,其中N是每一次行動自根狀態(root state)以來的訪問總數,τ是控制溫度(temperature)的引數。
本文為機器之心編譯,轉載請聯絡本公眾號獲得授權。