当前位置: 首页 > news >正文

大模型反向传播计算梯度-loss.backward

loss.backward() 是 PyTorch 中反向传播计算梯度的核心函数:
从当前计算出的损失值(loss)出发,沿着神经网络的计算路径 “倒着走”
算出每个可训练参数(比如权重 w、偏置 b)对损失值的影响程度(也就是梯度),为后续更新参数、降低损失做准备

举例

把神经网络训练比作 “调整奶茶配方,让顾客觉得更好喝”:
损失值(loss):代表 “顾客不满意的程度”,数值越大,配方越差
模型参数:比如糖量、茶底比例、奶的用量(对应神经网络的 w/b)
loss.backward():就是 “分析每个参数错在哪、错多少”,从 “顾客不满意” 这个结果倒推:
是糖放多了?茶底太浓了?每个参数需要调整多少才能让顾客更满意(损失值降低)

示例

用最简单的线性模型(y = w*x + b),展示 loss.backward() 在完整训练流程中的位置和效果:

importtorch# 1. 定义参数(w和b是需要训练的参数,requires_grad=True表示要计算梯度)w=torch.tensor([2.0],requires_grad=True)# 初始权重,创建张量(Tensor) 包含数值 2.0 的一维张量b=torch.tensor([1.0],requires_grad=True)# 初始偏置# 2. 模拟输入和真实标签(期望y = 3x + 0,所以当前w/b = 2不对)x=torch.tensor([1.0])y_true=torch.tensor([3.0])# 3. 前向传播:用当前参数计算预测值y_pred=w*x+b# 计算结果:2*1 + 1 = 3?不,这里故意设错,实际我们改下w=1.0更明显w=torch.tensor([1.0],requires_grad=True)# 重新设w=1.0,y_pred=1*1+1=2y_pred=w*x+b# 4. 计算损失(均方误差:(预测值-真实值)²)loss=(y_pred-y_true)**2# loss = (2-3)² = 1.0# 5. 反向传播:计算梯度(核心就是这行!)loss.backward()# 6. 查看计算出的梯度print("w的梯度:",w.grad)# 输出:tensor([-2.]) → 表示w增加,loss会减少(梯度为负)print("b的梯度:",b.grad)# 输出:tensor([-2.]) → 表示b增加,loss会减少

梯度的本质:loss.backward() 计算的梯度,是 “损失函数对每个参数的偏导数”(数学上是 d(loss)/dw、d(loss)/db)
比如 w 的梯度是 - 2,意味着:如果把 w 从 1.0 增加 0.1,loss 会增加 (-2)*0.1,即减少 0.2(loss 从 1.0 变 0.8),这就是参数更新的方向
必须先重置梯度:每次调用 loss.backward() 前,要先用 optimizer.zero_grad() 清空上一批的梯度(比如 w.grad 会累加)
否则梯度叠加,导致参数更新错误
只对可训练参数生效:只有设置了 requires_grad=True 的张量(模型参数默认开启),才会计算梯度;普通的输入 / 输出张量不会计算

# 重置梯度(清空上一批的梯度)optimizer.zero_grad()# 前向传播:算预测值y_pred=model(x)# 算损失:衡量预测和真实值的差距loss=loss_fn(y_pred,y_true)# 反向传播:算每个参数的梯度(核心)loss.backward()# 更新参数:用梯度调整w/b,降低损失optimizer.step()

总结

loss.backward() 的核心是反向计算梯度:从损失值倒推每个参数对损失的影响
它是参数更新的 “前提”:没有这一步,优化器就不知道该往哪个方向调整参数
梯度的意义:告诉我们 “调整参数能让损失降得最快的方向和幅度”

http://www.jsqmd.com/news/355600/

相关文章:

  • 第21届智能车竞赛-智能视觉组规则修改优化
  • 轻松玩转Git:图文详解常用命令与操作
  • 【2025年Energy SCI1区TOP】改进哈里斯鹰算法i-HHO+微电网环境经济优化附Matlab代码和性能实测
  • 浔川代码编辑器 v5.0 上线时间公布
  • 关于浔川代码编辑器 v5.0 网页版上线时间的通知
  • 2026国内最新沉香手串/天然野生沉香厂家首选推荐熠昇荣光珠宝店:二十年匠心沉淀,熠昇荣光铸就沉香行业标杆 - 品牌推荐2026
  • 厨房灵感不设限[特殊字符]!cook 菜谱工具 + cpolar,随时随地解锁专属美食方案
  • 2026年专业深度测评:油痘肌精华液排名前五权威榜单 - 电商资讯
  • 使用三方库头文件未使用导出符号情景
  • 如何在三维空间中生成任意方向的矩形内部点位坐标 - 实践
  • Lmkd查杀功能的详细步骤 - 实践
  • signal and making language
  • Python系列基础教程(三)Python比较与逻辑运算符、条件判断语句
  • 彻底解决 Node.js 报错:Assertion failed: new_time >= loop->time, file src\win\core.c, line 327
  • 2026国内最新沉香手串供应链top5推荐!广东广州等地优质沉香手串厂家权威榜单发布,品质正宗助力香道品鉴与收藏 - 品牌推荐2026
  • Python系列基础教程(四)Python while与for循环
  • 鼻窦ct检查做什么,多少钱?这个和鼻内镜什么区别
  • 2026年正规的实验室冷冻干燥机,小型冷冻干燥机厂家推荐及选购参考榜 - 品牌鉴赏师
  • 青铜器皿怎么三维锈蚀分析?思看科技多时相三维比对方案解析
  • 公安心理测评系统新坐标:为何“星云星空”是警务心理的必选项? - 健成星云
  • 从已读不回到薪资涨幅30%,这个AI简历优化太狠了
  • 2026年评价高的红外加热浓缩仪,毒物检测离心浓缩仪厂家优质供应商榜单 - 品牌鉴赏师
  • the a words disappears.
  • 致每一位在代码世界里策马奔腾的你:2026农历新年快乐
  • easy girl
  • 【计算机毕设】java-springboot+vue“智慧食堂”设计与实现
  • 这份书单让你彻底读懂商业模式
  • 【计算机毕设】java-springboot+vue“漫画之家”系统毕业设计
  • 当暴雪来袭:软件系统的容错启示录
  • ‌经济下行应对:取消失败测试的情感共鸣点