tf.keras.layers.BatchNormalization
- 批归一化
- 批标准化
tf.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,
renorm=False, renorm_clipping=None, renorm_momentum=0.99, fused=None,
trainable=True, virtual_batch_size=None, adjustment=None, name=None, **kwargs
)
keras的这个接口实现的是下面的公式

在训练的时候
- the layer returns
(batch - mean(batch)) / (var(batch) + epsilon) * gamma + beta - epsilon:是一个很小的常量
- gamma:是一个学习的归一化因子,初始化为1,通过设置scale=False不使用归一化

该博客介绍了TensorFlow Keras库中的BatchNormalization层,它用于进行批标准化操作。在训练过程中,该层应用公式进行数据处理,并在推断时使用计算出的均值和方差。通过调整epsilon、gamma和beta参数,可以控制归一化和偏移的过程。在训练时,gamma和beta是可学习的,而在推断时,层会返回固定的标准化输出。
最低0.47元/天 解锁文章
2918

被折叠的 条评论
为什么被折叠?



