【深度学习之二】正则化函数(weight decay, dropout, label smoothing, and etc)详解,以及不同的函数适用的场景

在深度学习中正则化函数的重要性不言而喻,今天主要总结一些当前常用的一些正则化函数

在深度学习中,正则化(Regularization)是一种防止模型过拟合的技术。过拟合指的是模型在训练数据上表现很好,但在未见过的测试数据或新数据上的泛化能力较差。正则化通过向损失函数添加额外的信息来限制模型复杂度,从而帮助提高模型的泛化能力。具体来说,正则化技术可以减少模型对训练数据的依赖,使其更加通用。

正则化的主要作用包括:

  • 减少模型复杂度:通过限制模型参数的大小,避免模型过于复杂,从而减少过拟合的风险。例如,L1和L2正则化是两种常用的正则化方法,它们分别通过向损失函数添加参数绝对值之和(L1)或参数平方和(L2)的形式来惩罚大权重。
  • 特征选择:L1正则化除了可以减少过拟合外,还具有稀疏性,即它可以将一些不重要的特征的权重降为零,从而实现自动特征选择。而L2正则化不会将权重降为零,但可以使权重变得更小,有助于平滑决策边界。
  • 提高模型的泛化能力:通过减少模型对训练数据的过度拟合,正则化有助于模型更好地泛化到新的、未见过的数据上。
  • 防止过拟合:正则化是解决过拟合问题的一种有效手段。过拟合通常发生在模型过于复杂或者训练数据量相对较小的情况下,正则化可以通过控制模型复杂度来缓解这一问题。
  • 提高模型稳定性:正则化还可以增加模型的稳定性,使模型对输入数据的小变化不那么敏感

dropout算法步骤

dropout 是一种用于防止深度学习模型过拟合的正则化技术。它通过在每次训练迭代中随机"丢弃"一部分神经元(即将它们的输出置为零 ),从而降低神经网络对特定节点和权重的过度依赖,提升模型的泛化能力。

核心思想:在训练过程中,随机选择一些神经元,将它们的输出置为零,同时保留其他神经元的完整输出。每次训练迭代中,被"丢弃"的神经元是随机的,训练完成后,在推理阶段使用所有神经元的加权平均输出。

假设在某一层的输入为向量 x,输出为向量 y,dropout的具体实现步骤如下:

1.训练阶段

  • 随机生成一个与输入同形状的二进制掩码向量 r,每个元素服从伯努利分布 ri∼Bernoulli§,其中 p 是保留概率。
  • 对应的Dropout应用公式:
    y=r⊙x
    其中 ⊙ 表示逐元素相乘。
  • 将被"丢弃"的神经元输出置为零。
    2.推理阶段
  • 不再随机丢弃神经元,而是将训练阶段的输出按保留概率 ppp 进行缩放:
    y=p⋅x
  • 这样可以保证在训练和推理阶段的输出期望一致。
    3.保留概率 p
  • 指定神经元被保留的概率,通常设置为 0.5(隐藏层)或接近 1(输入层)。
  • 较小的 ppp 值表示更多的神经元会被丢弃。

优点

1.防止过拟合:通过随机丢弃神经元,降低了特定神经元的过度权重,增加了网络的鲁棒性。

2.增加泛化能力:模型学习到更多的特征组合,而不是依赖特定路径。

3.简单易用:实现简单,且能无缝集成到大多数深度学习框架中。

缺点

1.训练时间增加:由于随机丢弃,需要更长的时间达到收敛。

2.影响模型容量:过高的Dropout率可能会导致模型欠拟合。

Weight Decay

Weight Decay 是一种常用的正则化技术,主要通过惩罚模型的权重大小来防止过拟合,增强模型的泛化能力。在优化过程中,Weight Decay 会向目标函数中添加权重的 (L_2) 范数约束,从而限制权重的增长。

核心思想

通过在优化过程中对权重施加 (L_2) 正则化,鼓励模型的权重保持较小的值。这种约束可以防止模型学习到过于复杂或对训练数据过拟合的特征。

损失函数形式:

假设原始损失函数为 L(w),其中 w是模型的权重,Weight Decay 的正则化后的损失函数为:

梯度更新:

优化器在更新权重时,会同时考虑损失函数的梯度和正则化项的影响:


Weight Decay 与 (L_2) 正则化的关系

Weight Decay 和 (L_2) 正则化在数学上等价,但在实现中可能存在差异:
1.Weight Decay :直接通过优化器对权重进行衰减。
2.(L_2) 正则化 :将正则化项显式添加到损失函数中。
例如,在使用 AdamW 优化器时,Weight Decay 是独立于梯度更新的,通过调整权重而非修改梯度计算,解决了传统 Adam 中正则化效果较差的问题。

优点

1.防止过拟合 :通过抑制权重的增大,限制模型复杂度。
2.提升泛化能力 :模型更关注整体结构而非个别样本的特性。
3.简单高效:实现方便,开销低。

缺点

1.需要调节超参数 ( \lambda ) :不同任务和模型中,正则化强度的选择可能不同。
2.对稀疏特征的影响:Weight Decay 会均匀衰减所有权重,在处理稀疏特征时可能不如 (L_1) 正则化有效。

应用场景

  • 常用于深度学习任务(如图像分类、自然语言处理),尤其是在模型参数较多时。
  • 与现代优化器(如 AdamW、SGD with Momentum)结合使用效果更佳。

Weight Decay 与 AdamW 的改进

传统 Adam 优化器对 Weight Decay 的实现效果较差,因为 (L_2) 正则化的梯度会被 Adam 的自适应学习率缩放,削弱正则化效果。
AdamW 通过将 Weight Decay 作为权重衰减独立处理,改进了正则化性能,是现代优化器中的标准做法。

Label Smoothing

Label Smoothing 是一种正则化技术,旨在缓解模型过度自信的问题。在分类任务中,它通过平滑目标标签分布来增强模型的泛化能力,从而提高性能。

核心思想

传统分类任务的目标是最小化交叉熵损失,标签通常是 one-hot 编码 的,即对于类别 ( k ),目标分布 ( q ) 为:

这种目标分布可能导致模型对正确类别的预测过于自信(输出接近 1),对其他类别的预测完全为 0。Label Smoothing 通过在目标分布中引入少量均匀分布成分,使目标分布更平滑:


损失函数


优点

1.防止过拟合 :平滑后的标签不会让模型过分自信,避免学习到过于尖锐的分布。
2.提升泛化性能 :在测试集上模型往往表现更好,尤其是对不确定性较高的样本。
3.减少梯度消失:更平滑的目标分布可以减缓梯度消失问题。

适用场景

  • 多分类任务(尤其是在模型容易过拟合的情况下)。
  • 任务类别较多或类别分布不均匀时,Label Smoothing 可增强模型对类别之间关系的建模能力。
  • 在 NLP 任务(如机器翻译)中,经常与注意力机制配合使用。

注意事项

1.平滑参数选择 :( \epsilon ) 通常取 ( [0.05, 0.1] ),值过大会影响模型性能。
2.类别权重平衡 :对于类别严重不平衡的问题,Label Smoothing 的效果可能需要额外调整。
3.过度平滑风险:平滑过多可能导致模型对类别区分能力下降。

直观理解

Label Smoothing 的目标是让模型预测的分布不要太"尖锐",在概率分布上保持适度的"谦虚",从而减少过拟合,提升泛化能力。








相关推荐
说私域3 分钟前
社交电商专业赋能高校教育与产业协同发展:定制开发AI智能名片及2+1链动商城小程序的创新驱动
大数据·人工智能·小程序
fanxiaohui121386 分钟前
浪潮信息自动驾驶框架AutoDRRT 2.0,赋能高阶自动驾驶
运维·服务器·网络·人工智能·机器学习·金融·自动驾驶
威化饼的一隅1 小时前
【多模态】Flamingo模型技术学习
人工智能·深度学习·计算机视觉·大模型·多模态·多模态模型·flamingo
正儿八经的数字经1 小时前
算力100问☞第17问:什么是NPU?
人工智能·算法
Munger hunger1 小时前
bert的模型训练和使用情绪识别
人工智能·深度学习·bert
凌虚2 小时前
Web 端语音对话 AI 示例:使用 Whisper 和 llama.cpp 构建语音聊天机器人
前端·人工智能·后端
雷焰财经2 小时前
智象未来(HiDream.ai)技术赋能,开启AR眼镜消费时代
人工智能·ar
SaNDJie2 小时前
24.11.20 深度学习 前置 torch框架
人工智能·深度学习
剑盾云安全专家2 小时前
探索智能时代:从AI生成PPT到自动化未来
人工智能·aigc
python1562 小时前
项目实战:基于深度学习的人脸表情识别系统设计与实现
人工智能·深度学习