优化器:Adam与AdamW

博客主要介绍了Adam和AdamW两种基于梯度下降算法的神经网络优化器。阐述了它们在更新规则、权重衰减处理、动量处理和超参数调整方面的特点。指出AdamW改进了权重衰减处理,能避免对偏置参数的不必要影响,提高训练效果,但具体选择需依任务和模型实验确定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《图像增强》
📝《模型优化》
📝《模型实战部署》
📝《图像配准融合》
📝《数据集》
📝《高效助手》


在这里插入图片描述

Adam 和 AdamW 是两种常用的优化器,它们都是基于梯度下降算法的优化器,用于训练神经网络。它们之间的主要区别在于权重衰减(Weight Decay)的处理方式。

一、Adam(Adaptive Moment Estimation)

1.1 更新规则

m = beta1*m + (1-beta1)*grad
v = beta2*v + (1-beta2)*(grad**2)
theta = theta - learning_rate * m / (sqrt(v) + epsilon)

可以看到,对权重衰减项没有特别的处理。

1.2 权重衰减处理

在原始的Adam优化器中,权重衰减(weight decay)是在梯度更新中直接应用的,它等价于在损失函数中添加了一个L2正则化项,用于减小权重的幅度。这意味着权重衰减对所有权重参数都是一样的。

1.3 动量处理

Adam使用了动量来加速梯度下降,它引入了两个动量参数β₁(用于一阶矩估计)和β₂(用于二阶矩估计)。这些动量参数决定了过去梯度的影响程度。

1.4 超参数调整

Adam的超参数(如学习率、β₁、β₂等)通常需要进行调整,以获得最佳性能。

二、AdamW(Adam with Weight Decay Fix)

2.1 更新规则

AdamW 在Adam式的基础上,对 m 项加入了权重衰减项的计算:

m = beta1*m + (1-beta1)*(grad + lambda*theta)
v = beta2*v + (1-beta2)*(grad**2) 
theta = theta - learning_rate * m / (sqrt(v) + epsilon)

这里 lambda 是权重衰减系数。
这相当于在梯度之外,额外考虑了一个 L2 范数正则化目标。这样可以更好地减小权重参数值,提高模型的泛化能力。

2.2 权重衰减处理

AdamW是对Adam的改进,它将权重衰减与梯度更新分开处理。具体来说,权重衰减只应用于权重参数,而不应用于偏置参数。这是通过在损失函数中添加一个额外的L2正则化项来实现的,而不是直接应用于梯度更新。

2.3 动量处理

AdamW仍然使用动量,与Adam一样,它使用β₁和β₂参数来调整动量的影响。

2.4 超参数调整

与Adam类似,AdamW的超参数(如学习率、β₁、β₂等)也需要进行调整,以获得最佳性能。

三、总结

AdamW的改进主要在于更好地处理了权重衰减。这有助于避免权重衰减对偏置参数的不必要影响,因此可以提高模型的训练效果。然而,选择使用哪种优化器取决于具体的任务和模型,通常需要进行实验来确定哪种优化器最适合你的情况。

感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖

关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉研坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值