tf.keras.layers.Batchnormalization()
重要参数:
training:布尔值,指示图层应在训练模式还是在推理模式下运行。
training=True:该图层将使用当前批输入的均值和方差对其输入进行标准化。
training=False:该层将使用在训练期间学习的移动统计数据的均值和方差来标准化其输入。
BatchNormalization 广泛用于 Keras 内置的许多高级卷积神经网络架构,比如 ResNet50、Inception V3 和 Xception。
BatchNormalization 层通常在卷积层或密集连接层之后使用。
批标准化的实现过程
- 求每一个训练批次数据的均值
- 求每一个训练批次数据的方差
- 数据进行标准化
- 训练参数γ,β
- 输出y通过γ与β的线性变换得到原来的数值
在训练的正向传播中,不会改变当前输出,只记录下γ与β。在反向传播的时候,根据求得的γ与β通过链式求导方式,求出学习速率以至改变权值。
对于预测阶段时所使用的均值和方差,其实也是来源于训练集。比如我们在模型训练时我们就记录下每个batch下的


2万+

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



