神经网络十大学习率衰减提效策略
神經網絡十大學習率衰減提效策略!
目前越來越多非結構化問題的出現,神經網絡也扮演著愈加重要的作用。一個好的神經網絡對于最終任務的預測至關重要,但要得到一個好的神經網絡則需要考慮眾多的因素,本文我們重點介紹神經網絡中調參重學習率衰減的調節策略。本文介紹目前tensorflow中的9大學習率衰減策略。
exponential_decay = learning_rate_decay.exponential_decay piecewise_constant = learning_rate_decay.piecewise_constant polynomial_decay = learning_rate_decay.polynomial_decay natural_exp_decay = learning_rate_decay.natural_exp_decay inverse_time_decay = learning_rate_decay.inverse_time_decay cosine_decay = learning_rate_decay.cosine_decay cosine_decay_restarts = learning_rate_decay.cosine_decay_restarts linear_cosine_decay = learning_rate_decay.linear_cosine_decay noisy_linear_cosine_decay = learning_rate_decay.noisy_linear_cosine_decay在對應區間置中不同的學習率的常數值,一般初始學習率會大一些,后面越來越小,要根據樣本量的大小設置區間的間隔大小,樣本量越大,區間間隔要小一點。在真正的網絡訓練中,需要操作人員根據具體任務對學習率具體設置。下圖即為分段常數衰減的學習率變化圖,橫坐標代表訓練次數,縱坐標代表學習率。
該方法有助于針對不同任務進行精細地調參,在任意步長后下降任意數值的learning rate。
指數衰減的方式,學習率的大小和訓練次數指數相關,指數衰減簡單直接,收斂速度快,是最常用的學習率衰減方式,其數學公式為:
如下圖所示,紅色的為學習率隨訓練次數的指數衰減方式,藍色的即為分段常數衰減 。
自然指數衰減和指數衰減方式相似,不同的在于它的衰減底數是e,所以它的收斂的速度更快,一般用于相對比較容易訓練的網絡,便于較快的收斂,其更新公式為:
和分段常數以及指數衰減相比,其中綠色的是自然指數衰減。
多項式衰減的方式進行更新學習率,需要給定初始學習率和最低學習率,然后按照給定的衰減方式將學習率從初始值衰減到最低值,其更新規則即為:
此處需要注意有兩個機制:
可以用它來防止神經網絡在訓練的后期由于學習率過小而導致的網絡一直在某個局部最小值附近震蕩,在后期增大學習率跳出局部極小值。
倒數衰減的數學公式為:
顧名思義,就是采用余弦方式進行學習率的衰減。其更新機制如下:
其中alpha可以看作是baseline,保證學習率不會低于某個值。不同alpha的影響如下:
學習率以循環周期進行衰減。是循環學習率的cycle版本。
余弦函數式的下降模擬了大lr找潛力區域然后小lr快速收斂的過程,加之restart帶來的cycle效果,有漲1-2個點的可能。
線性余弦衰減方式是基于余弦方式的衰減策略,其數學公式為:
線性余弦衰減一般應用領域是增強學習領域,
在線性余弦衰減的基礎上,加入了噪聲。就得到了噪聲線性余弦衰減。噪聲線性余弦衰減提升了學習率尋找最優值的隨機性和可能性。
大家還可以依據自己的想法自定義學習率衰減策略,例如可以依據驗證集合的表現,來更新學習率,如果驗證集合上評估指標在不斷變好,則保持lr,否則降低學習率。
總結
以上是生活随笔為你收集整理的神经网络十大学习率衰减提效策略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大规模推荐Deep Retrieval
- 下一篇: AAAI21最佳论文Informer:效