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

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

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

相关推荐
秦先生在广东7 小时前
`book-to-skill`:把技术书“编译“成 AI Agent 按需加载的结构化知识库
人工智能
东风破_7 小时前
百万字 EPUB 怎么做 RAG?用《天龙八部》跑通 Loader、Splitter、Milvus 与问答
人工智能
秦先生在广东7 小时前
Microsoft Agent Governance Toolkit:用确定性代码墙代替概率性提示词护栏
人工智能
幸福在路上wellbeing7 小时前
AI 智能体开发 · Day 2 详细学习手册
人工智能·学习
1名持续学习的码农7 小时前
Codex 任务总中断:ChatGPT Plus 用户该升级 Pro,还是先把需求写清?
人工智能·gpt·ai·ai编程·codex
QN1幻化引擎7 小时前
把 意识评测做成了一场"非侵入实验":不碰生产代码,分数反而更真了
人工智能·算法·架构
NPE~7 小时前
RAG 实战教程:从零构建企业智能问答 Agent
python·ai·实战·rag·agent搭建
恋猫de小郭7 小时前
KotlinLLM 开源 ,一个可以在运行时自己生成永久 Kotlin 代码的 Agent 库
android·前端·人工智能
EDA365电子论坛7 小时前
AI 智能管控差分线间距规范,消除内外间距统一导致耦合失效问题
人工智能
武子康7 小时前
OpenAI Tibo:同样的 Rate Card,为什么更强的 Sol 反而更快耗尽 Codex 限额
人工智能·chatgpt·openai