深度学习中的归一化、网络架构与迁移学习
1. 批量归一化(Batch Normalization)
批量归一化由Sergey Ioffe和Christian Szegedy发明,是深度学习领域的开创性技术之一。其核心目的是解决在随机梯度下降训练神经网络时,因前层权重更新导致各层输入分布变化(即内部协变量偏移)的问题,这种变化会减慢训练过程,使深度神经网络的训练变得困难。
1.1 内部协变量偏移
在神经网络训练中,每层的输入依赖于前面所有层的参数。前层权重的微小变化,随着网络深度增加,会产生放大效应,导致该层输入分布改变。例如,sigmoid或tanh激活函数,仅在特定输入范围内有良好的线性梯度,输入值变大时梯度会趋近于零,这就是内部协变量偏移带来的影响。
1.2 批量归一化的原理
批量归一化通过将每层的输入归一化为零均值和单位标准差,来减少内部协变量偏移。训练时,均值和标准差从每层的小批量样本中估计;测试预测时,通常使用总体方差和均值。
假设某层接收到来自前层的输入激活向量 $x = [x_1 x_2 \cdots x_n]^T \in R^{n \times 1}$,在每个包含 $m$ 个数据点的小批量中,输入激活按以下方式归一化:
$\hat{x} i = \frac{x_i - E[x_i]}{\sqrt{Var[x_i]}}$
其中:
$\mu_B = \frac{1}{m} \sum {k=1}^{m} x_{i_k}$
$\sigma_B^2 = \frac{1}{m} \sum_{k=1}^{m} (x_{i_k} - E[x_i])^2
超级会员免费看
订阅专栏 解锁全文

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



