會員登入
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
主選單


正在瀏覽:   1 名訪客






最強AlphaGo怎樣煉成? 看DeepMind團隊全面解讀
#1
管理員
Benutzerinformationen

2017年10月20日09:55 新浪綜合
資料圖

安妮 李林 發自 凹非寺
量子位 出品 | 公眾號 QbitAI

昨天AlphaGo再次震驚所有人。

剛剛,這個史上最強圍棋AI的兩位主要開發者,David Silver和Julian Schrittwieser,做客知名網站reddit,展開一場超級問答AMA(Ask Me Anything)。

他們是誰?

 左:Julian Schrittwieser 右:David Silver

比較關注AlphaGo的朋友對其中一位應該不會陌生,David Silver是AlphaGo團隊負責人,也是上一代AlphaGo的主要作者。從首爾到烏鎮,都有他的身影。關於David Silver我們在之前報道黃士傑的文章裡也有提及。

名字更長的Julian Schrittwieser,是這次新一代AlphaGo的三位並列主要作者之一,而且非常年輕。2013年,Schrittwieser本科畢業於奧地利的維也納技術大學;同年9月,Schrittwieser加入DeepMind。

此前DeepMind關於AlphaGo和星際2的研究論文中,Schrittwieser也都有參與。

OK,背景交代到這裡。

乾貨時間開始。

以下問答經過量子位(QbitAI)編輯整理。

最強AlphaGo是怎麼煉成的

提問:深度強化學習本來就是出了名的不穩、容易遺忘,請問你們是如何讓Zero的訓練如此穩定的?

下圖顯示了在自我對弈強化學習期間,AlphaGo Zero的表現。整個訓練過程中,沒有出現震盪或者災難性遺忘的困擾。

 

 

 引自AlphaGo Zero論文

David Silver:AlphaGo Zero所用的算法,與策略梯度、Q-learning之類的傳統(無模型)算法完全不同。通過使用AlphaGo搜索,我們大大改進了策略和自我對弈結果,然後用簡單的基於梯度的更新來訓練下一個策略和價值網絡。

這似乎比漸進的、基於梯度的策略改進要穩定得多,梯度策略可能會忘記之前的優化。

提問:為什麼這次AlphaGo Zero就訓練了40天?訓練3個月會怎麼樣?

David Silver:我想這是一個人力和資源優先級的問題。如果我們訓練了3個月,我想你還會好奇訓練6個月會發生什麼 :)

提問:看完論文我有個疑問,輸入維度那麼高好像完全沒必要,AlphaGo的residual block輸入維度為什麼是19×19×17?我不太理解為什麼每個玩家要用8個二值特徵plane。

David Silver:實際上,不是只有8 planes這一種選擇,用其他形式的表示可能也沒問題,但我們用了觀察值的堆疊歷史,有三個原因:

  1. 這和其他領域,比如說玩雅達利遊戲時的常見輸入表示一致;

  2. 我們需要一些歷史記錄來呈現ko;

  3. 歷史可以用來記錄對手最近在哪落過子,這些信息可以當作一種注意力機制來用,比如說集中在對手認為重要的位置上,第17個plane記錄的是我自己在用什麼顏色,因為有貼目規則,這個信息也很重要。

提問:你們發了AlphaGo論文之後,網友們說裡邊的算法實現起來不難,但很難達到你們那個訓練量;在計算機下象棋的圈子裡,開發者們也沒少複製其他程序的算法。你認為算法和數據哪個更重要?

Julian Schrittwieser:我認為還是算法更重要,比較一下新AlphaGo Zero和之前論文中的版本,新版效率有多高就知道了。另外,我認為我們在數據效率方面還能有更多提升。

提問:據說和柯潔對戰的AlphaGo,計算力的消耗只有對戰李世乭版本的十分之一。這中間做了怎樣的優化,能簡單說是AlphaGo的算法比之前提高了10倍嗎?

(量子位註:和柯潔對戰的AlphaGo Master,用了和Zero版一樣的算法和架構,不同之處在於引入了人類對局數據和特徵。)

Julian Schrittwieser:主要是因為改進了價值/策略網絡,訓練和架構都變得更好了,不同的網絡架構之間的對比如下圖所示:

提問:你們為什麼一開始選擇用人類對局數據來訓練AlphaGo,而不是通過自我對弈來從0開始?還是當時也嘗試了但效果不好呢?為什麼會這樣?我想知道,兩年前設計一個完全自學的AlphaGo瓶頸在哪?

David Silver:創造一個完全自學成才的系統,一直是強化學習中的一個開放式問題。我們一開始嘗試的方法,以及在文獻綜述部分提到的很多其他方法,都非常不穩定。我們做了很多實驗,最終發現,AlphaGo Zero的算法是最有效率的,好像攻克了這個特定的問題。

提問:為什麼在剛開始訓練的時候也要每局下1600步?這時候應該都是隨機的噪聲吧……先快速下很多盤隨機局,然後在網絡訓練得更好的時候,再進行更深的搜索不是更好嗎?

Julian Schrittwieser:一開始少下幾步可能也行,但在整個試驗中保持統一是一種比較簡明的做法。

提問:在輸入特徵上,用delta featurization可行嗎?

Julian Schrittwieser:神經網絡實在是很擅長用不同方式來表示同樣的信息,所以,是的,我認為用delta featurization應該也行。

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

David Silver:在某種意義上,AlphaGo的自我對弈訓練已經有了對抗:每次迭代都試圖找到上一代版本的「反策略」。

 左:Julian Schrittwieser 右:David Silver

為何成功者不是Facebook

提問:我聽說在AlphaGo開發初期,你們在訓練中人為向特定方向引導,來解決它在棋局中表現出來的弱點。現在它的能力已經超越人類認知了,會不會還需要人工調整,避免它落入局部最大化?你們有這個打算嗎?

David Silver:實際上,我們從來沒有為特定的弱點而人為引導過AlphaGo,而是一直專注於原則化的機器學習算法,讓算法自己學會糾正自己的錯誤。

想找到圍棋的最優解當然是不現實的,所以,弱點總是存在。在實踐中,用正確的探索方法來保證訓練沒有卡在局部最優解中非常重要,但我們沒有用上人為的引導。

提問:AlphaGo的研究中,最困難的是什麼?

David Silver:我們遇到的第一個大挑戰,是在跟李世乭比賽的時候。當時我們意識到,AlphaGo偶爾會產生「妄想」,也就是會系統地誤判盤面情況,並且持續數手。我們嘗試了很多想法來解決這個弱點。而引入更多圍棋知識,或者人類元知識一直是種誘惑。

但最終我們取得了巨大的成功,徹底解決了AlphaGo的問題。我們用的方法是,更多的依賴強化學習的力量,讓它自己找到更好的解決方案。

提問:AlphaGo在行棋時間安排上是怎麼考慮的?

David Silver:我們實際上用了一個相當直接的時間控制策略,基於自我博弈中勝率的簡單優化。當然可以應用更複雜的策略,性能也應該可以再提升一點點。

提問:NIPS論文Thinking Fast and Slow with Deep Learning and Tree Search也提出了和AlphaGo Zero類似的方法。

論文地址:https://arxiv.org/abs/1705.08439

David Silver:這的確和AlphaGo的策略算法很相似,不過我們還有個價值模塊。以及要澄清一下,在AlphaGo Zero論文4月7日提交給Nature的時候,那篇NIPS論文還沒公開。

提問:DeepMind和Facebook研究這個問題大概是在同一時間誒,是什麼讓AlphaGo這麼拿到了圍棋最高段位?

David Silver:Facebook更專注於監督學習,這是當時最厲害的項目之一。我們選擇更多地關注強化學習,是因為相信它最終會超越人類的知識。最近的研究結果顯示,只用監督學習的方法的表現力驚人,但強化學習絕對是超出人類水平的關鍵。

AlphaGo不開源,星際2還早

提問:你們有開源AlphaGo的計劃嗎?

David Silver:我們過去開源了不少代碼,但是開源這個過程總是很複雜。在AlphaGo這個問題上,非常不好意思,它的代碼庫實在是過於複雜了。

提問:烏鎮時說過的圍棋工具什麼時候發佈?

David Silver:這項工作一直在推進,敬請期待 :)

提問:AlphaGo Zero還在訓練麼?未來還會有突破麼?

David Silver:AlphaGo已經退役了!我們的人力和硬件資源,已經動身前往其他道阻且長的AI項目上了。

提問:AlphaGo Zero是最終版本的AlphaGo麼?

David Silver:我們已經不再主動研究如何讓AlphaGo變得更強,但它仍然是所有DeepMind同仁的研究測試平台,用於嘗試新的想法和算法。

提問:與圍棋相比,《星際2》有多難?AI打星際什時候能有新進展?

David Silver:前不久我們剛發佈了《星際2》的環境,現在相關研究還在相當早期的階段。《星際2》的行為空間顯然比圍棋大得多,需要監控的數據量也更大。從技術上來講,圍棋是一個完美信息博弈,而戰爭迷霧讓星際變成不完美信息博弈。

量子位插播一個延伸閱讀:

AI打星際2是怎麼回事?快看看這段6分鐘的視頻講解

關於AI研究

提問:AlphaGo在神經網絡的可解釋性方面有什麼進展?

David Silver:可解釋性對我們所有的系統來說都是有趣的問題,而不僅僅是AlphaGo。DeepMind內部正努力研究詢問系統的新方式。最近,他們的研究已經發表出來,主要是從認知心理學出發,來嘗試破譯神經網絡內部的情況。這項研究非常棒。

量子位插播一個延伸閱讀:

DeepMind新論文:用認知心理學方法打開深度學習的黑箱

提問:似乎使用或模擬強化學習智能體的長期記憶是一個很大瓶頸。展望未來,你是否相信我們即將以一種新的思維方式「解決」這個問題?

Julian Schrittwieser:你說的沒錯,長期記憶確實是個重要因素。例如,在星際爭霸的一場比賽中可能有上萬個動作,另外還得記住你偵察到的東西。

我認為目前已經有了很一顆賽艇的組件,比如神經圖靈機,但在這個領域,我們還將看到一些更令人印象深刻的進步。

提問:有沒有強化學習(RL)用在金融領域的案例?

David Silver:很難在公開發表的論文中找到真實世界的金融算法!但是有一些經典論文非常值得一讀,例如Nevmyvaka和Kearns在2006年發佈的研究、Moody和Safell在2001發佈的研究。

提問:不讀研也能在人工智能領域大有作為嗎?

Julian Schrittwieser:當然可以,我也只有計算機科學學士學位。這個領域發展很快,所以我認為你可以從閱讀論文和運行實驗中學習很多東西。在已經有過機器學習經驗的公司實習是對你的成長應該很有幫助。

提問:怎樣進入AI行業?我覺得「讀個PhD然後找工作」好像是個挺明顯的途徑,但是最常見的路徑不見得就是最好的吧……

Julian Schrittwieser:還有一種方法效果也不錯:挑一個有意思的問題,訓練很多神經網絡,探索它們的結構,然後你會發現一些效果很好的部分,去發表一篇論文,或者去參加會議展示你的成果。

不斷地重複這個過程。

這個圈子很好,會願意給你反饋,你也可以通過arXiv瞭解最近的研究。

關於圍棋

提問:現在國際象棋程序能給選手評分:通過棋步的分析,來推算Elo等級分。AlphaGo能在圍棋上搞這個嗎?

相關論文:https://www.cse.buffalo.edu/~regan/papers/pdf/ReHa11c.pdf

Julian Schrittwieser:這個想法很酷啊,感謝分享這篇論文!

我認為在圍棋上也能做這樣的事情,可能會通過計算最佳下法和實際下法之間的價值差異來實現,或者計算策略網絡下出實際下法的概率。等我有時間試試這個。

提問:關於對局中的第一手棋,我想問,AlphaGo會有一些你從未見過的開局嗎,比如10-10或5-3,或者走很奇怪的一步?如果沒有這種情況,那是出於「習慣」,還是有強烈的信念,3-3、3-4和4-4是優越的?

David Silver:在訓練中,我們看到AlphaGo探索了各種不同的動作——甚至在訓練開始時下出過1-1!即使在經過一段訓練後,Zero也嘗試過下6-4,但很快又回到了熟悉的3-4。

Julian Schrittwieser:實際上,在剛開始訓練AlphaGo Zero時,它完全是隨機的,例如在圖5的b部分中,你可以看到它實際上是在1-1點下出第一手!逐漸適應網絡後,隨著它變得更強大,它開始青睞4-4、3-4和3-3。

提問:現在AlphaGo能讓頂級圍棋選手几子?能讓柯潔兩子麼?

David Silver:我們還沒跟人類選手下過讓子棋,我們想專注在整場的圍棋比賽中。然而,在讓子條件下測試不同版本的AlphaGo很有用。在Zero的論文中我們提到了各個版本的棋力:AlphaGo Master > AlphaGo Lee > AlphaGo Fan,每個版本都讓三子擊敗了它的前一代。

值得注意的是,因為這些神經網絡沒有專門為讓子棋訓練過。此外,由於AlphaGo是自我對弈訓練的,特別擅長打敗自身較弱的版本。因此,我認為我們不能以任何有意義的方式將這些結果推廣到人類的讓子棋中。

提問:AlphaGo Zero會處理征子之類的問題嗎?你們是怎樣解決這類問題的?

David Silver:AlphaGo Zero並沒有特殊的特徵來處理征子,或者任何其他圍棋中的特定問題。在訓練早期,Zero偶爾會因為征子下滿棋盤,就算它對全局有很複雜的理解也沒用。但在我們分析的棋局中,經過完全訓練的Zero能正確識別所有無意義的征子。

提問:已經發佈的少量AlphaGo自我對弈棋局中,白棋勝率太高。是不是貼目應該降低?

Julian Schrittwieser:從我的經驗和實驗來看,貼7.5目非常平衡。我們只觀察到白棋的勝率略高一點(55%)。

提問:你們認為AlphaGo能解《發陽論》第120題嗎?(傳說中的「死活題最高傑作」)

David Silver:我們剛才去問了樊麾,他說AlphaGo能解這個問題,但更有意思的是,它會不會找到跟書裡一樣的答案?還是能給出一個之前誰也沒想到的解法?在AlphaGo的很多對局中,我們都看到了以人類經驗無法想像的下法。

提問:邁克·雷蒙(Michael Redmond,首位非東亞裔圍棋九段)認為AlphaGo會下出人類棋手不會有的惡手,而且學不會圍棋定式(深度程序知識)。

David Silver:我相信AlphaGo的「惡手」只有在影響全局勝利時才是問題。如果結局仍然是穩贏,真的是很差的一招麼?

AlphaGo已經學會很多人類的定式,也下出了自己的定式。現在職業棋手有時就在使用AlphaGo的定式 :)

提問:1846年,桑原秀策四段對弈幻庵因碩八段,其中著名的是第127手。AlphaGo怎麼看這手棋?AlphaGo會怎麼下?

Julian Schrittwieser:我不是圍棋專家,但是我們問了樊麾,他說:

當年比賽的時候,還沒有貼目這一說。現在,AlphaGo採用的都是貼7.5目的規則。貼目讓對弈過程完全改變。至於第127手,AlphaGo很有可能會選擇不同的下法。

提問:還會再和職業棋手下棋嗎?

Julian Schrittwieser:我們五月份說過,烏鎮那場就是AlphaGo的最後一次比賽了。


10/20 15:25
生成PDF文件 列印







可以查看文章。
不可發文。
不可回復。
不可編輯自己的文章。
不可刪除自己的文章。
不可發起投票調查。
不可在投票調查中投票。
不可上傳附件。
不可不經審核直接發文。
不可使用主題類別。
不可使用HTML語法。
不可使用簽名檔。

[高級搜索]


Powered by XOOPS © 2001-2015 The XOOPS Project