前沿| 利用遺傳算法優化神經網絡:Uber提出深度學習訓練新方式

2020-12-03 機器之心Pro

選自Uber 作者:Kenneth O. Stanley、Jeff Clune 機器之心編譯 參與:陳韻竹、劉曉坤

在深度學習領域,對於具有上百萬個連接的多層深度神經網絡(DNN),現在往往通過隨機梯度下降(SGD)算法進行常規訓練。許多人認為,SGD 算法有效計算梯度的能力對於這種訓練能力而言至關重要。但是,Uber 近日發布的五篇論文表明,神經進化(neuroevolution)這種利用遺傳算法的神經網絡優化策略,也是訓練深度神經網絡解決強化學習(RL)問題的有效方法。

Uber 涉及領域廣泛,其中許多領域都可以利用機器學習改進其運作。開發包括神經進化在內的各種有力的學習方法將幫助 Uber 發展更安全、更可靠的運輸方案。 遺傳算法——訓練深度學習網絡的有力競爭者 我們驚訝地發現,通過使用我們發明的一種新技術來高效演化 DNN,一個極其簡單的遺傳算法(GA)可以訓練含有超過 400 萬參數的深度卷積網絡,從而可以在像素級別上玩 Atari 遊戲;而且,它能在許多遊戲中比現代深度強化學習(RL)算法(例如 DQN 和 A3C)或進化策略(ES)表現得更好,同時由於更好的並行化能達到更快的速度。這個結果非常出乎意料:遺傳算法並非基於梯度進行計算,沒人能預料遺傳算法能擴展到如此大的參數空間;而且,使用遺傳算法卻能與最先進的強化學習算法媲美、甚至超過強化學習,這在以前看來是根本不可能的。我們進一步表明,現代遺傳算法的增強功能提高了遺傳算法的能力,例如新穎性搜索(novelty research),它同樣在 DNN 規模上發揮作用,且能夠促進對於欺騙性問題(存在挑戰性局部最優的問題)的探索。要知道,這些欺騙性問題通常對獎勵最優化算法形成障礙,例如 Q 學習(DQN)、策略梯度算法(A3C)、進化策略(ES)以及遺傳算法。

左:遺傳算法在 Frostbite 中得分 10500。DQN、AC3 和 ES 的得分均未超過 1000;右:遺傳算法在 Asteroids 也表現得很好。它的平均表現超越了 DQN 和 ES,但沒有超過 A3C。 通過梯度計算的安全突變 在論文「Safe Mutations for Deep and Recurrent Neural Networks through Output Gradients」中,我們展示了如何將神經進化和梯度相結合,以提高循環神經網絡和深度神經網絡的進化能力。這種方法可以使上百層的深度神經網絡成功進化,遠遠超過了以前的神經進化方法所展示的可能性。我們通過計算網絡輸出關於權重的梯度(即,和在傳統深度學習中使用誤差梯度不同)來實現這一點,使得在隨機突變的校準過程中,對最敏感的變量(相比其他變量而言)進行更加精細的處理,從而解決大型網絡中隨機變量的一個主要問題。

這兩個動畫展示了用於解決迷宮問題的單個網絡的一批突變(左下角是起點,左上角是終點)。一般的突變大多不能解決這個問題,但是安全突變很大程度地在產生多樣性的同時保留了解決問題的能力,表明了安全突變的顯著優勢。 ES 如何與 SGD 聯繫起來? 我們的論文對 A Visual Guide to Evolution Strategies(參見「 從遺傳算法到 OpenAI 新方向:進化策略工作機制全解 」)進行了補充和完善。這是由 OpenAI 團隊首先提出的想法(https://blog.openai.com/evolution-strategies/),即 ES 的變型——神經進化——可以在深度強化學習任務中競爭性地優化深度神經網絡。但是,迄今為止,這個結果有沒有更廣泛的應用仍然只是猜想。通過進一步創新 ES,我們通過一個綜合研究「On the Relationship Between the OpenAI Evolution Strategy and Stochastic Gradient Descent」深入了解 ES 和 SGD 的關聯,探索 ES 梯度近似實際上和在 MNIST 中通過 SGD 在每個 mini-batch 上計算的的最優梯度的聯繫有多緊密,以及這種近似如何導致了優越的性能。我們發現,如果提供足夠的計算來改善梯度近似,ES 能在 MNIST 上實現 99% 的準確率,這暗示著 ES 何以愈發成為深度強化學習的有力競爭者——因為在並行計算增加時,還沒有方法能獲得完美的梯度信息。 ES 不只是傳統的有限差分 為了增加理解,一個伴隨性研究「ES Is More Than Just a Traditional Finite-Difference Approximator」經驗地證實,ES(具有足夠大的擾動尺寸參數)的行為與 SGD 表現得有差別。這是因為 ES 優化的是一代策略群體(由概率分布描述,即搜索空間中的「雲」)的預期回報,但 SGD 僅為單一的策略(搜索空間中的「點」)優化回報。這種變化使得 ES 可以訪問搜索空間的不同區域,無論是好是壞(這兩種情況都被示出)。對每代的參數擾動進行優化的另一個結果是,ES 獲得了魯棒性,這是 SGD 不能做到的。強調 ES 優化每代的參數這一做法,同樣強調了 ES 和貝葉斯算法中的有趣聯繫。 對步行者進行重量的隨機擾動,TRPO 訓練的步行者會產生明顯的不穩定步態,而 ES 進化的步行者步態顯得更加穩定。初始的訓練步行者位於每個 9 幀合成的中心(綠框)。

傳統的有限差分(梯度下降)不能跨越低適合度(fitness)的窄縫,但 ES 能容易地穿過並尋找另一側的更高適合度。

ES 會在高適合度的窄縫中慢慢停止,但傳統的有限差分(梯度下降)會毫無停頓地通過相同的路徑。這與前面的動畫一起說明了兩種不同方法的區別和權衡。 加強對 ES 的探索 深度神經進化有一個令人興奮的結果:之前為神經進化開發的工具集,現在成為了加強深度神經網絡訓練的候選者。我們通過引入新的算法「Improving Exploration in Evolution Strategies for Deep Reinforcement Learning via a Population of Novelty-Seeking Agents」進行探索,這種算法將 ES 的優化能力和可擴展性與神經進化所獨有的、通過群體激勵將不同智能體區別開的促進強化學習領域的探索結合起來。這種基於群體的探索有別於強化學習中單一智能體傳統,包括最近在深度強化學習領域的探究工作。我們的實驗表明,通過增加這種新的探索方式,能夠提高 ES 在許多需要探索的領域(包括一些 Atari 遊戲和 Mujoco 模擬器中的類人動作任務)的性能,從而避免欺騙性的局部最優。

通過使用我們的超參數,ES 迅速收斂到局部最優,即不需要再次吸入氧氣,因為吸入氧氣暫時不能獲得獎勵。但是,通過探索,它學會了如何吸入氧氣,從而在未來獲得更高的獎勵。請注意,Salimans et al. 2017 並沒有報導 ES,根據他們的超參數,他們能夠實現特定的局部最優。但是,就像我們所展示的,沒有 ES,它很容易無限期地困在某些局部最優處(而那個探索能夠幫助它跳出局部最優)。

智能體需要學著跑得儘可能遠。ES 從未學過避免欺騙性的陷阱。但是,通過添加一個探索壓力,其中一個學會了繞過陷阱。 結論 對有志於轉向深度神經網絡的神經進化研究人員,有幾個重要因素值得考慮:首先,這種類型的實驗需要的計算量比以前更多;對於這些新論文中的實驗,我們經常需要運行成百上千個同步 CPU。但是,對 GPU 或 CPU 的需求不應該被視為一個負擔;從長遠來看,面對即將到來的世界,向大規模並行計算中心的規模變化也許意味著神經進化最能利用未來的優勢。 新的結果與之前在低維神經進化中觀察到的結果有顯著差異。它們有效推翻了多年來的直覺,特別是對高維度探索的潛力的啟發。正如在深度學習中發現的那樣,在複雜性的某些閾值之上,在高維度的搜索似乎變得更加容易,因為它不易受到局部最優的影響。雖然深度學習已經對這種思維方式非常熟悉,但它的含義最近才在神經進化當中開始被理解。 神經進化的再度興起,是舊算法與當代計算量相結合產生驚人成果的另一個例子。神經進化的可行性非常有趣,因為在神經進化社區中開發的許多技術可以立即在 DNN 規模上變得可行,它們每個都提供了不同工具以解決具有挑戰性的問題。此外,正如我們的論文所展示的,神經進化搜索與 SGD 不同,因此為機器學習工具箱提供了有趣的替代方法。我們想知道,深度神經進化是否會像深度學習一樣經歷復興。如果是這樣,2017 年可能標誌著這個時代的開始,我們也非常期待未來會發生什麼! 下面是我們今天發布的 5 篇論文及關鍵發現的總結: Deep Neuroevolution: Genetic Algorithms are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning 用簡單、傳統、基於群體的遺傳算法演化 DNN,在困難的深度強化學習問題上表現良好。在 Atari 遊戲中,遺傳算法表現良好,與 ES 以及基於 Q 學習(DQN)和政策梯度算法(A3C)的深度強化學習算法表現相當。 「深度遺傳算法(Deep GA)」成功演化了有著 400 萬自由參數的網絡,這是通過一個傳統的進化算法演化的最大的神經網絡。 表明了一個有趣的事實:在某些情況下,根據梯度更新不是優化性能的最佳選擇。 將 DNN 和新穎性搜索(Novelty Search)相結合,這種探索算法被設計用於欺騙性任務和稀疏獎勵函數,以解決欺騙性的高維問題。其中,獎勵最大化算法(例如 GA 和 ES)都在這類問題中失敗了。 表明 Deep GA 的並行度優於 DQN、A3C 和 ES,因此運行比它們都快。可實現當前最先進的緊湊編碼技術,只用幾千字節就可以表示百萬量級參數的 DNN。 包含在 Atari 中隨機搜索的結果。令人驚訝的是,在一些遊戲中,隨機搜索大大優於 DQN、A3C 和 ES,不過它從沒有超過 GA。

令人驚訝的是,在一個 DNN 中,隨機搜索能比 DQN、A3C 和 ES 在 Frostbite 遊戲中表現得更好,但是還是不能超過 GA。 Safe Mutations for Deep and Recurrent Neural Networks through Output Gradients 通過測量網絡敏感性改變特定連接權重,基於梯度的安全突變(SM-G)極大提高了大型深度循環網絡突變的效率。 計算關於權重的「輸出」梯度,而非如常規深度學習中誤差或損失函數的梯度,以允許隨機但安全的搜索步驟。 這兩種安全突變都不需要在領域當中的額外實驗或展示。 結果:深層神經網絡(超過 100 層)和大型循環網絡現在只能通過 SM-G 的各種變形有效演化。 On the Relationship Between the OpenAI Evolution Strategy and Stochastic Gradient Descent 通過比較不同情況下由 ES 計算的近似梯度和由 SGD 在 MNIST 中計算的準確梯度探究 ES 和 SGD 的關係。 開發快速代理,預測不同群體規模的 ES 預期表現。 介紹並演示不同加速和改善 ES 性能的方法。 有限擾動 ES(Limited perturbation ES)顯著加快了在並行基礎設施上的執行速度。 「No-mini-batch ES」把針對 SGD 設計 mini-batch 傳統替換為適用於 ES 的不同方法,從而改進梯度估計:這是這樣一種算法,它在算法的每次迭代中,將整個訓練批的一個隨機子集分配給 ES 群體當中的每個成員。這種專用於 ES 的方法在等效計算的情況下提供了更好的準確度,且學習曲線甚至比 SGD 更加平滑。 「No-mini-batch ES」在測試運行中達到了 99% 的準確率,這是在本次監督學習任務中,進化方法的最佳報告性能。 總體上有助於說明為什麼 ES 能在強化學習中成為有力競爭者。通過搜索域的實驗獲得的梯度信息與監督學習的性能目標相比,信息量更少。 ES Is More Than Just a Traditional Finite Difference Approximator 強調 ES 和傳統有限差分方法之間的重要區別,即 ES 優化的是最佳解決方案的分布函數(而非單個最佳的解決方案)。 一個有趣的結果:由 ES 發現的解決方案傾向於在參數擾動上保持魯棒性。例如,我們表明 ES 的仿人類行走解決方案比 GA 和 TRPO 實現的類似解決方案對參數擾動的魯棒性更強。 另一個重要結果:ES 可能可以解決傳統方法困擾的一些問題,反之亦然。通過簡單的例子說明 ES 和傳統梯度跟隨之間的不同動力學。 Improving Exploration in Evolution Strategies for Deep Reinforcement Learning via a Population of Novelty-Seeking Agents 增加在 ES 中鼓勵深度探索的能力。 表明通過探究不同代的智能體群體並用於促進小規模進化神經網絡中的探索性算法——特別是新穎性搜索(NS)和質量多樣性(QD)算法——能與 ES 結合,從而改善在稀疏或欺騙性深度強化學習任務當中的表現。 證實由此產生的新算法——NS-ES 和一個稱為 NSR-ES 的 QD-ES 版本——能夠避免 ES 所遭遇的局部最優問題,從而在某些任務中達到高性能。這些任務包括,模擬機器人學習繞過欺騙性陷阱達到高性能,以及 Atari 遊戲當中的高維像素任務。 將這個基於群體的搜索算法系列添加到深度強化學習工具箱中。

相關焦點

  • 利用遺傳算法優化GANs
    GANs是在訓練階段最需要計算的密集型模型之一,因為它相當於同時訓練兩個神經網絡。對於我的普通電腦來說,把gan訓練到收斂是非常困難的。遺傳算法是根據大自然中生物體進化規律而設計提出的,是根據大自然中生物體進化規律而設計提出的。是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。
  • 深度學習:神經網絡算法的昨天、今天和明天
    神經網絡算法得名於其對於動物神經元傳遞信息方式的模擬,而深度學習這一「俗稱」又來自於多層級聯的神經元:眾多的層讓信息的傳遞實現了「深度」。在動物身上,神經一端連接感受器,另一端連接大腦皮層,中間通過多層神經元傳導信號。神經元之間也不是一對一連接,而是有多種連接方式(如輻射式、聚合式等),從而形成了網絡結構。這一豐富的結構最終不僅實現了信息的提取,也使動物大腦產生了相應的認知。
  • Uber論文5連發宣告神經演化新時代,深度強化學習訓練勝過SGD和策略...
    近日 Uber 就一口氣發布了關於神經演化(Neuroevolution)的 5 篇論文,其中的訓練方法不再是 SGD,而是進化算法;他們的研究結果表明,進化算法同樣可以高效地為強化學習模型訓練深度神經網絡。
  • 機器學習算法盤點:人工神經網絡、深度學習
    機器學習算法盤點:人工神經網絡、深度學習 佚名 發表於 2016-08-01 16:26:33   機器學習無疑是當前數據分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的算法。
  • 離散優化代替反向傳播:Pedro Domingos提出深度學習新方向
    Friesen & Pedro Domingos機器之心編譯在改革深度學習、拋棄反向傳播的道路上我們不僅看到了 Geoffrey Hinton 的努力。近日,《終極算法》一書作者,華盛頓大學計算機科學教授 Pedro Domingos 也提出了自己的方法——離散優化。神經分類的原始方法是學習單層模型,比如感知機(Rosenblatt, 1958)。
  • 機器學習算法匯總:人工神經網絡、深度學習及其它
    人工神經網絡 人工神經網絡算法模擬生物神經網絡,是一類模式匹配算法。通常用於解決分類和回歸問題。人工神經網絡是機器學習的一個龐大的分支,有幾百種不同的算法。(其中深度學習就是其中的一類算法,我們會單獨討論),重要的人工神經網絡算法包括:感知器神經網絡(Perceptron Neural Network), 反向傳遞(Back Propagation), Hopfield網絡,自組織映射(Self-Organizing Map, SOM)。
  • 神經網絡和深度學習簡史(全)
    正如我們將要看到的,儘管這個想法所包含的東西都已經很古老了,「深度學習」的運動完全可以說是由這篇文章所開始。但是比起名稱,更重要的是如果權重能夠以一種更靈活而非隨機的方式進行初始化,有著多層的神經網絡就可以得以更好地訓練。「歷史上的第一次,神經網絡沒有好處且不可訓練的信念被克服了,並且這是個非常強烈的信念。
  • 聽說你了解深度學習最常用的學習算法:Adam優化算法?
    By蔣思源2017年7月12日  深度學習常常需要大量的時間和機算資源進行訓練,這也是困擾深度學習算法開發的重大原因。雖然我們可以採用分布式並行訓練加速模型的學習,但所需的計算資源並沒有絲毫減少。而唯有需要資源更少、令模型收斂更快的最優化算法,才能從根本上加速機器的學習速度和效果,Adam算法正為此而生!
  • 從梯度下降到擬牛頓法:詳解訓練神經網絡的五大學習算法
    選自 Neuraldesigner作者:Alberto Quesada機器之心編譯參與:蔣思源在神經網絡中,系統的學習過程一般是由訓練算法所主導。而現如今有許多不同的學習算法,它們每一個都有不同的特徵和表現。因此本文力圖描述清楚五大學習算法的基本概念及優缺點,給讀者們闡明最優化在神經網絡中的應用。
  • NeurIPS2020|用遺傳探索指導深層分子優化
    最近,深度學習作為一種很有前途的解決這一問題的方法得到了相當多的關注。在這篇文章中,作者提出了一個簡單而新穎的框架——遺傳專家指導學習(GEGL),該框架通過訓練深度神經網絡(DNN)產生高回報的分子。作者的主要想法是設計一個遺傳專家改進程序,產生高質量的目標,模仿學習的DNN。通過實驗表明,GEGL顯著改進了最先進的方法。
  • 詳解凸優化、圖神經網絡、強化學習、貝葉斯方法等四大主題
    為了迎合時代的需求,我們去年推出了《機器學習高端訓練營》班。這個訓練營的目的很簡單:想培養更多高端的人才,幫助那些即將或者目前從事科研的朋友,同時幫助已從事AI行業的提高技術深度。  在本期訓練營(第四期)中我們對內容做了大幅度的更新,一方面新增了對前沿主題的講解如圖神經網絡(GCN,GAT等),另外一方面對核心部分(如凸優化、強化學習)加大了對理論層面上的深度。
  • 訓練神經網絡的五大算法
    訓練神經網絡的五大算法 Alberto Quesada 發表於 2017-11-16 15:30:54   神經網絡模型的每一類學習過程通常被歸納為一種訓練算法。
  • 神經進化:一種不一樣的深度學習
    具體而言,就像大自然通過突變、交叉或移除一些潛在的遺傳密碼來提高大腦的功能一樣,人工神經網絡通過進化算法能夠產生越來越好的拓撲、權重和超參數。簡單的說就是將進化的思想使用到神經網絡參數優化的更迭中。神經進化神經進化是一種機器學習技術,它使用基於群體的優化方法能夠不斷提高群體中每個神經網絡的質量,從而根據其要解決的問題生成越來越好的神經網絡。
  • 谷歌大腦提出「洗髮水」二階優化算法,Transformer訓練時間減少40%
    關注前沿科技 量子位曉查 發自 凹非寺量子位 報導 | 公眾號 QbitAI機器學習的優化步驟,目前都是一階方法主導。無論是SGD還是Adam,此類優化算法在都是計算損失函數的一階導數——梯度,然後按照某種規定的方式讓權重隨梯度下滑方向迭代。
  • 基於優化神經網絡的三相全控整流電路故障診斷
    利用自適應遞階遺傳算法同時優化神經網絡結構和連接權重,很好地解決了以往利用神經網絡進行故障診斷的不足,並用三相橋式全控整流電路故障診斷仿真實例證明了該方法的正確性和有效性。因此,訓練過程中網絡參數和拓撲結構可同時優化。
  • 【PPT下載】深度學習入門指南!六步構建深度神經網絡
    從上世紀五十年代計算機被發明開始,高效地利用各種各樣的工具去解決人類生活生產中的問題成為當時一個大的話題,到了1980年,利用計算機解決問題的方法被初步定義為機器學習,而機器學習有很多的學科,在設計時它是一個交叉的學科,涉及到概率論、統計學、算法複雜度理論等多門學科。深度學習是通過對人工神經網絡的研究,使得機器學習的操作和執行變得更完善、更高效。因此,深度學習是機器學習的一個分支。
  • 蒙特卡洛樹搜索在黑盒優化和神經網絡結構搜索中的應用
    黑盒優化是一個已經發展了幾十年的領域了,在跟很多人交流我們工作的時候,我被問到最多的問題就是,我們算法和遺傳算法以及貝葉斯優化有什麼優勢?遺傳算法:遺傳算法有很多變種,但是大體上是這圖上這 3 類。遺傳算法的問題:由此可以看出,遺傳算法並不是特別適合 NAS,因為他每個 iteration 需要撒很多的神經網絡來更新採樣分布。然而來評估一個神經是非常耗時的,無論是重頭訓練一遍,還是用 supernet。
  • 新光子晶片助力深度學習,神經網絡算法可採用新型光子技術更快實現
    基於人工神經網絡算法的計算機深度學習系統已成為目前計算機領域研究的前沿熱點,它的原理是使人工神經網絡算法模仿人腦從實踐中學習的方式進行學習。它除了可以用來實現面部和聲音識別以外,還可通過搜尋大量的醫學數據來進行醫學診斷,或者通過搜尋化學方程式來尋找潛在的新藥合成方式。
  • Atari 遊戲得分提升兩個數量級:Uber AI 的新強化學習算法 Go...
    綠色區域表示內在獎勵,白色表示沒有內在獎勵的區域,紫色區域表示算法當前正在探索的位置。GO-exploreGo-Explore算法的高度概括而 Uber AI 提出的新算法 Go-Explore 將學習分為兩個步驟:探索和強化。
  • Nature子刊批人工神經網絡:先天結構比後天訓練更重要
    但人工神經網絡還不具備這種能力。但這也表明,AI有潛力通過類似的方式快速學習。也就是說,通過反思當前的研究方式能夠發現,我們現在關於深度學習的研究從出發點的側重似乎就搞錯了,先天架構比後天訓練重要得多。這個結論一出現,就在推特上引發了巨大的反響,不到一天,點讚數超過了1.8K,各大論壇上也少不了各種討論。