#【归一化】

1.归一化的概率和作用

1.1 什么是归一化

优化篇-【归一化】

1.2.归一化的作用

  • 除去量纲的干扰

    去均值与归一化,加速梯度下降的求解速度

  • 重新调整数据分布

    深度网络中数据分布如果在某一层开始有明显的偏移,会使接下来这一问题加剧

2.常用的归一化

2.1. Batch Normalization

优化篇-【归一化】

2.2.Batch Normalization的好处

1-减轻了对参数初始化的依赖

2-训练更快,可以使用更高的学习率

3-一定程度上增加了泛化能力,drop等技术不再需要

2.3.Batch Normalization的缺点

1-对小的Batch敏感,不适合在线学习等使用单例进行模型参数更新的场景

2-不合适 rnn 等动态的网络结构,同一个batch中训练实例又长又短

2.3. Batch Normalization改进

  • batch renormalization,增加样本相关的变换

xi=xiμβσβr+dr=σβσ,d=μβμσ x_{i}^{\prime}=\frac{x_{i}-\mu_{\beta}}{\sigma_{\beta}} \cdot \mathrm{r}+\mathrm{d} \quad r=\frac{\sigma_{\beta}}{\sigma}, \mathrm{d}=\frac{\mu_{\beta}-\mu}{\sigma}

μ:=μ+α(μβμ)σ:=σ+α(σβσ) \mu :=\mu+\alpha\left(\mu_{\beta}-\mu\right) \\\sigma :=\sigma+\alpha\left(\sigma_{\beta}-\sigma\right)

实际的使用:

  1. 先使用 BN 训练到一个相对稳定的状态
  2. 稳定后再使用Batch Renormalization ,r和d在一定大小范围内迭代

2.4.其他Normalization

优化篇-【归一化】

3.关于归一化的思考

3.1.为什么归一化有效

  1. 调整了数据的分布,保证了梯度的有效性
  2. 可以使用更大的学习率,跳出不好的局部极值,增强泛化能力
  3. 平滑了损失平面,减少了局部值,降低了优化的困难

相关文章:

  • 2021-12-17
  • 2022-12-23
  • 2022-01-01
  • 2022-02-11
  • 2022-02-15
  • 2021-11-19
猜你喜欢
  • 2021-08-08
  • 2022-12-23
  • 2021-12-24
  • 2021-06-30
  • 2022-12-23
  • 2022-01-07
  • 2021-12-28
相关资源
相似解决方案