四、PyTorch—自定义反向传播
-
在神经网络 —— 损失函数 & 反向传播中已经介绍了反向传播的基本概念。
反向传播的本质就是条偏导链,通过最后的loss值往前逐层计算梯度,更新权重。
在
PyTorch
中,使用loss.backward()
便是执行反向传播的过程,不过本文的重点主要是了解如何自定义反向传播过程。一般来说,有两种情况我们需要用到自定义反向传播:- 引入了不可微的函数,此时需要自定义求导方式;
- 希望在偏导链中引入新的约束(类似损失函数的惩罚项)。
原创大约 3 分钟