批量规范化(batch normalization)
- (Ioffe and Szegedy, 2015),这是一种流行且有效的技术,可持续加速深层网络的收敛速度。
- 加速深层网络的收敛速度,能够训练更深的网络
- 从数据处理的灵感来的,使用标准化规范数据(均值为 0,方差为 1),进行正则化
- 统一参数的数量级
- 不同层的输出量级不一样,学习率不能适应所有网络层
- 避免过拟合
- 统一参数的数量级
- 方式
- 每个 batch 中计算均值和标准差,使用 $\frac{x-\mu}{\sigma}$
- batch 要足够大才能有效和稳定
- 每个 batch 中计算均值和标准差,使用 $\frac{x-\mu}{\sigma}$
公式:
$\mathrm{BN}(\mathbf{x}) = \boldsymbol{\gamma} \odot \frac{\mathbf{x} - \hat{\boldsymbol{\mu}}\mathcal{B}}{\hat{\boldsymbol{\sigma}}\mathcal{B}} + \boldsymbol{\beta}.$