Pytorch里面参数更新前为什么要梯度手动置为0?

因为在一般情况下,每次minibatch之后,都会计算得到一个loss,进而计算该loss关于全局参数的梯度。如果在下一次minibatch 进入模型,计算得到相应的loss和梯度之前,不对优化器的梯度进行置0操作,那么几次batch的梯度会有一个累积效应,影响模型参数的优化。

在每一次batch'训练完之后,计算得到loss损失函数和相应梯度,都会对模型参数进行调整,那么该batch数据在这一轮训练里面的作用已经完成了。我们不希望这些优化过模型参数的batch的loss梯度累积起来,继续对模型参数优化产生影响。

相关推荐
商业看点解说6 小时前
企业需要为大模型应用设置安全护栏,推荐使用哪些生成式AI平台?
人工智能·安全
ai小陈6 小时前
LoRA微调显存怎么估?32GB GPU训练配置与常见问题排查
人工智能·深度学习·机器学习·ai·gpu算力
论文复现现场7 小时前
ComfyUI部署MiniMax H3:8G本地卡、RTX 4090和RTX 5090怎么选?
人工智能·云计算·音视频·gpu算力
青 春 记 忆7 小时前
零基础入门python70:Docker Compose 编排完整后端
python·后端开发
新时代牛马7 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
腾视科技-AI7 小时前
超低功耗 性能卓越|腾视科技重磅推出TS-SG-SM9系列AI算力模组,引领边缘智能计算新篇章!
人工智能·科技·ai·ai算力模组·ai模组·腾视科技·ai算力盒
政企项目老覃7 小时前
大模型幻觉治理与自动评测:金融风控场景的落地实践
人工智能·算法·机器学习
SuperHeroWu77 小时前
【HarmonyOS AI】 通用文字识别详解
人工智能·pytorch·深度学习·通用文字识别
武子康7 小时前
商业比较词进入 AI Overview:Semrush 60 万关键词研究能说明什么
人工智能·ai·架构·agent·claude·codex·semrush