加速神經網路訓練 (Speed Up Training)
從訓練數據下手
Stochastic Gradient Descent (SGD)
一般的訓練方式,是將整套數據放到 NN 中訓練,這樣會消耗很大的計算資源。
SGD 將數據分批放進 NN 中訓練,使用分批的數據雖然不能反映整體數據情況,
不過大幅度加快 NN 的訓練過程,而且不會丟失太多準確率。
從權重(W) 的更新方式下手
傳統的權重(W) 更新是把原始的權重(W) 累加上一個負的學習率(learning rate)
乘以校正值(dx),這種方法可能會讓學習過程曲折無比、學習效率低下。
加速更新權重的方式有:
- Momentum
- AdaGrad
- RMSProp:結合 Momentum 和 AdaGrad 的優點。
- Adam:改良 RMSProp。
實驗證明,大多數的情況下,Adam 都能快又準確地收斂至目標。