如何将错误传播回 CNN 中的上一层?

数据挖掘 机器学习 神经网络 反向传播 美国有线电视新闻网
2021-09-22 07:21:36

我有一个卷积层(链接),输入为 5x5x2(宽度、高度、深度):

该层有 3 个尺寸为3x3x2的过滤器,它产生一个尺寸为3x3x3的输出。

我已经完成了前向传球:

向前传球

在向后传递中,我计算了权重梯度 dL/dw,但我不知道如何计算 dL/dh (上一层的梯度)。

向后传球

首先或全部,是我的计算 dL/dw有效的 ?(请参阅与问题相关的外部电子表格)最重要的是,如何将增量传播到前一层?

1个回答

由于在 CNN 中计算后向梯度也是非常繁重的数学运算,并且它与 CNN 中的普通 MLP 有点不同,我们有张量而不是标量值相乘,所以人们使用相关性来计算卷积运算......

只是添加一些我不时引用的链接,以为有一天我将能够从头开始做到这一点(尽管随着图层的加深似乎是不可能的......)

  • 参考1

  • 参考文献 2

  • CS231N Slides (Lecture 4-6 specially, the computational graphs construction are very helpful to understand the Back-propagation Algorithm..)

如果有人能transfer the Equations into Latex here 这样就可以正式回答这个问题了。

基于上面的链接,这就是我得到的,(知道卷积相当于相关)

图 1

图 2

堆栈不允许我上传图片,所以使用 gdrive ..(旋转其中一张图片,实际上是第一张)

希望它能给你一个想法......