考虑具有以下架构的卷积神经网络:
这里是指 卷积层,而是指 平均池化层。与每一层相对应的是输出。让引用层的输出中的错误(与相同)。
由于已完全连接到softmax层,因此可以使用常规的反向传播方程轻松计算出。
可以简单地通过适本地对上采样(并乘以输出的梯度)来简单地计算出来,因为我们使用的是均值池。
如何将错误从的输出传播到的输出?换句话说,我们如何从中找到?
Standford的深度学习教程使用以下等式来完成此任务:
但是,在使用此方程式时,我面临以下问题:
我在这里做错了什么?谁能解释一下如何通过卷积层传播错误?
简单的MATLAB示例将受到高度赞赏。
最佳答案
这里要注意的一个好点是,池化层本身不会进行任何学习。池化层的功能是逐渐减小表示的空间大小,以减少网络中的参数和计算量。
在正向传播期间,通过 P 合并块将 P 减小为单个值,即“获胜单位”的值。为了跟踪“获胜单位”,它的索引在前向通过时会记录下来,并在反向传播时用于进行梯度路由。
在反向传播期间,将计算卷积层中的梯度,然后向后传递到池化层,就需要为卷积层的“获胜单位”分配梯度值,因为索引是在前向传递过程中事先指出的。
渐变路由通过以下方式完成:
阅读有关整个反向传播过程的更全面的分割here
关于machine-learning - 卷积神经网络中的反向传播,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36628181/