loss.backward()`、`optimizer.step()`和`optimizer.zero_grad()` 是什么
loss.backward()、
optimizer.step()和
optimizer.zero_grad()` 是什么
在PyTorch的深度学习训练过程中,loss.backward()
、optimizer.step()
和optimizer.zero_grad()
是三个关键步骤,它们共同完成了模型参数的更新。
1. loss.backward()
- 作用:计算损失函数关于所有可训练参数(即带
requires_grad=True
的参数)的梯度(导数)。 - 原理:通过反向传播算法(Backpropagation),从损失函数开始,逐层计算每个参数对损失的贡献值(梯度),并将这些梯度存储在参数的
.grad<