🗒️BN训练和推理的前向传播机制
2024-8-31
| 2024-8-31
0  |  Read Time 0 min
type
status
date
slug
summary
tags
category
icon
password
comment
😀
批归一化(Batch Normalization,BN)层在训练和测试阶段的前向传播确实有所不同
 

训练阶段的前向传播

  1. 计算小批量数据的均值:
  1. 计算小批量数据的方差:
  1. 标准化:
  1. 缩放和平移: 其中,γ 和 β 是可学习的参数,ε 是一个很小的常数,用于数值稳定性。
  1. 同时,更新移动平均: 计算并存储每个小批量的均值和方差的移动平均,用于测试阶段。

测试阶段的前向传播

  1. 使用训练阶段计算的移动平均值: (移动平均均值) (移动平均方差)
  1. 标准化:
  1. 缩放和平移:

主要区别

  1. 数据来源:
      • 训练时使用当前批次的统计信息。
      • 测试时使用整个训练集的统计信息(通过移动平均估计)。
  1. 批次依赖:
      • 训练时的输出依赖于当前批次。
      • 测试时的输出独立于批次,保证了推理的一致性。
  1. 随机性:
      • 训练时每个批次的统计略有不同,引入了一定的正则化效果。
      • 测试时使用固定的统计信息,输出是确定的。
  1. 计算复杂度:
      • 训练时需要额外计算每个批次的统计信息。
      • 测试时直接使用预计算的统计信息,计算量较小。

总结

这种设计使得BN层能在训练时提供正则化效果,同时在测试时保持稳定的输出,有效改善了深度网络的训练过程和泛化能力。
  • 深度学习
  • 最大池化层和平均池化层梯度原理减弱边缘锯齿感的一些方法
    Loading...
    Catalog