backward запускает обратный проход autograd от скалярного loss и записывает градиенты в .grad листьев с requires_grad.
Разбор
- Loss должен быть скаляром (или указать
gradient).
- Граф по умолчанию освобождается после backward.
retain_graph=True нужен редко и дорог по памяти.
- Без backward
optimizer.step не на что опираться.
Итог
backward вычисляет ∂loss/∂θ для параметров.