logo
Loading...

batch normalization 問題? - Cupoy

Hi all:我看到講義裡面batch normalization是加在每一層的affine層之後但...

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:23
    Seanyu.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。