NeurIPS'18 | 種羣進化隨機梯度下降深度神經網絡優化算法框架

閱讀更多,歡迎關注公衆號:論文收割機(paper_reader)

因爲排版問題,很多圖片和公式無法直接顯示,歡迎關注我們的公衆號點擊目錄來閱讀原文。

原文點擊 ↓

種羣進化隨機梯度下降深度神經網絡優化算法框架

Evolutionary Stochastic Gradient Descent for Optimization of Deep Neural Networks. NeurIPS 2018 (paper link)

背景

本文介紹由IBM Research AI的Xiaodong Cui等作者於NeurIPS 2018發表的一個基於種羣的進化隨機梯度下降深度神經網絡優化算法框架[1]。

隨機梯度下降是目前深度學習主流優化方法[2]。與此同時,代表黑盒優化的無梯度進化算法也出現在各種應用中[3]。此類進化優化算法適合於非線形非凸非平滑的優化問題,受生物學研究啓發,其對一般優化目標函數不做任何分析形式的假設。在深度學習應用中,遺傳算法和進化策略已經被用於深度強化學習和神經網絡架構搜索[4],但並沒有被有效應用於優化最先進的複雜深度神經網絡的大規模參數中。

因爲隨機梯度下降依賴於顯式的目標函數梯度,而無梯度進化算法可以大規模並行優化複雜或知之甚少的目標函數,作者結合兩者的優點提出了一個稱爲進化隨機梯度下降的優化方法。簡單來說,該算法將種羣定義爲一個以候選模型參數爲個體的集合,並令該種羣輪流進行類似生物學的成長和協同進化行爲。在成長階段,每個候選模型參數個體也可以被視爲一個物種,其根據一套傳統優化方法的參數進行獨立成長髮育;在協同進化階段,所有個體允許相互交流併產生下一代種羣。細節將會在接下來的章節中展開。

本文接下來的部分組織如下:筆者將先給出一個簡潔的問題定義,然後詳細展開作者提出的算法細節以及定理,其後附上部分相關實驗結果,最後是一些對該算法的優缺點的討論。

問題描述

在一個監督學習問題中,假設XRdx,YRdy\mathcal{X} \subseteq \mathbb{R}^{d_x}, \mathcal{Y} \subseteq \mathbb{R}^{d_y}分別爲輸入和輸出空間,問題的學習目標通常爲估計一個從輸入到輸出的映射:

h(x;θ):XYh(x;\theta): \mathcal{X} \rightarrow \mathcal{Y}

其中xXx \in \mathcal{X}hh屬於由θRd\theta \in \mathbb{R}^d參數化的函數族。定義在X×Y\mathcal{X} \times \mathcal{Y}上的損失函數(h(x;θ),y)\ell(h(x;\theta), y)衡量預測h(x;θ)h(x;\theta)和標籤yy的相近程度。一個θ\theta的風險函數可以被定義爲數據聯合分佈下的期望損失:

R(θ)=E(x,y)[(h(x;θ),y)]R(\theta) = \mathbb{E}_{(x, y)}[\ell(h(x;\theta), y)]

於是目標通常是找到一個最小化該期望風險的函數h(x;θ)h(x;\theta^*)。在實際情況下,我們一般只能獲得一些獨立同分布的訓練樣本{(xi,yi)}i=1nX×Y\{(x_i, y_i)\}_{i = 1}^n \in \mathcal{X} \times \mathcal{Y},而無法獲取真實數據分佈p(x,y)p(x, y)。所以學習目標轉化爲最小化如下經驗風險:

Rn(θ)=1ni=1n(h(xi;θ),yi)1ni=1nli(θ)R_n(\theta) = \frac{1}{n}\sum_{i = 1}^n\ell(h(x_i;\theta), y_i) \triangleq \frac{1}{n}\sum_{i = 1}^n l_i(\theta)

其中li(θ)(h(xi;θ),yi)l_i(\theta) \triangleq \ell(h(x_i;\theta), y_i)。隨機規劃可簡化上式爲:

Rn(θ)=Eω[lω(θ)]R_n(\theta) = \mathbb{E}_\omega[l_\omega(\theta)]

其中ωUniform{1,,n}\omega \sim Uniform\{1,\dots,n\}。在傳統隨機梯度下降的第kk次迭代中,通常會隨機選取一個樣本(xik,xik),ik{1,,n}(x_{i_k}, x_{i_k}), i_k \in \{1,\dots,n\},計算隨機梯度lik\nabla l_{i_k},並根據一個合適的步長αk>0\alpha_k > 0更新參數:

θk+1=θkαklik(θk)\theta_{k + 1} = \theta_k - \alpha_k \nabla l_{i_k} (\theta_k)

傳統隨機梯度下降一般只考慮一個單獨的參數向量θ\theta。我們不妨假設參數滿足一個分佈θp(θ)\theta \sim p(\theta)並定義如下在p(θ)p(\theta)分佈上的期望經驗風險:

J=Eθ[Rn(θ)]=Eθ[Eω[lω(θ)]]J = \mathbb{E}_\theta[R_n(\theta)] = \mathbb{E}_\theta[\mathbb{E}_\omega[l_\omega(\theta)]]

類似地,在實際應用中,考慮μ\mu個候選參數{θj}j=1μ\{\theta_j\}_{j = 1}^\mu。最終我們對以下種羣的平均經驗風險感興趣:

Jμ=1μj=1μRn(θj)=1μj=1μ(1ni=1nli(θ))J_\mu = \frac{1}{\mu}\sum_{j = 1}^\mu R_n(\theta_j) = \frac{1}{\mu}\sum_{j = 1}^\mu ( \frac{1}{n}\sum_{i = 1}^n l_i(\theta) )

通常適應度爲越大越好,對應於風險越小越好,這裏將風險函數RnR_n對應種羣中一個物種個體的適應性函數。於是,最終的學習目標即爲選擇{θj}j=1μ\{\theta_j\}_{j = 1}^\mu的一個子集以最小化JμJ_\mu

此外,mm-精英平均適應度被定義爲前mm個最好的個體(1mμ1 \leq m \leq \mu)的平均適應度:

Jmˉ:μ=1mk=1mf(θk:μ)J_{\bar{m}:\mu} = \frac{1}{m}\sum_{k = 1}^m f(\theta_{k:\mu})

其中θk:μ\theta_{k:\mu}表示Ψμ={θ1,,θμ}\Psi_\mu = \{\theta_1, \dots, \theta_\mu\}中適應度第kk最高的個體,f(θ)f(\theta)爲一個適應性度量函數。

算法

進化隨機梯度下降算法迭代地優化上節定義的mm-精英平均適應度,其僞代碼如下:

在這裏插入圖片描述

首先,該算法初始化擁有μ\mu個個體的父種羣Ψμ(0)={θ1(0),,θμ(0)}\Psi_\mu^{(0)}=\{\theta_1^{(0)}, \dots, \theta_\mu^{(0)}\},這可以採用隨機初始化參數或隨機擾動已有模型參數。每一代種羣交替執行傳統隨機梯度下降以及無梯度進化算子來改進目標函數Jmˉ:μJ_{\bar{m}:\mu},以此逐代進化。在傳統隨機梯度下降步驟中,每個個體θj\theta_j選擇一個優化器πj\pi_j、超參數及學習安排獨立學習更新參數共KsK_s步。優化器、超參數可以來自一個預設的集合,而個體從集合中隨機選擇元素並組合。退火策略可以讓學習率逐代遞減。從進化算法的角度來說,隨機梯度下降步驟中,個體之間沒有相互交流,對應於物種之間的基因隔離被保留。如果在梯度下降過程中適應度有所下降,則該個體會退回到梯度下降前一步,此策略稱爲後退。所有個體獨立進行隨機梯度下降之後,將進行無梯度協同進化步驟。在這一步中,種羣中所有個體將被允許交互、組合、產生後代、變異等行爲併產生擁有λ\lambda個個體的後代種羣Ψλ\Psi_\lambda。這裏可以採用任意進化算法,而原文利用了(μ/ρ+λ)(\mu / \rho + \lambda)-進化策略算法。更明確的說,在進化過程中,其首先會從當前種羣Ψμ(k)\Psi_\mu^{(k)}中以基於適應度的比例選擇算子得到ρ\rho個物種個體,並以平均重組加高斯噪聲的方式產生出λ\lambda個後代:

θi(k)=1ρj=1ρθj(k)+ϵi(k)\theta_i^{(k)} = \frac{1}{\rho} \sum_{j = 1}^\rho \theta_j^{(k)} + \epsilon_i^{(k)}

其中θi(k)Ψλ(k)θj(k)Ψμ(k)ϵi(k)N(0,σk2)\theta_i^{(k)} \in \Psi_\lambda^{(k)},\theta_j^{(k)} \in \Psi_\mu^{(k)},\epsilon_i^{(k)} \sim \mathcal{N}(0, \sigma_k^2)。類似的,σk2\sigma_k^2也可以用一種退火策略逐代遞減。至此,包括後代的綜合種羣爲Ψμ+λ=ΨμΨλ\Psi_{\mu + \lambda} = \Psi_\mu \cup \Psi_\lambda。一種稱爲mm-精英策略的物種選擇方法會從Ψμ+λ\Psi_{\mu + \lambda}中選擇mm(mμm \leq \mu)個擁有最高適應度的個體,並從剩餘的個體中隨機選取μm\mu - m個個體。假設當前爲第kk代,則上述被選擇的個體組成下一代的父種羣Ψμ(t+1)\Psi_\mu^{(t + 1)}。詳細算法實現細節請讀者參考原文。

該進化隨機梯度下降算法具有mm-精英平均適應度不退化的性質,即目標函數Jmˉ:μ(k)J_{\bar{m}:\mu}^{(k)}隨着kk增大不遞增。相關定理及推論如下:

定理1. 已知Ψμ\Psi_\mu爲一個擁有μ\mu個物種個體的種羣{θj}j=1μ\{\theta_j\}_{j = 1}^\mu。假設Ψμ\Psi_\mu根據包含後退策略和mm-精英策略的進化隨機梯度下降算法進行進化,則對於每一代kk

Jmˉ:μ(k)Jmˉ:μ(k1)k1J_{\bar{m}:\mu}^{(k)} \leq J_{\bar{m}:\mu}^{(k - 1)},k \geq 1

推論1. m1mm\forall m',1 \leq m' \leq m,可得

Jmˉ:μ(k)Jmˉ:μ(k1)k1J_{\bar{m}':\mu}^{(k)} \leq J_{\bar{m}':\mu}^{(k - 1)},k \geq 1。

尤其是當m=1m' = 1,可得

f(k)(θ1:μ)f(k1)(θ1:μ)k1f^{(k)}(\theta_{1:\mu}) \leq f^{(k - 1)}(\theta_{1:\mu}),k \geq 1

換言之,種羣中適應度最高的個體保證不會退化。以上定理的詳細證明可參見原文附錄,簡而言之,證明的關鍵點在於後退策略提供的保障。

實驗

作者在實驗中採用了4個數據集:BN50、SWB300、CIFAR10、PTB,前二者對應大詞彙量連續語音識別,後兩者分別對應圖像識別和語言模型任務。作者同時也實現了兩種參照系統作爲對照基準。第一種基準系統稱爲單一基準,是數據集任務對應領域的一種最先進的經過精細設計和調參的模型,其參數、訓練方式皆爲單一固定的;第二種系統稱爲種羣基準,其隨機初始化與提出算法相同數量的個體,並同時訓練,不包括協同進化步驟,此爲模擬經典深度神經網絡訓練的超參數調整過程。作者同時將進化算子移除而進行了控制變量實驗。主要實驗結果如下表:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JMma4P6z-1570084171150)(https://github.com/paper-reader/gatsby-starter-netlify-cms/blob/master/src/pages/blog/result0.png)]

其中WER代表詞錯誤率,SWB和CH分別是SWB300數據集中的兩種數據,ppl表示損失函數值的指數。實驗結果表明,提出的進化隨機梯度下降算法相較於傳統優化方法以及無進化模塊的簡化算法,在最先進的深層神經網絡模型以及熱門模式識別應用上,有較明顯的效果提升。

下圖爲各個方法的目標函數(適應度)關於當前進化代數的折線圖,其中種羣基準對照方法和提出的方法以帶狀表示種羣個體的適應度的分佈。我們可以看出,進化隨機梯度下降算法的下界,即適應度最高的個體,確實是根據定理1不退化的。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ozwkAHGx-1570084195857)(https://github.com/paper-reader/gatsby-starter-netlify-cms/blob/master/src/pages/blog/result1.png)]

作者最後研究了進化步驟中產生的後代在下一代中被選擇的比例隨進化逐代的變化。結果如下圖。我們可以看出,在初始幾代,隨機梯度下降占主導地位。這主要是因爲訓練前期參數變化較大,方差較大的平均重組策略不容易得到適應度比父種羣較高的個體。而在進化末期幾代,不同優化器的超參數之間的交互對產生精英後代有着至關重要的作用。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MmpDLte2-1570082285841)(result2.png)]

討論

原文作者提出了一種結合傳統隨機梯度下降優化算法和無梯度進化算法的優勢的深度神經網絡優化算法框架。

該方法優勢在於其直觀的概念以及簡單有效的保證最優個體不退化的定理,其較大的優化算法超參數搜索空間幾乎可以保證其最終效果比精細設計模型後單一訓練及手動調參訓練有一定明顯的提升。其一般性的框架可以採用梯度優化算法及基因進化算法領域的最新研究成果。目前來說,所有個體獨立進行隨機梯度下降及協同進化都有大規模並行的方法[5][6]。

該方法也有一定的侷限性。遺傳進化算法通常需要足夠數量的個體保證多樣性及超參數空間覆蓋率才能取得較好的效果。對於大規模深度神經網絡而言,即使種羣中只有幾十個個體,完全並行的環境也將需要較大昂貴的計算資源。基於進化策略的黑盒優化算法可以視爲利用一定數量的個體計算當前損失函數對於參數的近似梯度,而數量有限的個體產生的梯度與真正的梯度有一定因噪聲造成的偏差[7]。當然,隨機梯度下降步驟在一定程度上降低了進化步驟的隨機性的影響。從算法僞代碼及描述中,我們可以看出該算法在實現過程中也需要較多關於進化算子以及預設優化器的超參數的設定。所以總體來說,該算法框架在轉換爲實現的時候也不能避免較爲精細的參數調整過程。原文提出的算法及實驗皆假設固定的深度神經網絡結構,而事實上神經網絡的架構對特定模式識別任務的效果也有較大的影響。如何在該算法基礎上增加網絡架構搜索而不過多增加隨機性和複雜度也是一個有趣的研究方向。

閱讀更多,歡迎關注公衆號:論文收割機(paper_reader)

因爲排版問題,很多圖片和公式無法直接顯示,歡迎關注我們的公衆號點擊目錄來閱讀原文。

原文點擊 ↓

種羣進化隨機梯度下降深度神經網絡優化算法框架

參考文獻

  1. Cui, Xiaodong, Wei Zhang, Zoltán Tüske, and Michael Picheny. “Evolutionary stochastic gradient descent for optimization of deep neural networks.” In Advances in neural information processing systems, pp. 6048-6058. 2018.
  2. Bottou, Léon, Frank E. Curtis, and Jorge Nocedal. “Optimization methods for large-scale machine learning.” Siam Review 60, no. 2 (2018): 223-311.
  3. Loshchilov, Ilya. “LM-CMA: An alternative to L-BFGS for large-scale black box optimization.” Evolutionary computation 25, no. 1 (2017): 143-171.
  4. Real, Esteban, Sherry Moore, Andrew Selle, Saurabh Saxena, Yutaka Leon Suematsu, Jie Tan, Quoc V. Le, and Alexey Kurakin. “Large-scale evolution of image classifiers.” In Proceedings of the 34th International Conference on Machine Learning-Volume 70, pp. 2902-2911. JMLR. org, 2017.
  5. Such, Felipe Petroski, Vashisht Madhavan, Edoardo Conti, Joel Lehman, Kenneth O. Stanley, and Jeff Clune. “Deep neuroevolution: Genetic algorithms are a competitive alternative for training deep neural networks for reinforcement learning.” arXiv preprint arXiv:1712.06567 (2017).
  6. Salimans, Tim, Jonathan Ho, Xi Chen, Szymon Sidor, and Ilya Sutskever. “Evolution strategies as a scalable alternative to reinforcement learning.” arXiv preprint arXiv:1703.03864 (2017).
  7. Zhang, Xingwen, Jeff Clune, and Kenneth O. Stanley. “On the relationship between the openai evolution strategy and stochastic gradient descent.” arXiv preprint arXiv:1712.06564 (2017).
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章