2017-01-31 22 views
0

我曾經看到卷積層被定義爲Keras關於的方法來設置激活和BatchNormalization在Keras

x = Convolution2D(128, kernel, kernel, border_mode='same')(x) 
x = BatchNormalization()(x) 
x = Activation('relu')(x) 
x = Convolution2D(128, kernel, kernel, border_mode='same')(x) 
x = BatchNormalization()(x) 
x = Activation('relu')(x) 

如下這在我看來,Activation可也設置在Convolution2D爲好。如上所述,在獨立層中設置Activation的原因是什麼?此外,在Convolution2DActivation之間,有BatchNormalization,我們可以在Activation之後移動BatchNormalization嗎?那麼會有什麼不同嗎?

回答

0

這不是一個穩定的問題。大多數人在激活功能之前都有批量標準化。然而,實際上有些人已經發現,在激活函數之後進行批量標準化也是可行的,據我所知在更好的方面沒有共識。我建議你在你的特定問題和數據上都嘗試。不要指望有任何重大差異。