为什么CNN反向传播计算梯度时需要将权重旋转180度

参考博客https://manutdzou.github.io/2016/05/17/Why-computing-the-gradients-CNN,-the-weights-need-to-be-rotated.html


该博客中介绍的较为详细,需要有基本的机器学习知识可以看懂,本菜对自己其推导的过程中做少量的注解。

  1. 首先是其中关于卷积核翻转180°和误差δ卷积这一部分,刚开始看的一脸懵逼,为什么2 * 2和2 * 2的卷积能变成3 * 3的呢?后来想了一下,这里应该是步长为1的反卷积(full卷积,不了解的同学可以参考这里)。
反卷积.png
  1. 理论推导的第一部分
1.png

其中的第一个公式,这里的C表示的是反向传播的总误差

总误差.png

注意括号里面的部分就是该神经元对应的该次反向传播的误差,对应对z求导就得到了该神经元的误差。

接下来的推导没有什么难度。再提一下,卷积神经网络中的卷积操作起来其实是相关,表述起来可能有些拗口,但是对于旋转180°来说都是一样的。

如果对于原文中的推导经过自己思考发现理解不了的,或者对于其中的问题有自己的看法。欢迎在评论区指出讨论!

你可能感兴趣的:(为什么CNN反向传播计算梯度时需要将权重旋转180度)