小编Shu*_*pta的帖子

卷积神经网络中的反向传播

考虑具有以下架构的卷积神经网络:

CNN架构

这里 C_i 指的是 第 i^th 卷积层P_i 指的是 第 i^th 平均池化层。每一层都会对应一个输出。让delta^P_j参考层输出中的错误P_j (同样对于 在此处输入图片说明)。

增量^P_2 可以使用正常的反向传播方程轻松计算,因为它完全连接到 softmax 层。 增量^C_2 可以简单地通过上采样计算 增量^P_2 适当地(并乘以输出的梯度 C_2) 因为我们使用的是平均池化。

我们如何从输出中传播错误 C_2 到输出 P_1? 换句话说,我们如何找到增量^P_1增量^C_2?

斯坦福的深度学习教程使用以下等式来做到这一点:

UFLDL方程

但是我在使用这个方程时面临以下问题:

  1. 我的 W_k^l 有大小 (2x2) 和 delta_k^l 有大小(6x6),(我使用有效卷积,输出 P_1 具有大小 (13x13) 和输出 P_2有大小 (6x6))。在我的情况下,这种内部矩阵乘法甚至没有意义。

  2. 等式假设两层中的通道数相同。这对我来说又不是真的。输出P_1 有 64 个通道,同时输出 C_2 有96个频道。

我在这里做错了什么?有人能解释一下如何通过卷积层传播错误吗?

简单的 MATLAB 示例将不胜感激。

machine-learning backpropagation neural-network conv-neural-network

5
推荐指数
1
解决办法
4123
查看次数