訓練類神經網路:最佳做法

本節說明反向傳播的失敗案例,以及標準化類神經網路最常見的方法。

失敗案例

導致反向傳播錯誤的原因有很多。

消失漸層

較低圖層 (靠近輸入) 的漸層可能會非常小。在深度網路中,計算這些梯度可能會涉及利用許多小型字詞的產出。

當較低層的梯度下降至 0 時,這些圖層的訓練速度會非常緩慢,甚至完全不訓練。

ReLU 活化函式有助於防止漸層消失。

爆炸梯度

如果網路中的權重極大,較低層的漸層會包含許多大型字詞的產品。在這種情況下,您可以進行爆炸漸層:漸層過大而無法收斂。

批次正規化有助於防止爆炸性漸層,因為可降低學習率。

壞死線

ReLU 單位的加權總和低於 0 時,ReLU 單位可能會卡住。結果會輸出 0 次啟動,不會對網路輸出內容造成任何影響,且漸層在反向傳播期間再也無法跨越網路輸出。當漸層來源遭到截斷時,ReLU 的輸入可能永遠不會改變,導致加權總和超過 0。

降低學習率可防止 ReLU 單元死亡。

丟棄標準

然而,另一種正規化形式稱為 Dropout,對於類神經網路非常實用。運作方式是針對單一漸層步驟,在網路中隨機「捨棄」單元啟用。退出程度越高 正規化也越完善

  • 0.0 = 沒有棄置正則化。
  • 1.0 = 捨棄所有內容。模型不會學習任何結果。
  • 介於 0.0 和 1.0 之間的值 = 較實用。