無師自通!AlphaGo Zero是怎麼練成超越人類?

Deepmind 最近發佈了最新的論文公佈了 AlphaGo 在算法方面的進展,以及擴展到其他領域的近用性。網絡上對此討論熱度極高!這次 AlphaGo 負責人同時也是 Deepmind 深度學習組負責人 David Silver ,來到了美國一場在線問答活動回答網友們關於 AlphaGo Zero 的各種問題,非常有趣!就在昨晚,Deepmind 在 Reddit 的 Machine Learning 板舉辦了在線問答活動 AMA,Deepmind 深度學習組負責人 David Silver 和其同事熱情地回答了網友們提出的各種問題。由於在 AMA 前一天 Deepmind 剛剛發表了《Mastering the game of Go without human knowledge》(不使用人類知識掌握圍棋)的論文,相關的提問和討論也異常熱烈。
無師自通!AlphaGo Zero是怎麼練成超越人類?
什麼是 AMA?
AMA(Ask Me Anything)是由 Reddit 的特色節目,你也可以將其理解爲在線的「真心話大冒險」。AMA 一般會約定一個時間,並提前幾天天在 Reddit 上收集問題,回答者統一解答。
TO 編按:Reddit 其實講白話一點,就是美國版的 PTT 啦!

本次 Deepmind AMA 的回答人是:

David Silver:Deepmind 強化學習組負責人,AlphaGo 首席研究員。David Silver 1997 年畢業於劍橋大學,獲得艾迪生威斯利獎。David 於 2004 年在阿爾伯塔大學 (University of Alberta) 獲得計算器博士學位,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 問題中,我們還有很長的路要走啊。

關於論文的兩個問題:

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

Q:你認爲機器人甚麼時候能夠有效解決現實世界關於高度、尺寸方面的問題(例如,自己學習如何抓取任何形狀、尺寸、位置垃圾的設備)?策略梯度方法是否是實現這一目標的關鍵點?
Julian Schrittwieser:這主要是由於價值/政策網絡上的雙重改進,包括更好的訓練和更好的架構。體參見 TO 報導圖 1 對不同網絡架構的比較。

Q:據說擊敗柯潔的 ALphaGo Master 的功耗只是擊敗李世石的 AlphaGo Lee 的 1/10。你們做了什麼樣的優化呢?
Julian Schrittwieser:這主要是由於價值/政策網絡上的雙重改進,包括更好的訓練和更好的架構。具體參見 TO 報導圖 1 對不同網絡架構的比較。(雷鋒網按:你確認不是 copy 上一個問題的答案嗎)

Q:看起來在增強學習中使用或仿真 Agent 的長期記憶是一個很大的障礙。展望未來,您覺得我們是否能以一種新的思維方式解決這一點?還是說需要等待我們技術可以實現一個超級網絡?
Julian Schrittwieser:是的,長期記憶可能是一個重要的因子,例如在「星際爭霸」遊戲中,你可能已經做出了上千個動作,但你還要記住你派出的偵察兵。我認爲現在已經有了令人振奮的組件(神經圖靈機!),但是我認爲我們在這方面仍有很大的改進空間。

Q:David,我看過你的演講影片,你提到增強學習可以用於金融交易, 你有沒有真實世界的例子?你會如何處理黑天鵝事件(過去沒有遇到過的情況)?
David Silver:已經發表增強學習用於現實世界的財務算法的論文非常少見,但有一些經典論文值得一看,例如 Nevmyvaka、Kearns 在 2006 寫的那篇和 Moody、Safell 在 2001 年寫的那篇。

Q:你們和 Facebook 幾乎同時研究圍棋問題,你們能更快獲得大師級表現的優勢是什麼?對於那些無法獲得像 AlphaGo 如此多的訓練數據的領域如何開展機器學習或者增強學習?
David_Silver:Facebook 更側重於監督學習,我們選擇更多地關注強化學習,因爲我們認爲 AlphaGo 最終將超越人類的知識。我們最近的結果實際上表明,監督學習方法可以讓人大吃一驚,但強化學習絕對是遠遠超出人類水平的關鍵之處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章