Datawhale X 李宏毅蘋果書 AI夏令營 Task2筆記

LYLtim發表於2024-08-31
Task2.1:《深度學習詳解》- 3.3&4&5 自適應學習率的概念和方法,包括AdaGrad、RMSProp和Adam等最佳化器。

- **訓練網路時的梯度和損失變化**:訓練網路時損失可能不再下降,但梯度範數不一定小,梯度可能在山谷壁間“震盪”,多數訓練未到臨界點就停止。
- **不同學習率的影響**:學習率過大或過小都會影響訓練效果,過大步伐大無法滑到谷底,過小則難以靠近區域性最小值。
- **自適應學習率方法**:包括AdaGrad能根每個引數的梯度大小自動調整學習率;RMSProp可動態調整同一引數不同時間的學習率;Adam是RMSprop加上動量,能自適應調整學習率。

- **AdaGrad**: 根據每個引數的梯度大小自動調整學習率,使得在梯度大時學習率減小,在梯度小時學習率增大。

  1. 梯度大時減小學習率:當某個引數的梯度值很大時,意味著在這個方向上模型的損失下降很快。如果此時學習率還保持較高,可能會導致引數更新步長過大,從而越過最小值,造成震盪甚至發散。因此,減小學習率可以使得引數更新更加穩健,避免“超調”。

  2. 梯度小時增大學習率:反之,當某個引數的梯度值很小時,說明在這個方向上損失下降緩慢,可能意味著當前的學習率過小,導致學習過程過於緩慢。此時增大學習率可以加快學習過程,更快地逼近最小值。

- **RMSProp**: 同一個引數需要的學習率,也會隨著時間而改變。透過引入超引數α來調整當前梯度與之前梯度的權重,實現學習率的動態調整。

- **Adam最佳化器**: 是RMSProp加上動量的方法,能夠同時考慮引數更新的方向和大小,實現更有效的訓練。

- **學習率排程**:透過讓學習率與時間相關,採用學習率衰減策略,可解決訓練中出現的問題,使訓練更順利地達到終點。

神經網路訓練不起來怎麼辦(4):損失函式(Loss)也可能有影響_思維導圖:

相關文章