引入Powerball 與動量技術,新SGD優化算法收斂速度與泛化效果雙...

2020-12-06 AI 科技評論

本文介紹的是 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

相關焦點

  • Adam 優化算法詳解
    據牛津字典的定義,優化是指最好或最有效地利用一種情況或資源,或者簡單地使自己的事物達到最佳狀態的行為。 通常,如果可以對某事進行數學建模,則很有可能可以對其進行優化。 這在深度學習領域起著至關重要的作用(可能是整個人工智慧),因為您選擇的優化算法可能是在數分鐘,數小時或數天(有時甚至是數周)內獲得高質量結果的區別。
  • 精度45.9%,推理速度72.9FPS,百度飛槳推出工業級目標檢測模型
    允中 發自 凹非寺量子位 編輯 | 公眾號 QbitAI工業視覺、自動駕駛、安防、新零售等我們身邊熟知的各行各業都需要目標檢測技術,由於其很好的平衡了標註成本、檢測精度和速度等,成為當前智能製造產業升級浪潮中被商業化應用最為廣泛的AI技術之一。
  • 利用遺傳算法優化GANs
    對於我的普通電腦來說,把gan訓練到收斂是非常困難的。遺傳算法是根據大自然中生物體進化規律而設計提出的,是根據大自然中生物體進化規律而設計提出的。是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。
  • 谷歌AI造芯新突破!6小時設計AI晶片,質量超最先進算法
    與原有方法不同,谷歌的新算法能從過去的經驗中學習,並隨著時間的推移而改進。特別是當訓練更多晶片塊(block)時,其算法能快速地為以前從未見過的晶片塊生成優化的設計。研究人員表示,相較當前最高水平的基線,這一方法可以使真正的AI加速器(谷歌TPUs)達到更好的功率、性能和面積(PPA)。
  • 二階梯度優化新崛起,超越 Adam,Transformer 只需一半迭代量
    但是二階梯度的收斂速度相比它們就快了太多。近日,谷歌研究者聯合普林斯頓大學等,提出了真正應用的二階梯度最優化器 Shampoo,讓這個理論上頗有前景的設想變為現實。目前,無論是從理論還是應用層面來說,機器學習中的優化都是以隨機梯度下降等一階梯度方法為主。
  • 大巖資本黃鉑:最優化算法的前世今生(中篇)
    每一步都做到了最優化,但很遺憾的是,對於整個算法而言,它並不是非常好的算法。因為它的收斂速度是線性收斂,線性收斂對於最優化算法而言是一種比較慢的算法,但也是凸優化裡最自然的一個算法,最早被應用。第二個算法,共軛梯度法。與最速下降法相比較(看下圖),綠色的線是最速下降法的迭代,從最外層到中心點可能需要五步迭代,但是共軛梯度法可能只需兩步迭代(紅色線)。
  • 案例實踐丨最優化算法的前世今生
    每一步都做到了最優化,但很遺憾的是,對於整個算法而言,它並不是非常好的算法。因為它的收斂速度是線性收斂,線性收斂對於最優化算法而言是一種比較慢的算法,但也是凸優化裡最自然的一個算法,最早被應用。第二個算法,共軛梯度法。與最速下降法相比較(看下圖),綠色的線是最速下降法的迭代,從最外層到中心點可能需要五步迭代,但是共軛梯度法可能只需兩步迭代(紅色線)。
  • 7 Papers | 超圖表示學習新框架HNHN;GNN的泛化與表示極限
    機器之心 & ArXiv Weekly Radiostation參與:杜偉、楚航、羅若天本周的重要論文有 Bengio 等學者提出的超圖表示學習新框架HNHN,以及 MIT 博士生對 GNN 泛化與表示極限的探索。
  • 運籌學算法優化在航空公司的應用研究
    國外先進的航空公司,依託IT技術,引入運籌學模型,通過算法優化,求出最優解,使航空公司業務「運營齒輪」達到順暢運轉最優狀態。運籌學的算法優化理論,其主要目的是在決策時為管理人員提供科學依據,實現有效管理、正確決策和現代化管理。基於運籌學原理的算法優化分析,可以指導航空公司,在現有機隊、機組、航線、航權等約束資源條件下,安排出對航空公司收益最大化的解決方案。
  • 常見的機器學習算法,你知道幾個?
    【天極網網絡頻道】誕生於1956年的人工智慧,由於受到智能算法、計算速度、存儲水平等因素的影響,在六十多年的發展過程中經歷了多次高潮和低谷。最近幾年,得益於數據量的上漲、運算力的提升,特別是機器學習新算法的出現,人工智慧迎來了大爆發的時代。
  • 工程之道:曠視天元框架亞線性顯存優化技術解析
    不斷增加的數據和持續創新的算法給深度學習框架帶來了新挑戰,能否在模型訓練時有效利用有限的計算存儲資源,尤其是減少 GPU 顯存佔用,是評估深度學習框架性能的重要指標。圖 2:三種顯存優化方法優化 batch size 的對比:ResNet50通過選定同一模型、給定 batch size,可以更好地觀察遺傳算法優化顯存佔用的情況。如圖 3 所示,隨著迭代次數的增加,遺傳算法逐漸收斂顯存佔用,並在第 5 次迭代之後達到一個較穩定的狀態。
  • 股市微講堂之「動量指標MTM」
    動量指標MTM: 動量指標MTM是一種專門研究股價波動的中短期技術分析工具。動量指標的理論基礎是價格與供求量的關係,它認為股價的漲跌幅度隨著時間的推移會逐漸變小,股價變化的速度和能量也會慢慢減緩,隨後,行情就可能發生反轉。
  • 性能提升30%以上,實時實例分割算法SOLOv2實現產業SOTA
    本文介紹了產業SOTA的實時實例分割算法SOLOv2。目標檢測無法精細獲得目標邊界形狀和面積,語義分割無法區分不同目標個體,並分別獲得位置。小夥伴們可能會疑惑,以上動圖展示的實例分割效果顯然兼具了目標檢測和語義分割二者的能力,是通過什麼技術實現的呢?
  • 神經網絡並不是尚方寶劍,我們需要正視深度 NLP 模型的泛化問題
    該 workshop 針對兩個問題展開了討論:我們如何才能充分評估我們的系統在新的、從前沒有遇見過的輸入上運行的性能?或者換句話說,我們如何充分評估我們系統的泛化能力?我們應該如何修改我們的模型,使它們的泛化能力更好?這兩個問題都很困難,為期一天的 workshop 顯然不足以解決它們。
  • 真實訓練中Adam無法收斂到最佳位置?改進版 AdaX來拯救!
    ,之後也出現了許多優秀的算法,如AdaShift[2], NosAdam [3], AdaBound [4],以及最新的Radam [5],但是大多數算法都還難以在泛化性能上與SGD+Momentun打成平手。
  • IEEE預發:DeepMind主攻的深度強化學習3大核心算法及7大挑戰
    與主導棋牌系統的手工定製的規則不同,AlphaGo由使用監督學習和強化學習訓練的神經網絡,結合傳統的啟發式搜索算法而成。  DRL算法已被應用於各種各樣的問題,例如機器人技術,創建能夠進行元學習(「學會學習」learning to learn)的智能體,這種智能體能泛化處理以前從未見過的複雜視覺環境。在圖1中,我們展示了應用DRL的一些領域,從玩視頻遊戲到室內導航。
  • 如何用EasyDL專業版實現貨架層數識別模型優化
    EasyDL是基於飛槳框架PaddlePaddle推出的面向企業打造的一站式AI開發平臺,構建了一套視覺算法框架,從數據、模型兩方面著手效果優化,提供給開發者更多靈活可選的效果優化機制。圖1是效果優化機制的總體概覽。圖1.