Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Weight Decay

权重衰减是一种正则化技术,它将模型权重向零收缩,帮助神经网络减少过拟合并泛化到新数据。

权重衰减是一种正则化技术,在训练过程中将模型的学习到的权重向零拉近。这种反复收缩可以抑制不必要的大参数值,并帮助神经网络泛化到未见过的样本。当模型容量足以记住训练数据中的噪声时,这种方法尤其有用。

Geoffrey Hinton 在 1986 年的论文《概念的分布式表示学习》中介绍了权重衰减。在论文中的家谱树实验里,他在每次更新后将权重幅度缩小 0.2%,以便更容易解释学习到的连接。此后,权重衰减被广泛用于控制过拟合。

权重衰减的工作原理#

在梯度下降过程中,优化器使用梯度更新参数:梯度是描述每个参数如何影响损失函数的导数。权重衰减会额外施加一个朝向零的拉力。按照许多优化器采用的、由学习率缩放的约定,不使用动量的普通 SGD 更新为 new weight = (1 - learning rate × decay) × old weight - learning rate × gradient。这将根据预测误差进行学习与按比例收缩结合起来。

衰减系数控制这种拉力的强度。设为零时会禁用衰减;在固定学习率下,较大的正值会增强收缩。若任务梯度能改善预测,仍可能增大某个权重。学习率衰减会逐渐减小优化器的步长;权重衰减则作用于参数值。

权重衰减与 L2 正则化的比较#

L2 正则化会在训练目标中加入按比例缩放的权重平方和。对于普通随机梯度下降,对这一惩罚项求导会产生相同的按比例收缩,前提是系数经过适当匹配。在线性回归中,使用这种权重平方惩罚项进行拟合称为岭回归。

使用Adam 优化器时,加入 L2 惩罚会使惩罚项的梯度经过 Adam 的移动平均和针对参数的缩放。AdamW 则将收缩与这种自适应梯度计算分开进行。Ilya Loshchilov 和 Frank Hutter 在 2017 年的论文《解耦权重衰减正则化》中提出了 AdamW,该论文于 2019 年发表于 ICLR。这种分离使衰减强度不受 Adam 的梯度历史缩放影响。

选择衰减强度#

权重衰减是一个超参数,需要使用验证数据进行选择。衰减过弱会导致对过拟合的约束不足。衰减过强则会造成欠拟合:模型无法拟合有用的模式,导致训练样本和验证样本上的误差都很高。比较不同衰减设置下的验证分数,可以找出适用于特定模型和数据集的衰减强度。

衰减的累积效果还取决于学习率调度和优化器更新次数。更改批量大小或训练轮数可能会改变应用衰减的次数;梯度累积会在更新前合并多个批次。Dropout 层通过随机将激活值置零来进行正则化,而早停则会限制训练时长。

Ultralytics YOLO 提供了一个 weight_decay 训练设置,默认值为 0.0005,用于在训练 YOLO26 等模型时控制正则化。其优化器参数组会将偏置和归一化层参数排除在权重衰减之外。

PyTorch 中的权重衰减#

torch.optim.AdamW 优化器在 PyTorch 中提供了解耦权重衰减。使用 pip install torch 安装该软件包;此示例会创建一个为零的任务梯度,使打印出的更新只体现权重衰减:

import torch

weight = torch.nn.Parameter(torch.tensor([2.0]))
optimizer = torch.optim.AdamW([weight], lr=0.1, weight_decay=0.1)
before = weight.item()

# Create a zero gradient while keeping the parameter in the computation.
optimizer.zero_grad()
loss = (weight * 0).sum()
loss.backward()
optimizer.step()

print(f"Weight: {before:.2f} -> {weight.item():.2f}")

输出为 Weight: 2.00 -> 1.98:一次更新会将权重乘以 1 - 0.1 × 0.1,即 0.99,使其幅度减少 1%。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来