1. 程式人生 > >深度學習: 學習率 (learning rate)

深度學習: 學習率 (learning rate)

                                     深度學習: 學習率 (learning rate)

 

 作者:liulina603        致敬
原文:
https://blog.csdn.net/liulina603/article/details/80604385
 

深度學習: 學習率 (learning rate)

Introduction

學習率 (learning rate),控制 模型的 學習進度 : 

lr 即 stride (步長) ,即反向傳播演算法中的 ηη :

ωn←ωn−η∂L∂ωnωn←ωn−η∂L∂ωn

 

 學習率大小

  學習率 大 學習率 小
學習速度
使用時間點 剛開始訓練時 一定輪數過後
副作用 1.易損失值爆炸;2.易振盪。 1.易過擬合;2.收斂速度慢。

 

學習率設定

在訓練過程中,一般根據訓練輪數設定動態變化的學習率

  • 剛開始訓練時:學習率以 0.01 ~ 0.001 為宜。
  • 一定輪數過後:逐漸減緩。
  • 接近訓練結束:學習速率的衰減應該在100倍以上。

 Note: 
如果是 遷移學習 ,由於模型已在原始資料上收斂,此時應設定較小學習率 (≤10−4≤10−4) 在新資料上進行 微調 。

 

把脈 目標函式損失值 曲線

理想情況下 曲線 應該是 滑梯式下降 [綠線]: 


 1. 曲線 初始時 上揚 [紅線]: Solution:初始 學習率過大 導致 振盪,應減小學習率,並 從頭 開始訓練 。
 2. 曲線 初始時 強勢下降 沒多久 歸於水平 [紫線]: 
Solution:後期 學習率過大 導致 無法擬合,應減小學習率,並 重新訓練 後幾輪 。

  3. 曲線 全程緩慢 [黃線]  Solution:初始 學習率過小 導致 收斂慢,應增大學習率,並從頭 開始訓練。

希望對你有幫助!