零基础-动手学深度学习-8.7. 通过时间反向传播
这一章我觉得放在这里确实是有点后面了,像鱼书这种只讲了MLP的都早早把这章过完了,backward可以说是一直在反复讲反复提的东西,究竟是干什么的我们就来看看吧。
8.7.1. 循环神经网络的梯度分析

8.7.2. 通过时间反向传播的细节
梯度截短 = 反传后、更新前,把梯度向量长度“一刀切”到阈值以内:
# 1. 计算梯度
loss.backward()# 2. 把全部梯度拼成一个向量并求范数
grad_norm = torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=θ)# 3. 优化器更新(此时梯度已被裁剪)
optimizer.step()