BatchNormalization問題
2020/04/04 下午 03:40
電腦視覺深度學習討論版
Tie
觀看數:16
回答數:1
收藏數:0
batchnormalization
您好,想請問下面這段話,依照這樣的敘述,不管什麼情況應該都可以使用BN對嗎?
因為即便學到的特徵消失,透過調整Beta、Gamma,也使得最差會回到原先的原始數據是嗎?
還有我其實還是看不太懂,為什麼可以改變資料的分布情形,是跟一般標準化的時候降低離群值的影響程度一樣嗎?
然⽽ Normalize 改變資料的分佈,可能會造成上⼀層學到的特徵消失,因此 BN 的最後⼀步透過學習 Beta、Gamma,去微調 Normalize 後資料的分佈
回答列表
-
2020/04/05 上午 10:36Jeffrey贊同數:0不贊同數:0留言數:0
可以從原本的定義來看:
1. 特徵標準化(normalization)是將特徵資料按比例縮放,讓資料落在某一特定的區間。
2. 好處:把每一個 Layer 的 feature 都做 Normalization 後,對於每一個 Layer 而言,確保 output 的 Statistic 是固定的.
3. 但是麻煩的地方在於,我們不太容易讓他的 Statistic 固定,因為在整個 training 的過程中,Network 的參數是不斷在變化的,所以每一個 Hidden Layer 的 mean 跟 variance 是不斷在變化的
所以我們需要一個新的技術,這個技術就叫做 “Batch Normalization”
BN 可以放在 activation 之前或者之後, 若是要避免丟進 activation function 的資料 mean 都是 0,標準差都是 1, 可以加上 garma 跟 beta 來調整他的 mean 跟 standard deviation
NOTE: 參照李宏毅老師的教材說明