本文介紹的是 IJCAI-2020論文《pbSGD: Powered Stochastic Gradient Descent Methods for Accelerated Non-Convex Optimization》,該論文由華中科技大學、滑鐵盧大學和加州大學伯克利分校合作完成。
作者 | 孫偉高
編輯 | 叢 末
論文地址: https://www.ijcai.org/Proceedings/2020/0451.pdf
開源地址:https://github.com/HAIRLAB/pbSGD
1
前言
深度學習的訓練由於高維函數空間和隨機目標函數的存在,相比於傳統優化而言更加困難。隨機梯度下降(Stochastic Gradient Descent)作為深度學習領域內第一種被廣泛用於優化訓練的方法,通過其計算小批量數據的目標損失,並向負梯度方向迭代更新模型參數。目前,基於SGD方法已衍生出許多用於更加高效訓練神經網絡的優化方法。
在這篇論文中,我們提出了一種新的基於SGD的優化方法(pbSGD)用於訓練神經網絡。
與目前的主流思路(自適應學習率或者動量法)不同,該論文作者在之前的工作[1]中,通過利用ODE的有限時間穩定性的直觀表達,提出了一種新的加速算法收斂的方法。這類稱為Powerball的方法,是通過簡單的將冪係數 γ∈[0,1)添加到各類基於梯度的優化方法中的梯度上得到的。從本質上講,Powerball方法可以看作是相對於p-範數的最速下降法,其中 p = 1 + 1/γ。這裡,Powerball函數而不是其他非線性函數的一種直觀的解釋是:一方面,數學中帶有指數(冪)算子的多項式可以用來逼近任意的非線性函數。因此,作者們將冪係數作為變量參數來創建Powerball函數。另一方面,因為冪係數 γ∈[0,1),根據冪函數的作用原理,不難發現,通過引入作用於梯度的冪係數,可以有效地改善梯度消失的現象。
對於離散時間模型(優化算法)在有限時間內收斂性的推導是非常困難的。正是這一點促使[1]中作者提出了優化方法的連續時間模型,並分析了它們在有限時間內的收斂性。此外,[1]中指出了對於給定的優化問題,如何選取最優的γ在理論上是開放的。眾所周知,當涉及大規模優化問題時,初始迭代對於給定的計算約束是至關重要的。為此,[1]中也開發了幾類Powerball方法的變形,它們在經驗上都分別優於標準的優化方法,特別是在初始迭代中。在[1]中的基於多個實際數據集上的實驗表明,文中所提出的方法可以使(隨機)梯度下降法和L-BFGS方法的收斂速度提高10倍。
具體而言,基於[1]中作者提出的在梯度下降法中應用Powerball函數的基本思想,本文將其推廣到了SGD的情形,得到了一類簡單且通用的改善深度神經網絡訓練效率的方法。在pbSGD中,Powerball函數作用於SGD中的隨機梯度項,其作用機制與[1]中一致。該方法在迭代過程中對隨機梯度做了簡單的冪函數變換改善了SGD方法的性能,通過只引入一個額外的超參數即冪指數項。我們進一步提出了結合動量(momentum)的pbSGD,即pbSGDM,並給出了兩種方法的收斂性理論分析。
實驗表明,提出的pbSGD和pdSGDM方法,可以實現與其他自適應梯度方法相比更快的收斂速度,以及與SGD方法的相近的泛化效果,同時該方法可以保持[1]中方法的優點,主要包括在初始迭代時的訓練加速、算法性能對超參數的魯棒性,以及有效地改善梯度消失問題。
2
研究背景
隨機優化是深度學習研究中非常重要的一環。基於SGD方法,近些年提出了許多其他能有效訓練深度神經網絡的優化方法,例如結合動量的SGD方法(SGD with Momentum,SGDM)、RMSProp和Adam等。自適應算法(比如AdaGrad、RMSProp、Adam)通常在前期可以獲得較好的收斂性能,然而最近研究表明自適應算法在優化中容易收斂到局部極小值,在測試集上泛化性能較差。因此許多計算機視覺與自然語言處理方面的研究仍然採用SGD用於訓練網絡。另一方面,相比於自適應方法SGD在收斂速度方面有所欠缺。因此,如何使得SGD可以在非凸條件下有效逃離鞍點並取得更好的收斂效果成為了熱點研究領域。
針對SGD的設計思路目前主要有兩種:動量法和自適應學習率。SGDM從物理角度出發引入了一個動量項,並在實際應用中取得了比SGD更快的收斂效果,動量可以看作是指數滑動平均的一個特例。自適應算法通常採用自適應學習率的思路,通過積累歷史的二階與一階梯度信息來動態修改學習率,最早應用於AdaGrad方法中,Adam結合了AdaGrad與RMSProp算法成為目前最為常用的優化器之一。
與目前的主流思路(自適應學習率或者動量法)不同,我們提出了一種新方法,採用Powerball函數對梯度項作非線性變換來改善SGD在非凸情況下的表現,即pbSGD方法。本文的主要貢獻如下所示:
我們基於SGD提出了一種簡單易用的優化方法pbSGD,給出結合了動量的pbSGD變體即pbSGDM。我們在多種數據集與任務上進行了詳盡的實驗對比,實驗結果表明本文提出的方法能在訓練前期取得比自適應算法更好的收斂速度,同時在測試集上與SGD和SGDM的泛化效果相近。我們提供了在非凸條件下pbSGD和pbSGDM的收斂速度的理論分析。
3
算法介紹
我們這裡給出所提兩種算法的思路和推導,其中pbSGD把Powerball優化方法和傳統的隨機梯度下降法相結合,pbSGDM是pbSGD引入動量項以後的延伸。
1、pbSGD
訓練一個含有n個自由參數的DNN網絡,可以被建模為一個無約束的優化問題:
這裡f是一個有下界的函數,SGD已經被證明是高維優化問題的一個有效且高效的求解方法。它通過迭代地更新參數向量對f進行了優化,這個更新是朝著隨機梯度g的反方向進行的。這裡的隨機梯度是通過訓練數據集的第t個小批次計算而來。SGD的參數更新策略如下所示:
現在,我們介紹一個新穎的非線性函數:
並稱之為Powerball函數。這裡sign是指符號函數,如果z是一個向量,則Powerball函數要作用到z的每一個元素上。這裡的參數gamma是Powerball函數引入的一個新參數,用以調整Powerball函數作用的機制和強度。
這裡,我們把Powerball函數作用到SGD的隨機梯度項上,如下所示:
便得到了新的pbSGD優化算法。
2、pbSGDM
動量技術是從物理過程中獲取的靈感,已將其成功地應用於SGDM,並在大多數情況下可以獲得神經網絡的更佳訓練結果。我們這裡同樣提出pbSGD的動量加速形式,即pbSGDM,其參數更新規則為:
本文提出的兩個算法,其偽代碼可總結為如下形式:
4
實驗對比
在三個公開數據集CIFAR-10、CIFAR-100和ImageNet上,我們分別使用了幾種不同的模型來比較算法的收斂速度和泛化效果,其中CIFAR-10用於訓練模型ResNet-50和DenseNet-121、CIFAR-100用於訓練ResNet-29和WideResNet、ImageNet用於訓練ResNet-50。另外我們構建了一個13層的全連接神經網絡來驗證pbSGD緩解梯度消失的能力。
1、收斂和泛化對比實驗
我們在三個數據集上完成了七個不同的對比實驗,對比用的優化器有SGDM、pbSGD、pbSGDM、AdaGrad、RMSProp和Adam,我們在1.0~1e-4的範圍內通過網格搜索找到最佳的學習率,每個學習率完成五次求平均值以避免隨機誤差,其他的超參數保持默認值,實驗中參數的設置與其他論文保持一致。下圖展示了最佳學習率的情況下,各優化器在不同實驗下的訓練曲線,其中箭頭標註出的是測試集上最佳的準確率,實驗結果如下所示:
從實驗結果中我們可以看出加入Powerball函數得到的pbSGD算法在沒有積累歷史梯度信息的情況下,在前期收斂上比自適應算法(AdaGrad、RMSProp和Adam)更加迅速,在CIFAR-10和CIFAR-100測試集上的表現與SGD相比相差無幾,pbSGDM和pbSGD表現相近。在ImageNet數據集上pbSGD仍然展現出了較好的收斂速度,但是我們注意到泛化性能與SGD差距加大,我們猜測是自適應算法和pbSGD改變了梯度分布,在較大數據集上導致了不好的結果。
2、梯度消失
Powerball函數的引入重新縮放了梯度向量,因此在深度神經網絡中還可以緩解梯度消失的問題。我們設計了一個13層的全連接網絡,激活函數選擇為ReLU,分別使用SGD和pbSGD來訓練,學習率仍然採用網格搜索選取。通過實驗我們發現SGD無法訓練該網絡結構,而pbSGD在縮放梯度向量後可以正常訓練模型。
3、魯棒性改善
在實驗中我們發現,超參數gamma的引入不僅可以加速收斂,同時可以改善對測試集準確率和收斂性的魯棒性。(gamma=1.0時pbSGD變為了SGD算法)
1)改善學習率對準確率的魯棒性
超參數gamma可以在設置學習率較小時規範測試集表現,例如在學習率eta=1e-3、gamma=0.6時,pbSGD的測試集準確率為90.06%,而SGD準確率為79.87%。
2)改善學習率對收斂的魯棒性
超參數gamma同樣可以改善學習率對收斂的魯棒性,在學習率設置的不太合適時pbSGD仍然能取得較好的收斂表現。
4、與學習率策略相結合
pbSGD只對梯度項做了改變,因此可以與其他優化方法很好的結合起來去進一步提升整體的性能。我們選擇了restart的學習率策略用於對比實驗,從結果中可以看出結合了學習率策略的pbSGD取得了更好的結果。
5、對batch size的魯棒性
增加batch size可以加大每次迭代時的計算量從而加速訓練過程,然而因為改變了梯度的分布特點,也會導致泛化性能的變差。我們採用不同的大小進行對比實驗來探討pbSGD對batch size的魯棒性。從實驗中我們可以看出,batch size的增加使得SGD的泛化性能迅速降低,而對pbSGD的影響相對較小,Powerball函數的引入提升了SGD對於batch size的魯棒性。
5
總結
本文中我們提出了一種簡單易行但切實有效的方法用於改進SGD和SGDM方法的性能,實驗結果證明該方法可以有效地加速訓練中模型前期的收斂、改善超參數選擇的魯棒性,並且緩解梯度消失的問題。另外,該方法可以很好的與其他方法相互補,比如學習率策略,用於進一步改進優化器的性能。
參考文獻:
[1] Y. Yuan, M.Li, J. Liu and C. Tomlin, "On the Powerball Method: Variants of DescentMethods for Accelerated Optimization," in IEEE Control Systems Letters,vol. 3, no. 3, pp. 601-606, 2019.
招聘
AI科技評論希望能夠招聘科技編輯/記者
辦公地點:北京/深圳
職務:以跟蹤學術熱點、人物專訪為主
工作內容:
1、關注學術領域熱點事件,並及時跟蹤報導;
2、採訪人工智慧領域學者或研發人員;
3、參加各種人工智慧學術會議,並做會議內容報導。
要求:
1、熱愛人工智慧學術研究內容,擅長與學者或企業工程人員打交道;
2、有一定的理工科背景,對人工智慧技術有所了解者更佳;
3、英語能力強(工作內容涉及大量英文資料);
4、學習能力強,對人工智慧前沿技術有一定的了解,並能夠逐漸形成自己的觀點。
感興趣者,可將簡歷發送到郵箱:jiangbaoshang@yanxishe.com
點