深度学习笔记——归一化、正则化

209 阅读2分钟

大家好,这里是好评笔记,本文为试读,查看全文请移步公主号:Goodnote。本笔记介绍深度学习中常见的归一化、正则化。

2.png @[toc]

各种优化的归一化介绍(本质上进行标准化)

下面的归一化。本质上进行的是标准化,与普通的归一化不同。 普通归一化(例如 BN、LN等)通常放在全连接层或卷积层之后,并在激活函数之前权重归一化直接应用于层的权重参数,因此它通常在层的定义阶段就应用。例如,在卷积层或全连接层的权重初始化或定义时。

普通归一化过程

归一化方法的统一步骤:

  1. 确定归一化范围

    • 批归一化(Batch Normalization)
    • 层归一化(Layer Normalization)
    • 实例归一化(Instance Normalization)
    • 组归一化(Group Normalization)
  2. 计算均值和方差

    • 对归一化范围内的元素计算均值 μ\mu和方差 σ2\sigma^2

    • 公式如下: 在这里插入图片描述

    • 这里 N 是归一化范围内的元素总数。

  3. 标准化

    • 将输入值进行标准化,使其具有均值 0 和方差 1: 在这里插入图片描述

    • ϵ\epsilon 是一个小常数,用于避免分母为零。

  4. 缩放和平移

    • 为了让模型在归一化后仍能保持灵活性,引入可学习的缩放参数 γ\gamma 和平移参数β\beta在这里插入图片描述
    • 通过学习 γ\gammaβ\beta,模型可以调整归一化后的输出尺度和偏移,使其更加适应模型的需求。

普通归一化分类

1. 批归一化(Batch Normalization, BN)

原理

一个批量中的样本同一通道进行归一化。它将每个神经元的输出值转换为均值为0、方差为1的分布,随后再进行缩放和平移。批归一化的公式如 在这里插入图片描述

优点
  • 减少了内部协变量偏移问题,使得模型更稳定。
  • 加速收敛,允许使用更高的学习率。
  • 有轻微的正则化效果,因为批次间的随机性类似于dropout的效果
缺点
  • 对小批量数据敏感。当批次较小时,均值和方差估计不准,导致效果下降。
  • 在某些情况下(如RNN、Transformer中的序列任务),批次归一化的效果不如其他归一化方法。
  • 训练和推理时行为不同:推理时使用全局的均值和方差,因此需要额外的记录和计算。
使用场景
  • 适用于大多数卷积神经网络(CNN)和全连接网络(MLP),如图像分类、物体检测等任务中。
  • 不太适合处理序列任务,如RNN和LSTM。

详细全文请移步公主号:Goodnote。

参考:欢迎来到好评笔记(Goodnote)!