13
機器人
李開複:人工智能不是萬能;AlphaGoZero創造者:星際爭霸2比圍棋更有難度
李開複
創新工場 董事長
我的觀點是:一是AI前進的速度比想象中更快,即便是行業內的人士都被AlphaGo Zero跌破眼鏡;二是要正視中國在人工智能學術方麵和英美的差距。
一方麵,AlphaGo Zero的自主學習帶來的技術革新並非適用於所有人工智能領域。圍棋是一種對弈遊戲,是信息透明,有明確結構,而且可用規則窮舉的。對弈之外,AlphaGo Zero的技術可能在其他領域應用,比如新材料開發,新藥的化學結構探索等,但這也需要時間驗證。而且語音識別、圖像識別、自然語音理解、無人駕駛等領域,數據是無法窮舉,也很難完全無中生有。AlphaGo Zero的技術可以降低數據需求(比如說WayMo的數據模擬),但是依然需要大量的數據。
另一方麵,AlphaGo Zero裏麵並沒有新的巨大的理論突破。它使用的Tabula Rosa learning(白板學習,不用人類知識),是以前的圍棋係統Crazy Stone最先使用的。AlphaGo Zero裏麵最核心使用的技術ResNet,是微軟亞洲研究院的孫劍發明的。孫劍現任曠視科技Face++首席科學家。
雖然如此,這篇論文的影響力也是巨大的。AlphaGo Zero 能夠完美集成這些技術,本身就具有裏程碑意義。DeepMind的這一成果具有指向標意義,證明這個方向的可行性。
在科研工程領域,探索前所未知的方向是困難重重的,一旦有了可行性證明,跟隨者的風險就會巨幅下降。我相信從昨天開始,所有做圍棋對弈的研究人員都在開始學習或複製AlphaGo Zero。材料、醫療領域的很多研究員也開始探索。
AlphaGo Zero的工程和算法確實非常厲害。但千萬不要對此產生誤解,認為人工智能是萬能的,所有人工智能都可以無需人類經驗從零學習,得出人工智能威脅論。AlphaGo Zero證明了AI 在快速發展,也驗證了英美的科研能力,讓我們看到在有些領域可以不用人類知識、人類數據、人類引導就做出頂級的突破。
但是,AlphaGo Zero隻能在單一簡單領域應用,更不具有自主思考、設定目標、創意、自我意識。即便聰明如AlphaGo Zero,也是在人類給下目標,做好數字優化而已。
AlphaGoZero創造者:星際爭霸2比圍棋更有難度
AlphaGo Zero創造者
選自Reddit
機器之心編譯
昨日,DeepMind 在《自然》雜誌上發表了一篇論文,正式推出人工智能圍棋程序 AlphaGo 的最新版本 AlphaGo Zero。同時,在 DeepMind 發布的官方博客中,DeepMind 強化學習團隊負責人、AlphaGo 項目負責人 David Silver 視頻介紹了最新的 AlphaGo Zero。今天,David Silver 與團隊另一成員 Julian Schrittwieser 代表 AlphaGo 創造者在 Reddit 上回答了讀者的一係列問題。本文對這些問答作了編譯介紹。
以下為 David Silver 與 Julian Schrittwieser 代表 AlphaGo 創造團隊在 Reddit 上的問答:
1。 為什麼 AlphaGo Zero 的訓練如此穩定?深度強化學習極其不穩定且易於遺忘,自我對弈(self-play)也是,兩者的結合如果沒有很好的(基於模仿的)初始化和大量人類棋譜將是一個災難。但是 AlphaGo Zero 從零開始,並且沒有借助人類棋譜來防止遺忘或死循環。論文對於這點沒有涉及,因此你們是如何做到的?
David Silver:相較於典型的(無模型)算法,如策略梯度或者 Q 學習,AlphaGo Zero 采用了一種相當不同的深度強化學習方法。借助 AlphaGo 搜索,我們顯著提升了策略和自我對弈的結果,接著我們使用簡單的基於梯度的更新訓練下一個策略+價值網絡。這要比累加的、基於梯度的策略提升更加穩定,並且不會遺忘先前的成果。
2。 你認為 AlphaGo 能解決 Igo Hatsuyoron 120 這個‘史上最難死活題’嗎?即贏取一個給定的中局或者確定一個現有解決方案?
David Silver:我們剛剛請教了樊麾,他認為 AlphaGo 會解決這個問題,但更為有趣的是 AlphaGo 能否找到書中的答案,或者我們想不到的方案。而這正是我們在 AlphaGo 的訓練中多次目睹的事情。
3。 你們認為圍棋與星際爭霸 2 哪個更有難度?麵臨的最大潛在技術障礙是什麼?正式更新什麼時候出來?
Julian Schrittwieser:我們宣布開放星際爭霸 2 環境剛過去幾個星期,所以現在還處於早期階段。星際爭霸的行動空間確實要比圍棋更具挑戰性,因為其觀察空間要遠大於圍棋。從技術上講,我認為兩者最大的區別之一在於圍棋是一種完美信息博弈,而星際爭霸因為有戰爭迷霧,屬於不完美信息博弈。
4。 你覺得數據比算法更重要嗎?不過你關於 AlphaGo Zero 的新論文卻暗示了另外的含義。
Julian Schrittwieser:我覺得目前算法仍然比數據更重要,隻要看看 AlphaGo Zero 比之前幾個版本的訓練效率高出那麼多就能理解。而且我認為在未來,數據在訓練效率上的重要性也會大有提升。
5。 由於整個管道隻在模型的最新最好版本上展開自我對弈,你們認為模型在使用具體的 SGD 算法更新參數空間時存在過擬合風險嗎?看起來最後的模型遊戲過程中,模型會稍微依賴於隨機初始化權重以及實際麵對的遊戲狀態(作為隨機行動采樣的結果)。
David Silver:實際上,表征也很可能在其他選擇上表現良好。但是我們有 3 個理由使用堆疊的觀測曆史:(1)它在其它領域(比如 Atari)的常用輸入表征是一致的;(2)我們需要一些曆史來表征 ko;(3)了解對手最近輸入位置的曆史很有用,這可充當一種注意力機製(即注意對手的想法很重要)。
6。 這會是 AlphaGo 的最終迭代版本嗎?
David Silver:我們已經停止了強化 AlphaGo 的積極研究,但仍保留了研究試驗台,以供 DeepMind 人員驗證新思路和新算法。
7。 DeepMind 和 Facebook 都在大力研究強化學習,你認為是什麼令 AlphaGo 的表現能如此快速地提升? 此外對於機器學習前沿,特別是強化學習,其發展趨勢如何?
David Silver:Facebook 更關注監督學習,它能產生當時性能最優的模型;而我們更關注強化學習,因為我們相信它最終會超越人類已有的知識而進一步取得提升。我們最近的結果實際上表明,隻有監督學習確實可實現令人驚歎的表現,但強化學習絕對是超越人類水平的關鍵。
8。 有開源 AlphaGo 的計劃嗎?
David Silver:我們之前已經開源了大量的代碼,但過程一直非常複雜。不幸的是,AlphaGo 項目的代碼庫更加複雜,甚至有點過分。
9。 我們現在可以通過強大的國際象棋引擎給棋手做內部評級,一步一步地分析棋手的下棋過程進而評定 Elo 等級分。這可以使我們更有條理的做事,比如比較不同時代的棋手,而且還有可能提供研究人類認知的平台。這對 AlphaGo 也有效嗎?我猜測這對圍棋來說會更加複雜,因為在國際象棋中不需要考慮 margin of victory。
Julian Schrittwieser:這確實是個很棒的主意!我覺得我們完全可以在圍棋中做同樣的事情,可能會以比較最佳落子和每一步落子的價值的方式,或者使用決策網絡為每一步落子分配的概率。如果有時間的話,我很樂意嚐試。
10。 你們在 AlphaGo Zero 中首先嚐試自我對弈訓練而不是整合人類比賽數據。為什麼 AlphaGo 之前的版本沒有使用自我對弈訓練呢,還是已經嚐試過,但效果沒有這麼好,為什麼?我很好奇這一塊的發展和進步。和現在相比,兩年前在 AlphaGo 訓練過程中使用自我對弈有什麼瓶頸嗎?從最終成就自我對弈係統的所有迭代中收獲了什麼‘機器學習知覺’(machine learning intuition)?
David Silver:創建利用自我對弈來學習的係統在強化學習領域一直是一個開放性問題。我們最初嚐試了文章提到的很多類似算法,發現都不穩定。我們進行了很多次實驗,最終發現 AlphaGo Zero 的算法是最高效的,而且應該解決了這個問題。
11。 據說 AlphaGo 柯潔版本僅需李世乭版本處理能力的 1/10。你對此做了哪些優化?也就是說 AlphaGo 柯潔版本的能力是李世乭版本的 10 倍嗎?
Julian Schrittwieser:這主要是因為價值/策略網絡的改善,訓練和架構都變得更好。這篇論文的圖 4 對比了不同網絡架構。
12。 有考慮過使用生成對抗網絡嗎?
David Silver:在某種意義上,自我對弈(self-play)訓練已經是對抗性質的:每次迭代都試圖找到對抗上一版本的‘anti-strategy’。
13。 在設計 AlphaGo 係統架構時,最困難的部分是什麼?
David Silver:我們遇到的一個重大挑戰是在與李世乭比賽期間出現的,當時,我們意識到 AlphaGo 偶爾會受到我們稱之為‘錯覺(delusion)’的影響,即對弈中智能體會持續多次係統地誤解當前的棋局,並嚐試了很多方法來解決它,如給智能體灌輸更多的圍棋知識或人類元知識。我們的解決方法是使智能體變得更加條理化,使用更少的知識,更多地依賴強化學習來生成更高質量的解決方案;最終我們取得了成功,在 AlphaGo 中消除了這些問題。
Facebook田淵棟讚DeepMind論文:方法幹淨標準
穀歌DeepMind團隊
文章來源:機器之心轉載自知乎
作者:田淵棟
昨日,DeepMind 在《自然》雜誌上發表了一篇論文,正式推出人工智能圍棋程序AlphaGo Zero。這篇論文的發布引起了業內極大的關注與討論。Facebook AI 研究員田淵棟在知乎上發布了一篇簡短的文章,介紹了自己對這篇論文的看法。
老實說這篇 Nature 要比上一篇好很多,方法非常幹淨標準,結果非常好,以後肯定是經典文章了。
Policy network 和 value network 放在一起共享參數不是什麼新鮮事了,基本上現在的強化學習算法都這樣做了,包括我們這邊拿了去年第一名的 Doom Bot,還有 ELF 裏麵為了訓練微縮版星際而使用的網絡設計。另外我記得之前他們已經反複提到用 Value network 對局麵進行估值會更加穩定,所以最後用完全不用人工設計的 default policy rollout 也在情理之中。
讓我非常吃驚的是僅僅用了四百九十萬的自我對局,每步僅用 1600 的 MCTS rollout,Zero 就超過了去年三月份的水平。並且這些自我對局裏有很大一部分是完全瞎走的。這個數字相當有意思。想一想圍棋所有合法狀態的數量級是 10^170,五百萬局棋所能覆蓋的狀態數目也就是 10^9 這個數量級,這兩個數之間的比例比宇宙中所有原子的總數還要多得多。僅僅用這些樣本就能學得非常好,隻能說明卷積神經網絡(CNN)的結構非常順應圍棋的走法,說句形象的話,這就相當於看了大英百科全書的第一個字母就能猜出其所有的內容。用 ML 的語言來說,CNN 的 induction bias(模型的適用範圍)極其適合圍棋漂亮精致的規則,所以稍微給點樣本水平就上去了。反觀人類棋譜有很多不自然的地方,CNN 學得反而不快了。我們經常看見跑 KGS 或者 GoGoD 的時候,最後一兩個百分點費老大的勁,也許最後那點時間完全是花費在過擬合奇怪的招法上。
如果這個推理是對的話,那麼就有幾點推斷。一是對這個結果不能過分樂觀。我們假設換一個問題(比如說 protein folding),神經網絡不能很好擬合它而隻能采用死記硬背的方法,那泛化能力就很弱,Self-play 就不會有效果。事實上這也正是以前圍棋即使用 Self-play 都沒有太大進展的原因,大家用手調特征加上線性分類器,模型不對路,就學不到太好的東西。一句話,重點不在左右互搏,重點在模型對路。
二是或許卷積神經網絡(CNN)係列算法在圍棋上的成功,不是因為它達到了圍棋之神的水平,而是因為人類棋手也是用 CNN 的方式去學棋去下棋,於是在同樣的道路上,或者說同樣的 induction bias 下,計算機跑得比人類全體都快得多。假設有某種外星生物用 RNN 的方式學棋,換一種 induction bias,那它可能找到另一種(可能更強的)下棋方式。Zero 用 CNN 及 ResNet 的框架在自學習過程中和人類世界中圍棋的演化有大量的相似點,在側麵上印證了這個思路。在這點上來說,說窮盡了圍棋肯定是還早。
三就是更證明了在理論上理解深度學習算法的重要性。對於人類直覺能觸及到的問題,機器通過采用有相同或者相似的 induction bias 結構的模型,可以去解決。但是人不知道它是如何做到的,所以除了反複嚐試之外,人並不知道如何針對新問題的關鍵特性去改進它。如果能在理論上定量地理解深度學習在不同的數據分布上如何工作,那麼我相信到那時我們回頭看來,針對什麼問題,什麼數據,用什麼結構的模型會是很容易的事情。我堅信數據的結構是解開深度學習神奇效果的鑰匙。
另外推測一下為什麼要用 MCTS 而不用強化學習的其它方法(我不是 DM 的人,所以肯定隻能推測了)。MCTS 其實是在線規劃(online planning)的一種,從當前局麵出發,以非參數方式估計局部 Q 函數,然後用局部 Q 函數估計去決定下一次 rollout 要怎麼走。既然是規劃,MCTS 的限製就是得要知道環境的全部信息,及有完美的前向模型(forward model),這樣才能知道走完一步後是什麼狀態。圍棋因為規則固定,狀態清晰,有完美快速的前向模型,所以 MCTS 是個好的選擇。但要是用在 Atari 上的話,就得要在訓練算法中內置一個 Atari 模擬器,或者去學習一個前向模型(forward model),相比 actor-critic 或者 policy gradient 可以用當前狀態路徑就地取材,要麻煩得多。但如果能放進去那一定是好的,像 Atari 這樣的遊戲,要是大家用 MCTS 我覺得可能不用學 policy 直接當場 planning 就會有很好的效果。很多文章都沒比,因為比了就不好玩了。
另外,這篇文章看起來實現的難度和所需要的計算資源都比上一篇少很多,我相信過不了多久就會有人重複出來,到時候應該會有更多的 insight。大家期待一下吧。
原文地址:https://zhuanlan.zhihu.com/p/30262872?utm_medium=social&utm_source=wechat_timeline&from=timeline&isappinstalled=0
最強AlphaGo怎樣煉成? 看DeepMind團隊全麵解讀
資料圖
昨天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這一種選擇,用其他形式的表示可能也沒問題,但我們用了觀察值的堆疊曆史,有三個原因:
這和其他領域,比如說玩雅達利遊戲時的常見輸入表示一致;
我們需要一些曆史記錄來呈現ko;
曆史可以用來記錄對手最近在哪落過子,這些信息可以當作一種注意力機製來用,比如說集中在對手認為重要的位置上,第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》的行為空間顯然比圍棋大得多,需要監控的數據量也更大。從技術上來講,圍棋是一個完美信息博弈,而戰爭迷霧讓星際變成不完美信息博弈。
最後更新:2017-10-20 23:56:30