batch normalization 問題?
2019/07/23 下午 10:01
機器學習共學討論版
Benjamin Shao
觀看數:16
回答數:1
收藏數:0
Hi all:
我看到講義裡面batch normalization是加在每一層的affine層之後
但是看到code都是寫在Dense後面而Dense裡面又有activate function
如果把activate function關掉先加上batch normalization的結果又比較好
那想請問公式所說的batch normalization是應該加在哪呢?
還是我對api的了解錯誤了?
另外我想問因為每個batch的平均跟變異數不一樣,
當訓練完成後batch normalization layer的平均是跟變異數取用全部的樣本的嗎?
謝謝
回答列表
-
2019/07/24 下午 09:23Seanyu.TW贊同數:1不贊同數:0留言數:0
Hi,
現在的 BN 多是採用 pre-activation,也就是放在 action layer 之前 (參考https://arxiv.org/pdf/1603.05027.pdf)。總結來說,加在前或後都可以,只是根據論文的實驗來說,通常放在前面比較好。
另外,BN 在 inference 時,會採用的是 moving average 以及 moving variance,他是在訓練時一起更新的,所以訓練結束後你不需要擔心到底該用哪個 mean/var。