Batch Normalization 和一般 Normalization 差別
-
Google 於 2015 年提出了 Batch Normalization 的方法,和輸入數據先做 feature scaling 再進行網路訓練的方法類似。在輸入數據時,通常都會先將 feature 做 normalize 後再進行訓練,可以加速模型收斂;而 Batch Normalization 就是指在每一層輸入都做一次 normalize
-
Batch Normalization 的作法就是對每一個 mini-batch 都進行正規化到平均值為0、標準差為1的常態分佈,如此一來可以將分散的數據統一,有助於減緩梯度消失以及解決 Internal Covariate Shift 的問題,同時可以加速收斂,並且有正則化的效果 (可以不使用Dropout)
-
多的請參考:https://medium.com/ching-i/batch-normalization-%E4%BB%8B%E7%B4%B9-135a24928f12
BatchNormalization与LayerNormalization的區別
- Batch Normalization 的處理對像是對一批樣本, Layer Normalization 的處理對像是單一樣本。 Batch Normalization 是對這批樣本的同一維度特徵做歸一化, Layer Normalization 是對這單一樣本的所有維度特徵做歸一化。