Deepmind AMA:關於最強 AlphaGo 如何煉成的真心話,都在這裡回答了!

Deepmind 在 Reddit 的 Machine Learning 討論區舉辦了線上問題活動 AMA,Deepmind 強化學習組負責人 David Silver 和其同事熱情地回答了網友們提出的各種問題。
評論
評論

本文獲合作媒體 雷鋒網 授權轉載,作者 岑大師

Deepmind 在 Reddit 的 Machine Learning 討論區舉辦了線上問題活動 AMA,Deepmind 強化學習組負責人 David Silver 和其同事熱情地回答了網友們提出的各種問題。由於在 AMA 前一天 Deepmind 剛剛發表了《Mastering the game of Go without human knowledge》(不使用人類知識制霸圍棋)的論文,相關的提問和討論也異常熱烈。

什麼是 AMA?

AMA(Ask Me Anything)是由 Reddit 的特色專欄,你也可以將其理解為線上的「真心話大冒險」。AMA 一般會約定一個時間,並提前好幾天在 Reddit 上收集問題,回答者統一解答。

本次 Deepmind AMA 的回答人是:

David Silver:Deepmind 強化學習組負責人,AlphaGo 首席研究員。David Silver 在 1997 年畢業於劍橋大學,獲得艾迪生威斯利獎。David 於 2004 年在阿爾伯塔大學獲得計算機博士學位,2013 年加盟 DeepMind,是 AlphaGo 計畫的主要技術負責人。

Julian Schrittwieser:Deepmind 高級軟體工程師。

之前有多位機器學習界的大神/公司在 Reddit Machine Learning 討論區開設 AMA,包括:Google Brain Team、OpenAI Research Team 、Andrew Ng and Adam Coates、Jürgen Schmidhuber、Geoffrey Hinton、Michael Jordan 、Yann LeCun、Yoshua Bengio 等。

本文從今天 Deepmind 的 AMA 中選取了一些代表性的問題,整理如下:

關於論文與技術細節

Q: Deepmind Zero 的訓練為什麼如此穩定?深層次的增強學習是不穩定和容易遺忘的,自我對局也是不穩定和容易遺忘的,如果沒有一個好的基於模仿的初始化狀態和歷史檢查點,二者結合在一起應該是一個災難.. . 但 Zero 從零開始,我沒有看到論文中有這部分的內容,你們是怎麼做到的呢?

David Silver:在深層增強學習上,AlphaGo Zero 與典型的無模式算法(如策略梯度或者 Q 學習)採用的是完全不同的算法。通過使用 AlphaGo 搜尋,我們可以極大改進策略和自我對局的結果,然後我們會用簡單的、基於梯度的更新來訓練下一個策略及價值網絡。比起基於簡便梯度的策略進行改進,這樣的做法會更加穩定。

Q:我注意到 ELO 等級分成長的數據只給到第 40 天,是否是因為論文截稿的原因?或者說之後 AlphaGo 的數據不再顯著改善嗎?

David Silver:其實是因為 AlphaGo 已經退役了!這意味著我們將人員和硬體資源轉移到其他 AI 問題中,我們還有很長的路要走。

Q: 關於論文的兩個問題:

Q1:您能解釋為什麼 AlphaGo 的殘差塊輸入尺寸為 19x19x17 嗎?我不知道為什麼每個對局者需要用 8 個堆疊的二進制特徵層來描述?我覺得 1、2 層就夠了啊!雖然我不是 100% 理解圍棋的規則,但 8 層看起來也多了點吧?

Q2:由於整個通道使用自我對局與最近的/最好的模型進行比較,你們覺得這對於採用參數空間的特定 SGD 驅動軌跡對否會有過度訓練的風險?

David Silver:說起來使用表徵可能比現在用的 8 層堆疊的做法更好!但我們使用堆疊的方式觀察歷史數據有三個原因:1)它與其他領域的常見輸入一致;2)我們需要一些歷史狀態來表示被 KO;3)如果有一些歷史數據,我們可以更好地猜測對手最近下的位置,這可以作為一種關注機制(注:在圍棋中,這叫“敵之要點即我之要點”),而第 17 層用於標註我們現在究竟是執黑子還是白子,因為要考慮貼目的關係。

Q:有了強大的棋類引擎,我們可以給玩家一個評級——例如 Elo 圍棋等級分就是通過棋手對局的分析逐步得出的,那麼 AlphaGo 是否可以對過去有等級分前的棋手的實力進行分析?這可能為研究人類的認知提供一個平台。

Julian Schrittwieser:感謝分享,這個主意很棒!

我認為在圍棋中這完全可以做到,或許可以用最佳應對和實際應對的價值差異或者政策網絡給每一手位置評估得到的機率來進行?我有空的時候試一下。

Q: 既然 AlphaGo 已經退役了,是否有將其開源的計劃?這將對圍棋社區和機器學習研究產生巨大的影響。還有,Hassabis 在烏鎮宣稱的圍棋工具將會什麼時候發布?

David Silver:現在這個工具正在準備中。不久後你就能看到新的消息。

Q:AlphaGo 開發過程中,在系統架構上遇到的最大障礙是什麼?

David Silver:我們遇到的一個重大挑戰是在和李世乭比賽的時候,當時我們意識到 AlphaGo 偶爾會受到我們所謂的“妄想”的影響,也就是說,程式可能會錯誤理解當前盤面局勢,並在錯誤的方向上持續許多步。我們嘗試了許多方案,包括引入更多的圍棋知識或人類元知識來解決這個問題。但最終我們取得了成功,從 AlphaGo 本身解決了這個問題,更多地依靠強化學習的力量來獲得更高品質的解決方案。

圍棋愛好者的問題

Q:1846 年,在十四世本因坊跡目秀策與十一世井上幻庵因碩的一盤對局中,秀策下的第 127 手讓幻庵因碩一時驚急兩耳發赤,該手成為扭轉敗局的“耳赤一手”。如果是 AlphaGo,是否也會下出相同的一首棋?

Julian Schrittwieser:我問了樊麾,他的回答是這樣的:

當時的圍棋不貼目,而 AlphaGo 的對局中,黑棋需貼 7.5 目。貼目情況不同造成了古今棋局的差異,如果讓 AlphaGo 穿越到當年下那一手,很有可能下的是不同的另一個地方。

Q:從已發布的 AlphaGo 相互對局看,執白子的時間更為充裕,因而不少人猜測,7.5 目的貼目太高了(注:現代圍棋的貼目數也在不斷變化,如在 30 年前,當時通行的是黑子貼白子 5.5 目)。

如果分析更大的資料集,是否可以對圍棋的規則得出一些有趣的結論?(例如,執黑或者執白誰更有優勢,貼目應該更高還是更低)

Julian Schrittwieser:從我的經驗和運行的結果看,7.5 目的貼目對雙方來說是均勢的,黑子的勝率略高一些(55% 左右)。

Q:你能給我們講一下第一手的選擇嗎?ALphaGo 是否會下出我們前所未見的開局方式?比如說,第一手下在天元或者目外,甚至更奇怪的地方?如果不是,這是否是一種“習慣”,或者說 AlphaGo 有強烈的“信念”認為星位、小目、三三是更好的選擇?

David Silver:在訓練中我們看到 AlphaGo 嘗試過不同方式的開局——甚至剛開始訓練的時候有過第一手下在一一!即便在訓練後期,我們仍然能看到四、六位超高目的開局,但很快就恢復到小目等正常的開局了。

Q:作為 AlphaGo 的超級粉絲,有一個問題一直在我心中:AlphaGo 可以讓職業棋手多少子?從論文中我們知道 AlphaGo 可以下讓子棋,我也知道 AlphaGo 恐怕讓不了柯潔兩子,但我想你們一定很好奇,你們是否有做內部測試?

David Silver:我們沒有和人類棋手下讓子棋。當然,我們在測試不同版本的時候下過讓子棋,在 AlphaGo Master>AlphaGo Lee>ALphaGo Fan 這三個版本中,後一個版本均可讓三子擊敗前一個版本。但是,因為 AlphaGo 是自我訓練的,所以尤其擅長打敗自己的較弱的前一版本,因此我們不認為這些訓練方式可以推廣到和人類選手的讓子棋中。

Q:你們有沒有想過使用生成對抗網絡(GAN)?

David Sliver:從某種意義來講,自我對弈就是對抗的過程。每一次結果的迭代都是在試圖找到之前版本的“反向策略”。

留言終結者

Q:我聽說 AlphaGo 在開發初期被引導在某一個具體的方向訓練以解決對弈中展現出的弱點。現在它的能力已經超過了人類,是否需要另外的機制來進一步突破?你們有做了什麼樣的工作?

David Silver:實際上,我們從未引導過 AlphaGo 來解決具體的弱點。我們始終專注於基礎的機器學習演算法,讓 AlphaGo 可以學習修復自己的弱點。

當然你不可能達到 100% 的完美,所以缺點總會存在。在實踐中,我們需要通過正確的方法來確保訓練不會落入局部最優的陷阱,但是我們從未使用過人為的推動。

關於 DeepMind 公司

Q:我這裡有幾個問題:在 DeepMind 工作是什麼感受?AlphaGo 團隊成員都有誰?你能介紹一下 AlphaGo 團隊工作分配的情況嗎?下一個重大挑戰是什麼?

David Silver:在 DeepMind 工作感覺好極了:)——這不是一個招聘廣告,但我感覺每天可以在這裡做我喜歡的事實在是太幸運了。有很多(多到忙不過來!:))很酷的計畫去參與。

我們很幸運有許多大神在 AlphaGo 工作。您可以通過查看相應的作者列表來獲取更詳細的資訊。

Q: 你覺得計算機科學本科生是否可以在人工智慧領域取得成功?

Julian Schrittwiese:當然。我本人就只有計算機科學學士學位,這一領域變化迅速,我認為你可以從閱讀最新的論文和試驗中來進行自學。另外,去那些做過機器學習計畫的公司實習也是很有幫助的。

關於演算法的擴展和其他計畫

Q:Hassabis 今年三月份在劍橋的一個演講中表示,AlphaGo 計畫未來目標之一是對神經網絡進行解釋。我的問題是:AlphaGo 在神經網絡結構上取得了什麼樣的進展?或者說,對 AlphaGo,神經網絡仍然是神秘的黑盒子嗎?

David Silver:不僅僅是 AlphaGo,可解釋性是我們所有計畫的一個非常有意思的課題。Deepmind 內部有多個團隊從不同方式來探索我們的系統,最近有團隊發表了基於認知心理學技術去嘗試破譯匹配網絡內部發生了什麼,效果非常不錯!

Q: 很高興看到 AlphaGo Zero 的好成績。我們的一篇 NIPS 論文中也提到了對於深度學習和搜尋樹之間效率的相似問題,因此我對於在更長的訓練過程中的行為尤其感興趣。

AlphaGo 的訓練過程中,創建學習目標的蒙地卡羅樹搜尋的貪婪演算法、策略網絡的貪婪演算法、以及在訓練過程中價值功能變化的貪婪演算法之間的相對表現如何?這種自我對局學習的方法是否可以應用在最近的星際爭霸 II API 中?

David Silver:感謝介紹您的論文!真不敢相信這篇論文在我們 4 月 7 日投稿的時候已經發布了。事實上,它與我們的學習算法的策略組件非常相似(儘管我們也有一個值組件),您可以參考我們的方法和強化學習中的討論,也很高興看到在其他遊戲中使用類似方法。

Q:為什麼早期版本的 AlphaGo 沒有嘗試自我對弈?或者說,AlphaGo 之前也嘗試過自我對弈但效果不好?

我對這個領域的發展和進步程度感到好奇。相比起今天,在兩年前在設計一個自主訓練的 AlphaGo 的瓶頸在哪裡?今天我們見到的“機器學習直覺”又是經歷了什麼樣的系統迭代過程?

David Silver:創建一個可以完全從自我學習的系統一直是加強學習的一個開放性問題。我們最初的嘗試包括你能查到的許多類似的算法,是相當不穩定的。我們做了很多嘗試,最終 AlphaGo Zero 演算法是最有效的,而且似乎已經破解了這個特定的問題。

Q:你認為機器人甚麼時候能夠有效解決現實世界關於高度、尺寸方面的問題(例如,自己學習如何抓取任何形狀、尺寸、位置垃圾的設備)?策略梯度方法是否是實現這一目標的關鍵點?

Julian Schrittwieser:這主要是由於價值/政策網絡上的雙重改進,包括更好的訓練和更好的架構。具體參見論文圖 4 對不同網絡架構的比較。

Q:據說擊敗柯潔的 AlphaGo Master 的功耗只是擊敗李世乭的 AlphaGo Lee 的 1/10。你們做了什麼樣的優化呢?

Julian Schrittwieser:這主要是由於價值/政策網絡上的雙重改進,包括更好的訓練和更好的架構。具體參見論文圖 4 對不同網絡架構的比較。(按:你確認不是 copy 上一個問題的答案嗎?)

Q:看起來在增強學習中使用或模擬 Agent 的長期記憶是一個很大的障礙。展望未來,您覺得我們是否能以一種新的思維方式解決這一點?還是說需要等待我們技術可以實現一個超級網絡?

Julian Schrittwieser:是的,長期記憶可能是一個重要的因子,例如在“星際爭霸”遊戲中,你可能已經做出了上千個動作,但你還要記住你派出的偵察兵。

我認為現在已經有了令人振奮的組件(神經圖靈機!),但是我認為我們在這方面仍有很大的改進空間。

Q:David,我看過你的演講影片,你提到增強學習可以用於金融交易, 你有沒有真實世界的例子?你會如何處理黑天鵝事件(過去沒有遇到過的情況)?

David Silver:已經發表增強學習用於現實世界的財務算法的論文非常少見,但有一些經典論文值得一看,例如 Nevmyvaka、Kearns 在 2006 寫的那篇和 Moody、Safell 在 2001 年寫的那篇。

Q:你們和 Facebook 幾乎同時研究圍棋問題,你們能更快獲得大師級表現的優勢是什麼?

對於那些無法獲得像 AlphaGo 如此多的訓練數據的領域,如何開展機器學習或者增強學習?

David_Silver:Facebook 更側重於監督學習,我們選擇更多地關注強化學習,因為我們認為 AlphaGo 最終將超越人類的知識。我們最近的結果實際上表明,監督學習方法可以讓人大吃一驚,但強化學習絕對是遠遠超出人類水平的關鍵之處。