大家好,这里是好评笔记,本文为试读,查看全文请移步公主号:Goodnote。本笔记介绍深度学习中常见的归一化、正则化。
@[toc]
各种优化的归一化介绍(本质上进行标准化)
下面的归一化。本质上进行的是标准化,与普通的归一化不同。 普通归一化(例如 BN、LN等)通常放在全连接层或卷积层之后,并在激活函数之前。 权重归一化直接应用于层的权重参数,因此它通常在层的定义阶段就应用。例如,在卷积层或全连接层的权重初始化或定义时。
普通归一化过程
归一化方法的统一步骤:
-
确定归一化范围:
- 批归一化(Batch Normalization)
- 层归一化(Layer Normalization):
- 实例归一化(Instance Normalization)
- 组归一化(Group Normalization)
-
计算均值和方差:
-
对归一化范围内的元素计算均值 和方差 。
-
公式如下:
-
这里 N 是归一化范围内的元素总数。
-
-
标准化:
-
将输入值进行标准化,使其具有均值 0 和方差 1:
-
是一个小常数,用于避免分母为零。
-
-
缩放和平移:
- 为了让模型在归一化后仍能保持灵活性,引入可学习的缩放参数 和平移参数:
- 通过学习 和,模型可以调整归一化后的输出尺度和偏移,使其更加适应模型的需求。
- 为了让模型在归一化后仍能保持灵活性,引入可学习的缩放参数 和平移参数:
普通归一化分类
1. 批归一化(Batch Normalization, BN)
原理
对一个批量中的样本的同一通道进行归一化。它将每个神经元的输出值转换为均值为0、方差为1的分布,随后再进行缩放和平移。批归一化的公式如
优点
- 减少了内部协变量偏移问题,使得模型更稳定。
- 加速收敛,允许使用更高的学习率。
- 有轻微的正则化效果,因为批次间的随机性类似于dropout的效果。
缺点
- 对小批量数据敏感。当批次较小时,均值和方差估计不准,导致效果下降。
- 在某些情况下(如RNN、Transformer中的序列任务),批次归一化的效果不如其他归一化方法。
- 训练和推理时行为不同:推理时使用全局的均值和方差,因此需要额外的记录和计算。
使用场景
- 适用于大多数卷积神经网络(CNN)和全连接网络(MLP),如图像分类、物体检测等任务中。
- 不太适合处理序列任务,如RNN和LSTM。
详细全文请移步公主号:Goodnote。