在学习斯坦福-吴恩达-机器学习和计算机视觉过程中,我发现两门课程对Backpropagation的解释并不一样,因此进行了一下探究
下面先简单介绍一下每个课程对于Backpropagation的讲解
吴恩达
这里吴恩达引入误差这个中间结果进行梯度的计算,将每层上层的误差乘上此层的神经元输出,经过平均和正规化得出梯度
CS231n
这里使用偏导数传递的方法进行方向传播,概括的说就是使用从下一个神经元传播来的Upstream gradient与本地神经元的Local gradients相乘得到Downstream gradients传播至上一层
总结
二者本质上是相同的,由于CS231n的解释非常接近反向传播的原理,因此这里以其为基础,试图将吴恩达的方法向其转化进行解释。
吴恩达的方法中,每个变量其实都与CS231n中计算Downstream gradients时的各运算成员是对应的:
- 误差可以理解为Upstream gradient,δ(L)代表L关于a(L)