归一化函数

Normalization
把输入数据调整到特定范围或分布,以便后续处理更稳定、更高效。

一、输入归一化

Min-Max Scaling

x^=xxminxmaxxmin

Z-score Standardization

x^=xμσ

标准化为均值 0 方差1

二、激活归一化

深度学习中,隐藏层输出归一化,加速训练。

Batch Normalization (BN)

在每个 mini-batch 上, 计算均值 μbatch 和方差 σbatch2, 然后归一化:

x^=xμbatchσbatch2+ϵ

再引入两个可学习参数(仿射变换):

y=γx^+β

应用:

Layer Normalization (LN)

在单一样本的所有神经元上计算均值方差:

x^=xμlayerσlayer2+ϵ

应用:

Instance Normalization (IN)

针对图像的一张一张样本,每个通道单独归一化
应用:

Group Normalization (GN)

把通道分组,每组内部归一化。 介于BN(全局)和IN(局部)之间。
应用:小Batch Size场景(如目标检测)

三、输出归一化

Softmax

把任意实数向量映射成概率分布,核心用于多分类输出注意力机制权重归一化,在神经网络训练中极其重要。

yi=softmax(a1,,aK)i=eaij=1Keajyi=softmax(wiTx+wi0)=exp[wiTx+wi0]j=1Kexp[wjTx+wj0]

将一组输入值转换为概率分布。
最后一层通常使用 Softmax 函数,将输出转换为各个类别的概率。

非常重要!(尤其在神经网络训练时)
记 Softmax 输出为:

yi=Softmax(zi)

则对于输入 zk,Softmax 的偏导数:

yizk={yi(1yi),if i=kyiyk,if ik

这可以写成一个 Jacobian 矩阵(雅可比矩阵):

yz=diag(y)yyT

解释: