批量归一化

参考李沐老师的动手深度学习,只作为个人笔记.

文章目录

前言

一、为什么要批量归一化

二、批量归一化

三、批量归一化层

总结


前言

训练深层神经网络是十分困难的,特别是在较短的时间内使他们收敛更加棘手。 本节将介绍批量规范化(batch normalization),这是一种流行且有效的技术,可持续加速深层网络的收敛速度。 


一、为什么要批量归一化

  • 损失函数出现最后,后面的层训练较快.
  • 数据在最底部
  1. 底部的层训练较慢
  2. 底部层一变化,所有都得跟着变
  3. 最后的那些层需要重新学习多次
  4. 导致收敛变慢

1.为什么底部训练模型较慢?

答:因为随着神经网络的加深,数据在下面损失函数在上面,在反向传播时,从上面开始往下传,

梯度在上面的时候比较大越往下,梯度就越容易变小,这就导致上面层的梯度相对于下面层的梯度大,则上面的层收敛更快,下面的层收敛更慢。

2.为什么底部层一变话,所有都得跟着变?

答:因为模型开始是先前向传播在后向传播,下面层权重更新,上面的层就得更新。

3.为什么最后的那些层需要重新学习多次?

答:跟问题1一样.

4.导致收敛变慢?

答:跟问题1一样。

我们可以在学习底部层的时候避免变化顶部层吗?

二、批量归一化

批量归一化_第1张图片

三、批量归一化层

批量归一化_第2张图片

我个人的理解就是把每个特征归一化,对于全连接每列就是特征,对于卷积我们是图片所以特征就是通道维,每个像素点就是一个特征。

总结

  • 批量归一化固定小批量中的均值和方差,然后学习出适合的偏移和缩放
  • 可以加快收敛速度,但一般不改变模型精度

你可能感兴趣的:(深度学习,人工智能,深度学习)