Keras 3 API 文件 / 層 API / 正規化層 / GroupNormalization 層

GroupNormalization 層

[原始碼]

GroupNormalization 類別

keras.layers.GroupNormalization(
    groups=32,
    axis=-1,
    epsilon=0.001,
    center=True,
    scale=True,
    beta_initializer="zeros",
    gamma_initializer="ones",
    beta_regularizer=None,
    gamma_regularizer=None,
    beta_constraint=None,
    gamma_constraint=None,
    **kwargs
)

群組正規化層。

群組正規化將通道劃分為群組,並在每個群組內計算平均值和變異數以進行正規化。 經驗上,如果學習率隨著批次大小線性調整,則其準確性在各種小批次大小中比批次正規化更穩定。

與層正規化的關係:如果群組數量設定為 1,則此操作幾乎與層正規化相同(有關詳細資訊,請參閱層正規化文件)。

與實例正規化的關係:如果群組數量設定為輸入維度(群組數量等於通道數量),則此操作與實例正規化相同。 您可以透過 groups=-1 來實現此目的。

參數

  • groups:整數,群組正規化的群組數量。 可以是範圍 [1, N] 內的整數,其中 N 是輸入維度。 輸入維度必須可被群組數量整除。 預設值為 32。
  • axis:整數或列表/元組。 要跨軸正規化的軸。 通常,這是特徵軸。 剩餘的軸通常是批次軸。 -1 是輸入中的最後一個維度。 預設值為 -1
  • epsilon:添加到變異數以避免除以零的小浮點數。 預設值為 1e-3。
  • center:如果為 True,則將 beta 偏移量添加到正規化張量。 如果為 False,則忽略 beta。 預設值為 True
  • scale:如果為 True,則乘以 gamma。 如果為 False,則不使用 gamma。 當下一層是線性層(例如 relu)時,可以停用此功能,因為縮放將由下一層完成。 預設值為 True
  • beta_initializer:beta 權重的初始化器。 預設值為零。
  • gamma_initializer:gamma 權重的初始化器。 預設值為一。
  • beta_regularizer:beta 權重的可選正規化器。 預設為 None。
  • gamma_regularizer:gamma 權重的可選正規化器。 預設為 None。
  • beta_constraint:beta 權重的可選限制式。 預設為 None。
  • gamma_constraint:gamma 權重的可選限制式。 預設為 None。 # 輸入形狀 任意。 當將此層用作模型中的第一層時,請使用關鍵字參數 input_shape(整數元組,不包含樣本軸)。 # 輸出形狀 與輸入形狀相同。
  • **kwargs:基礎層關鍵字參數(例如 namedtype)。

參考文獻