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
)
Group normalization 层。
Group Normalization 将通道划分为组,并在每个组内计算用于归一化的均值和方差。根据经验,在广泛的小批量大小下,其准确性比 batch norm 更稳定,前提是学习率与批量大小成线性调整。
与 Layer Normalization 的关系:如果 groups 设置为 1,则此操作将与 Layer Normalization 几乎相同(有关详细信息,请参阅 Layer Normalization 文档)。
与 Instance Normalization 的关系:如果 groups 设置为输入维度(组数等于通道数),则此操作将与 Instance Normalization 相同。您可以通过 groups=-1 实现此目的。
参数
[1, N] 内的整数,其中 N 是输入维度。输入维度必须能被组数整除。默认为 32。-1。True,则在归一化后的张量上加上 beta 的偏移量。如果为 False,则忽略 beta。默认为 True。True,则乘以 gamma。如果为 False,则不使用 gamma。当下一层是线性层时(例如 relu),可以禁用此项,因为缩放将由下一层完成。默认为 True。input_shape(整数元组,不包含样本轴)。 # 输出形状 与输入形状相同。name 和 dtype)。参考