Layers ? 標(biāo)準(zhǔn)化層 Normalization


[source]

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)化前一層的激活項(xiàng), 即,應(yīng)用一個維持激活項(xià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)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容