improve deep learning network 課程筆記
公開課筆記
Bias & variance
bias: 1. more epoch 2. deeper network 3.hyperparameters
variance : larger dataset 2. regularization
regularization
L2 norm: weight decay
dropout regularization
dropout:在反向傳播誤差更新權值時候,隨機刪除一部分hidden units,以防止過擬合。
other methods for variance:
data augmentation:圖像有 翻轉、裁剪、扭曲、旋轉等操作
early stopping:
在validation error開始上升時,停止訓練
當神經網絡還未運行太多叠代過程的時候,w參數接近於0。開始叠代過程,w的值會變得越來越大。early stopping要做的就是在中間點停止叠代過程。這樣我們將會得到一個中等大小的w參數,這個結果與得到與L2正則化的結果相似,最終得到w參數較小的神經網絡。
梯度消失和梯度爆炸vanishing & exploding
神經網絡過深時易產生的現象.
解決方法:1.高斯分布權重初始化 2. relu 3.clip gradient(解決梯度爆炸)
4. shortcut
Mini batches
Exponentially weighted average
Bias correction
Monumentum
RMSprop
Adam OPTIMIZER
Momentum + RMSprop
Learning rate decay
解決方法:Adam optimizer等
Batch normalize
關於batch normalization 論文解讀:https://www.cnblogs.com/guoyaohua/p/8724433.html
IID獨立同分布假設,就是假設訓練數據和測試數據是滿足相同分布的,這是通過訓練數據獲得的模型能夠在測試集獲得好的效果的一個基本保障。那BatchNorm的作用是什麽呢?BatchNorm就是在深度神經網絡訓練過程中使得每一層神經網絡的輸入保持相同分布的。
Scale and shift:
經過變換後網絡表達能力下降,為了防止這一點,每個神經元增加兩個調節參數(scale和shift),這兩個參數通過訓練來學習,用於對變換後的激活反變換,使得網絡表達能力增強。
在我們訓練的過程中,對於訓練集的Mini-batch,使用指數加權平均,當訓練結束的時候,得到指數加權平均後的均值和方差,而這些值直接用於Batch Norm公式的計算,用以對測試樣本進行預測。
improve deep learning network 課程筆記