深度學習優化算法總結(SGD,AdaGrad,Adam等)

2021-03-02 極市平臺

加入極市專業CV交流群,與6000+來自騰訊,華為,百度,北大,清華,中科院等名企名校視覺開發者互動交流!更有機會與李開復老師等大牛群內互動!

同時提供每月大咖直播分享、真實項目需求對接、乾貨資訊匯總,行業技術交流點擊文末「閱讀原文」立刻申請入群~

作者 |劉浪

原文 | https://zhuanlan.zhihu.com/p/61955391

動量(Momentum)算法帶動量的 SGD

引入動量(Momentum)方法一方面是為了解決「峽谷」和「鞍點」問題;一方面也可以用於SGD 加速,特別是針對高曲率、小幅但是方向一致的梯度。


參數更新公式


 為梯度

動量算法描述


如果動量算法總是觀測到梯度 g,那麼它會在 −g 方向上不斷加速,直到達到最終速度。 

在實踐中, α 的一般取 0.5, 0.9, 0.99,分別對應最大2 倍、10 倍、100 倍的步長

和學習率一樣,α 也可以使用某種策略在訓練時進行自適應調整;一般初始值是一個較小的值,隨後會慢慢變大。自適應學習率的優化方法


NAG 算法(Nesterov 動量)


自適應學習率的優化算法AdaGrad

AdaGrad 存在的問題



RMSProp


Adam


偏差修正

*延伸閱讀

點擊左下角閱讀原文」,即可申請加入極市目標跟蹤、目標檢測、工業檢測、人臉方向、視覺競賽等技術交流群,更有每月大咖直播分享、真實項目需求對接、乾貨資訊匯總,行業技術交流,一起來讓思想之光照的更遠吧~

覺得有用麻煩給個在看啦~  

相關焦點

  • 使用Numpy進行深度學習中5大反向傳播優化算法的性能比較
    在本文中,我們將通過計算二次凸函數的最優點來數值比較主要的深度學習優化算法的性能。簡介深度學習被稱為人工智慧的未來。現在,神經網絡被稱為通用函數逼近器,也就是說,它們有能力表示這個宇宙中任何複雜的函數。計算這個具有數百萬個參數的通用函數的想法來自優化的基本數學。優化可以通過多種方式完成,但在本文中,我們將重點討論基於梯度下降的優化技術。
  • 深度學習筆記 | 第3講:深度學習優化算法之從SGD到Adam
    又到了每周一狗熊會的深度學習時間了。在上一期中,小編和大家介紹了機器學習和深度學習中的核心任務以及神經網絡的正則化方法和dropout方法來防止過擬合。本期將借著第一期推送小編關於模型與算法的討論的引子,和大家深入探討機器學習和深度學習的數學本質,並在此基礎上重點介紹深度學習中常用的優化算法。
  • 6種機器學習中的優化算法:SGD,牛頓法,SGD-M,AdaGrad,AdaDelta,Adam
    正文共:1710 字 8 圖預計閱讀時間: 10 分鐘本文一共介紹6種機器學習中的優化算法:
  • 歷史最全深度學習與NLP核心概念、模型、策略及最新論文整理分享
    本資源整理了與自然語言處理(NLP)相關的深度學習技術核心概念,以及2019年概念相關最新的論文,涉及算法優化(Adam,Adagrad、AMS、Mini-batch SGD等),參數初始化(Glorot initialization、 He initialization),模型約束(Dropout、 Word Dropout、Patience、Weight Decay等),
  • 乾貨|全面理解SGD,Momentum,AdaGrad,RMSProp,Adam優化算法
    主要內容主要講述SGD,Momentum,AdaGrad,RMSProp,Adam優化算法1.1. SGD1.1.1 Batch Gradient Descent在每一輪的訓練過程中,Batch Gradient Descent算法用整個訓練集的數據計算cost fuction的梯度,並用該梯度對模型參數進行更新:
  • 深度學習調參tricks總結!
    差分學習率與遷移學習首先說下遷移學習,遷移學習是一種很常見的深度學習技巧,我們利用很多預訓練的經典模型直接去訓練我們自己的任務。雖然說領域不同,但是在學習權重的廣度方面,兩個任務之間還是有聯繫的。優化算法按理說不同的優化算法適合於不同的任務,不過我們大多數採用的優化算法還是是adam和SGD+monmentum。
  • 深度學習最常用的學習算法:Adam優化算法
    聽說你了解深度學習最常用的學習算法:Adam優化算法?-深度學習世界。深度學習常常需要大量的時間和機算資源進行訓練,這也是困擾深度學習算法開發的重大原因。雖然我們可以採用分布式並行訓練加速模型的學習,但所需的計算資源並沒有絲毫減少。而唯有需要資源更少、令模型收斂更快的最優化算法,才能從根本上加速機器的學習速度和效果,Adam 算法正為此而生!
  • 深度學習進階之Adam優化算法
    我們也可以看到流行的深度學習庫都採用了該論文推薦的參數作為默認設定。TensorFlow:learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08.Keras:lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0.
  • 聽說你了解深度學習最常用的學習算法:Adam優化算法?
    By蔣思源2017年7月12日  深度學習常常需要大量的時間和機算資源進行訓練,這也是困擾深度學習算法開發的重大原因。雖然我們可以採用分布式並行訓練加速模型的學習,但所需的計算資源並沒有絲毫減少。而唯有需要資源更少、令模型收斂更快的最優化算法,才能從根本上加速機器的學習速度和效果,Adam算法正為此而生!
  • 2020年深度學習調參技巧合集
    尋找合適的學習率學習率是一個非常非常重要的超參數,這個參數呢,面對不同規模、不同batch-size、不同優化方式、不同數據集,其最合適的值都是不確定的,我們無法光憑經驗來準確地確定lr的值,我們唯一可以做的,就是在訓練中不斷尋找最合適當前狀態的學習率。
  • 【乾貨】深度學習必備:隨機梯度下降(SGD)優化算法及可視化
    來源:CSDN 授權轉載作者:Sebastian Ruder譯者:一隻鳥的天空【新智元導讀】梯度下降算法是機器學習中使用非常廣泛的優化算法,也是眾多機器學習算法中最常用的優化方法。一般而言每次更新隨機選擇[50,256]個樣本進行學習,但是也要根據具體問題而選擇,實踐中可以進行多次試驗,選擇一個更新速度與更次次數都較適合的樣本數。mini-batch梯度下降可以保證收斂性,常用於神經網絡中。
  • SGD、Adam優化器
    公眾號:datayx各種優化器Optimizer的總結與比較https://blog.csdn.net/weixin_40170902/article/details/80092628優化損失函數損失函數:為了評估模型擬合的好壞,通常用損失函數來度量擬合的程度。
  • 你有哪些深度學習(rnn、cnn)調參的經驗?
    你有哪些深度學習(rnn、cnn)調參的經驗?解析:解析一@陳運文:cnn的調參主要是在優化函數、embedding的維度還要殘差網絡的層數幾個方面。優化函數方面有兩個選擇:sgd、adam,相對來說adam要簡單很多,不需要設置參數,效果也還不錯。
  • 深度 | 從修正Adam到理解泛化:概覽2017年深度學習優化算法的最新研究進展
    2017 年深度學習優化算法的最新進展,他主要從Adam算法的局限性與提升方法、學習率衰減方案、超參數搜索、怎樣學習優化和理解泛化性能等角度向我們展示近來研究者對最優化方法的思考與探索。近年來人們提出了多種優化算法,使用不同的方程更新模型的參數。Adam(Kingma and Ba, 2015)[18] 在 2015 年被提出,可以認為其在今天仍然是最常用的算法。因此從機器學習從業者的角度看來,深度學習最好的優化算法開發近年來基本沒有太大的突破。然而,今年我們開發了好幾種新的方法被,它們有望優於當前最佳的方法,並用於未來複雜模型的優化中。
  • 「人工神經網絡」人工神經網絡之BP算法
    BP模型(3)算法分為兩個階段:第一階段(正向過程)輸入信息從輸入層經隱層逐層計算各神經元的輸出值。BP算法工作流程(5)算法實現:神經網絡既可以用於處理分類問題,又可以處理回歸問題,相應算法只是在輸出層略有差別:·對於分類問題,幾元分類問題就有幾個輸出節點,每個節點對應一個類別。
  • 人工神經網絡算法介紹及其參數講解
    MLPClassifier是一個監督學習算法,下圖是只有1個隱藏層的MLP模型,左側是輸入層,右側是輸出層。        上圖的整體結構可以簡單的理解為下圖所示:算法優勢人工神經網絡具有自學習、自組織、自適應以及很強的非線性函數逼近能力,擁有強大的容錯性。人工神經網絡的特點和優越性,主要表現在三個方面:具有自學習功能。例如實現圖像識別時,只在先把許多不同的圖像樣板和對應的應識別的結果輸入人工神經網絡,網絡就會通過自學習功能,慢慢學會識別類似的圖像。
  • PyTorch 框架的深度學習優化算法集
    2.1 鞍積分    2.2 消失漸變3 凸性    3.1 convex set    3.2 凸函數4 局部極小值是全局極小值5 約束6 總結參考前言優化器或者優化算法,是通過訓練優化參數,來最小化(最大化)損失函數。
  • Adam 優化算法詳解
    據牛津字典的定義,優化是指最好或最有效地利用一種情況或資源,或者簡單地使自己的事物達到最佳狀態的行為。 通常,如果可以對某事進行數學建模,則很有可能可以對其進行優化。 這在深度學習領域起著至關重要的作用(可能是整個人工智慧),因為您選擇的優化算法可能是在數分鐘,數小時或數天(有時甚至是數周)內獲得高質量結果的區別。
  • 深度學習/NLP調參trick整理(附代碼)
    最近花了一個月,調了一個文本分類的模型,調參過程中從網上學到了很多技巧,在這裡總結整理並附上相關的代碼方便大家參考
  • 深度學習優化入門:Momentum、RMSProp 和 Adam
    事實上,有研究論文報導過使用足夠小的學習率來阻值山脊間的反彈可能導致參與者以為損失根本沒有改善,從而放棄訓練。如果 f 顯著下降的唯一方向是低曲率的,那麼優化可能會變得太慢而不切實際,甚至看起來完全停止,造成局部最小值的假象。  也許我們想要的是能讓我們慢慢進入病態曲率底部的平坦區域,然後在最小值的方向上加速。