Docs ?
Layers ?
標(biāo)準(zhǔn)化層 Normalization
BatchNormalization
keras.layers.BatchNormalization(axis=-1, momentum=0.99, epsilon=0.001, center=True, scale=True, beta_initializer='zeros', gamma_initializer='ones', moving_mean_initializer='zeros', moving_variance_initializer='ones', beta_regularizer=None, gamma_regularizer=None, beta_constraint=None, gamma_constraint=None)
批量標(biāo)準(zhǔn)化層 (Ioffe and Szegedy, 2014)被环。
在每一個批次的數(shù)據(jù)中標(biāo)準(zhǔn)化前一層的激活項巍虫, 即,應(yīng)用一個維持激活項平均值接近 0琅攘,標(biāo)準(zhǔn)差接近 1 的轉(zhuǎn)換代虾。
參數(shù)
-
axis: 整數(shù),需要標(biāo)準(zhǔn)化的軸 (通常是特征軸)。 例如华糖,在
data_format="channels_first"
的Conv2D
層之后, 在BatchNormalization
中設(shè)置axis=1
瘟裸。 - momentum: 移動均值和移動方差的動量客叉。
- epsilon: 增加到方差的小的浮點(diǎn)數(shù),以避免除以零话告。
-
center: 如果為 True兼搏,把
beta
的偏移量加到標(biāo)準(zhǔn)化的張量上。 如果為 False沙郭,beta
被忽略佛呻。 -
scale: 如果為 True,乘以
gamma
病线。 如果為 False吓著,gamma
不使用。 當(dāng)下一層為線性層(或者例如nn.relu
)送挑, 這可以被禁用绑莺,因?yàn)榭s放將由下一層完成。 - beta_initializer: beta 權(quán)重的初始化方法惕耕。
- gamma_initializer: gamma 權(quán)重的初始化方法纺裁。
- moving_mean_initializer: 移動均值的初始化方法。
- moving_variance_initializer: 移動方差的初始化方法司澎。
- beta_regularizer: 可選的 beta 權(quán)重的正則化方法欺缘。
- gamma_regularizer: 可選的 gamma 權(quán)重的正則化方法。
- beta_constraint: 可選的 beta 權(quán)重的約束方法惭缰。
- gamma_constraint: 可選的 gamma 權(quán)重的約束方法浪南。
輸入尺寸
可以是任意的。如果將這一層作為模型的第一層漱受, 則需要指定 input_shape
參數(shù) (整數(shù)元組络凿,不包含樣本數(shù)量的維度)。
輸出尺寸
與輸入相同昂羡。
參考文獻(xiàn)