進化深度神經網絡是推動技術發展的強勁動力

點擊上方關注,All in AI中國

本文回顧了進化算法是如何被提出和測試的,它作為一個競爭性的替代方案,解決與神經網絡設計相關的一些問題。

進化深度神經網絡是推動技術發展的強勁動力

此外,架構設計(即創建的形狀和功能的過程神經網絡)是一個漫長而艱難的過程,主要是手動完成的,因此創新性受到了限制,並且大多數進展來自於已執行的舊算法,但現在計算資源和數據已經非常好了。另一個問題是深度神經網絡主要通過梯度跟蹤算法(例如SGD,RMSProp)進行優化,這是限制搜索空間的一個很好的資源,但容易被局部最優(Local Optima),鞍點(Saddle point)和噪聲梯度(noisy gradients)所影響,特別是在密集的解決方案等領域比如:強化學習。

進化深度神經網絡是推動技術發展的強勁動力

帶有噪聲梯度和幾個局部極小值的函數的圖解。如果初始值為低於(0-30)或高於(65-100),則例如

本文回顧了進化算法是如何作為一種競爭性的替代方法被提出和測試的,從而解決所描述的問題。

神經架構搜索

隨著深度神經網絡(DNN)越來越成功,對性能更好的架構工程的需求也在不斷增長。隨著DNN複雜度的增加,人類手工設計它們的能力受到限制,因此神經結構搜索(NAS)方法變得越來越重要。考慮到 Sutton博士的慘痛教訓,這個問題變得尤為有趣:

從70年的人工智能研究中,我們可以得出的最大教訓是,利用計算的一般方法最終是最有效的,而且在很大程度上是有效的。

進化算法(EA)已被證明在這個問題上是有用的。

有人可能認為NAS是一個三維過程。第一個維度是它們的搜索空間,它定義了可能由算法表示的架構。當然,更大的搜索空間意味著需要測試的組合可能更多。為了使問題得到解決,在層上直接實現了一些約束:

  1. 選擇最大層數
  2. 它們可能只以鏈(順序的)或多分支配置連接
  3. 層類型的構建塊是預定義的,但是可以調優它們的超參數
進化深度神經網絡是推動技術發展的強勁動力

鏈連接(左)和多分支神經網絡(右)的例子。每個節點代表一個層,每個箭頭代表它們之間的連接。

接下來是搜索策略,它定義瞭如何探索搜索空間。常見的替代方法有隨機搜索、貝葉斯優化、強化學習、基於梯度的優化和神經進化方法。進化NAS的第一種方法來自Miller等人,他們使用遺傳方法來提出架構和反向傳播來優化權重。然後,Stanley和Risto提出了一種用於進化人工神經網絡(ANN)的遺傳算法(GA),它不僅通過考慮適應性和多樣性來優化而且還使解決方案複雜化。最近,Real等人發現,進化算法在準確性方面的表現與強化學習一樣好,但它開發了更好的中期性能和更小的模型(關於這種情況的進一步描述如下)。

即便如此,遺傳算法和DNN都以對高資源的要求而聞名,GPU的運算時間大約是幾千天。因此,要使NAS成為一種可負擔的策略,性能評估必須是在比實際性能更低的保真度下進行。在使用一個ANN預測候選網絡的性能逼近Pareto-optimal最優的方面,通過實現一個性能估算策略的LSTM神經網絡用於估計驗證分數只有幾個時期的另一位候選人的神經網絡的訓練。一些方法試圖在保持神經網絡功能的同時改變其結構,從而加快訓練速度,而不是進行估計。Auto-Keras就是基於這種方法構建的。

近年來,NAS在傳統神經網絡結構中的應用研究取得了新的進展。舉一些例子:Rawal 等人提出了一種基於樹的編碼的一個在遺傳規劃和改進LSTM基於性能的標準語言模型(即在大型語言語料庫中預測下一個詞)0.9困惑點(即現在的新模型更好地估計目標語言分佈)。此外,在圖像分類方面,Real等人發展AmoebaNet-A以達到83.9%的前1%,96.6%的前5個ImageNet準確度,從而建立了一種新的技術水平。有人提出,這些結果可以進一步發展,利用遺傳算法群體固有的多樣性,擴大現有的綜合方法,甚至明確鼓勵它,直接獎勵綜合成一個群體,而不是直接模型。

不斷髮展的強化學習

神經進化算法可以分為進化權值和結構(如NAS)的算法和僅優化DNN權值的算法。進化算法與強化學習的結合通常作為唯一權重實現。

正如一般基於梯度的算法,例如隨機梯度下降(SGD)約束探索到梯度跟蹤,它們的搜索空間變得有點線性,局部最小值成為一個問題。 此外,隨著深度強化學習(深度RL),出現了兩個額外的問題:當獎勵稀疏時,過早地收斂到局部最合適的條件(即,它們僅在做出一系列決定之後發生)時,難以將行動與回報聯繫起來,這被稱為時間信用分配,他們對超參數選擇非常敏感。

在DRL中,遺傳算法被提出來解決這些問題。利用基於無梯度種群的遺傳算法對DNN的權重進行了優化,並發現它在像Atari和類人運動等深度RL難題上表現良好。通過比較他們的結果與隨機搜索(RS),他們發現,GA總是優於RS,並且RS有時優於RL,這表明局部最優、鞍點和噪聲梯度阻礙了基於梯度的方法的發展,並且在某些情況下,在原點附近區域密集採樣足以勝過基於梯度採樣的方法。他們還發現GA的wall-clock速度比Q學習發展得快得多。

Felipe Petroski、Vashisht Madhavan、Edoardo Conti、Joel Lehman、Kenneth O. Stanley、Jeff Clune等人也指出,一個未知的問題是,在早期階段使用GA採樣,然後切換到梯度搜索的混合方法是否會允許更好更快的結果。這正是Khadka等人在進化強化學習(Evolutionary Reinforcement Learning, ERL)中提出的,這是一種混合算法,使用EA中的種群訓練RL agent,並將agent重新插入種群中進行適應度評估。他們提出遺傳算法是一個很好的選擇,以解決之前提到的深層RL問題,但這也鬥爭優化大量的參數。因此,將遺傳算法的探索性和時間分配能力與深度RL梯度相結合,使學習速度更快。因此,進化RL能夠解決比深度確定性策略梯度(Deep Policy Gradient, DDPG)等更多的任務,並且比簡單的遺傳算法更快。

最後

像Khadka和Real這樣的實踐研究證明,進化深度學習應用是推進現有技術發展的有用方法。儘管如此,在使用的方法中仍然存在許多限制,就像使用NAS的預定義構建塊和ERL中使用的非交叉或變異一樣。此外,值得注意的是,EA被視為黑盒優化方法,因此它們很難理解性能高的原因。

進一步的研究將決定EA在深度學習領域的未來,但到目前為止,它似乎正在成為解決特定學習問題的必要工具,至少在中長期是這樣的。

相關推薦

推薦中...