趋近智
内部协变量漂移描述了训练期间层输入分布的变化,这会阻碍学习过程。批量归一化 (normalization)(BN)旨在通过对每个小批次的层输入进行归一化来减轻此问题。前向传播过程中这种归一化的计算方法将被分析。
其主要思路是获取给定小批次中到达批量归一化层的激活值,并对其进行转换,使其具有近似零均值和单位方差。这种标准化对于每个特征或通道都是独立进行的。然而,简单地强制零均值和单位方差可能会限制层的表示能力。因此,BN 为每个特征引入了两个可学习的参数 (parameter),(伽马)和 (贝塔),它们允许网络对归一化后的值进行缩放和平移。这表示网络可以学习 下一 层的输入的最佳缩放和均值。
考虑一个包含激活值的小批次 ,用于特定特征(例如,小批次中 个不同示例的单个神经元的输出)。批量归一化前向传播包含以下步骤:
计算小批次均值(): 计算该特征在小批次中的激活值平均值。
计算小批次方差(): 计算该特征在小批次中的激活值方差。
归一化(): 使用计算出的均值和方差归一化小批次中的每个激活值 。在方差的平方根内添加一个小的常数 (伊普西隆,例如 )以确保数值稳定性,防止方差非常小时出现除以零的情况。
此步骤后,小批次的归一化激活值 将具有接近 0 的均值和接近 1 的方差。
缩放和平移(): 使用可学习的参数 和 转换归一化的激活值 。这些参数会进行初始化(通常分别设为 1 和 0),并在反向传播 (backpropagation)期间像其他网络权重 (weight)一样进行更新。
输出 是批量归一化层针对输入激活值 的最终结果,它会被传递到后续层(通常后接非线性激活函数 (activation function))。
批量归一化前向传播对小批次中单个特征的处理流程。输入 用于计算小批次统计量(),然后将每个 归一化为 。最后,可学习参数 和 对 进行缩放和平移,得到输出 。
需记住, 和 是 每个特征 分别学习的。如果全连接层有 个输出神经元,则会有 对 。如果卷积层有 个输出通道,则会有 对 用于对每个通道的批次、高度和宽度维度进行归一化。
这个过程确保了训练期间下一层的输入具有稳定的分布,由学习到的 和 参数控制,这极大地有助于稳定并加速训练过程。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•