pytorch中的loss.backward()和optimizer.step()中的使用的梯度方向问题

python 复制代码
# 举例:梯度下降更新模型参数
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)

# 在每个训练步骤中
optimizer.zero_grad()  # 清零梯度
output = model(input)
loss = loss_function(output, target)
loss.backward()       # 计算梯度
optimizer.step()       # 更新模型参数(沿着梯度的负方向)

在这个例子中,loss.backward() 计算的梯度方向是损失函数上升的方向,而 optimizer.step() 则使用了梯度的负方向来更新模型参数。

相关推荐
我登哥MVP5 小时前
DeepSeek-Harness-Super-Agent-学习笔记
人工智能·深度学习·神经网络·机器学习·自然语言处理·agent
Spidermanbaout7 小时前
Prompt-Engineering实战-2026年11月2日
人工智能·机器学习·ai·chatgpt·ai编程
无咎.lsy12 小时前
《机器学习》笔记
笔记·机器学习
武子康13 小时前
Qwen-Drive 到底是什么:4B 级 VLM 如何成为驾驶策略底座
人工智能·算法·机器学习
早起CaiCai15 小时前
【2023-01 OM】利用深度学习算法融合异质观测实现海洋场降尺度
人工智能·深度学习·算法
方方洛16 小时前
ray教程-28-附录G-CICD与Slurm与云上调度
人工智能·分布式·机器学习
迪菲赫尔曼17 小时前
【基础篇 26】第一次在服务器完成训练:准备数据、断线继续、检查成果与备份
运维·服务器·人工智能·机器学习·计算机视觉
硅谷秋水18 小时前
RoboAtom:机器人学习的大规模原子-动作监督
人工智能·机器学习·计算机视觉·机器人
lucas_AI18 小时前
扩散语言模型之争有了理论裁决: masked 之外的两派突然追平,还各有胜场
机器学习