Deep Learning(1-BP)

機器學習 深度學習 GPU StevenLoveAlice 2017-04-01

計算梯度:反向傳播

Deep Learning(1-BP)


Deep Learning(1-BP)


Deep Learning(1-BP)


訓練神經網絡實例一

損失函數難以最優化

Deep Learning(1-BP)


如何選擇學習速率?

  • 太小:訓練所需時間長,迭代次數多,容易陷入局部優化;

  • 太大:難以訓練

Deep Learning(1-BP)


如何選擇學習速率?

  • 用不同的學習速率訓練,找到更好值;

  • 又更“聰明”的方式:自適應性學習速率(取決於學習過程快慢、梯度大小等)

自適應學習速率算法:

  • ADAM

  • Momentum

  • NAG

  • Adagrad

  • Adadelta

  • RMSProp

請參考:http://sebastianruder.com/optimizing-gradient-descent/


訓練神經網絡實例二(MiniBatches)

隨機梯度下降

Deep Learning(1-BP)

小批量(MiniBatches

Deep Learning(1-BP)


MiniBatches的優點

  • 更準確的梯度估計;

  • 平滑收斂;

  • 允許較大的學習率;

  • 小批量導致快速訓練!

  • 可並行化計算+實現GPU上顯著的速度提升。


訓練神經網絡實例三(防止過擬合)

Deep Learning(1-BP)


正則化

  • Dropout;

  • Early Stopping;

  • Weight Regularization……


Dropout

訓練過程中,隨機地將一些激活單元設置為0

  • 通常“drop”50%的隱藏層層激活單元;

  • 強制神經網絡不依賴任何1個節點;

Deep Learning(1-BP)


隨機地……

Deep Learning(1-BP)


Early Stopping

  • 不給網絡過擬合的時間(機會);

  • ……

  • Epoch 15: Train: 85% Validation: 80%

  • Epoch 16: Train: 87% Validation: 82%

  • Epoch 17: Train: 90% Validation: 85% 在這裡停止!

  • Epoch 18: Train: 95% Validation: 83%

  • Epoch 19: Train: 97% Validation: 78%

  • Epoch 20: Train: 98% Validation: 75%

Deep Learning(1-BP)


權重正則化(Weight Regularization)

  • 大的權重值通常意味著存在過擬合;

  • 將權重加入損失函數中進行訓練;

  • 保持小權重值。

Deep Learning(1-BP)


核心概念回顧

  • 感知器分類器

  • 堆疊感知器形成神經網絡

  • 將實際問題抽象成神經網絡問題

  • 反向傳播訓練神經網絡

  • 改進深層神經網絡的訓練方法


相關推薦

推薦中...