torch.optim.SGD参数详解(除nesterov)

本文详细解析了torch.optim.SGD优化器的工作原理,包括批量梯度下降、学习率、权重衰退(L2正则化)的概念。解释了在损失函数中加入L2正则化项如何影响权重更新,并探讨了动量(momentum)在SGD中的作用,以增强更新的稳定性和避免局部最优。

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

torch.optim.SGD

torch.optim.SGD(params, lr=<required parameter>, momentum=0, dampening=0, weight_decay=0, nesterov=False):随机梯度下降

  • 【我的理解】虽然叫做“随机梯度下降”,但是本质上还是还是实现的批量梯度下降,即用全部样本梯度的均值更新可学习参数。

    这里所说的全部样本可以是全部数据集,也可以是一个batch,为什么这么说?因为计算梯度是调用backward函数计算的,而backward函数又是通过损失值张量调用的,损失值的计算和样本集的选取息息相关。如果每次都使用全部样本计算损失值,那么很显然调用SGD时也就是用全部的样本梯度的均值去更新可学习参数,如果每次使用一个batch的样本计算损失值,再调用backward,那么调用SGD时就会用这个batch的梯度均值更新可学习参数。

  • params:要训练的参数,一般我们传入的都是model.parameters()

  • lr:learning_rate学习率,会梯度下降的应该都知道学习率吧,也就是步长。

  • weight_decay(权

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不牌不改

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

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

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

打赏作者

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

抵扣说明:

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

余额充值