type
status
date
slug
summary
tags
category
icon
password
这里将要探讨一些数学、计算图、反向传播的细节
4.7.1 前向传播
前向传播(forward propagation或forward pass) 指的是:按顺序(从输入层到输出层)计算和存储神经网络中每层的结果
这里给出了一个计算的式子,经过两个线性变换、一个激活层,最后将 Loss 和正则化项 s 相加,得到 J,称为目标函数
4.7.2 前向传播计算图

其中正方形表示变量,圆圈表示操作符。 左下角表示输入,右上角表示输出。
4.7.3 反向传播
反向传播是计算神经网络参数梯度的方法
该方法根据微积分中的链式规则,按相反的顺序从输出层到输入层遍历网络。 该算法存储了计算某些参数梯度时所需的任何中间变量(偏导数)。
4.7.4 训练神经网络
在训练神经网络时,前向传播和反向传播相互依赖。 对于前向传播,我们沿着依赖的方向遍历计算图并计算其路径上的所有变量。 然后将这些用于反向传播,其中计算顺序与计算图的相反。
反向传播重复利用前向传播中存储的中间值,以避免重复计算。 带来的影响之一是我们需要保留中间值,直到反向传播完成。 这也是训练比单纯的预测需要更多的内存(显存)的原因之一。
4.7.5 小结
- 前向传播在神经网络定义的计算图中按顺序计算和存储中间变量,它的顺序是从输入层到输出层。
- 反向传播按相反的顺序(从输出层到输入层)计算和存储神经网络的中间变量和参数的梯度。
- 在训练深度学习模型时,前向传播和反向传播是相互依赖的。
- 训练比预测需要更多的内存。
- 作者:昊卿
- 链接:hqhq1025.tech/article/1b3a897c-9da0-8045-a15b-fa994edd9d0d
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。