求卷积层对卷积核导数旋转180的解释

设卷积之前,过程如下:

则,1,2,3,4只是标号,不是数值

则有:

C1 = P1K4 + P2K3 + P4K2 + P5K1

C2 = P2K4 + P3K3 + P5K2 + P6K1

C3 = P4K4 + P5K3 + P7K2 + P8K1

C4 = P5K4 + P6K3 + P8K2 + P9K1

则下面根据这个前向计算的步骤来分解出反向传播的步骤:

首先要确定误差传播的目的地,从deltaC到deltaK(上图有些问题,知道方向即可),所以先从deltaK1开始分析:

deltaK1 = deltaC1 * P5 + deltaC2 * P6 + deltaC3 * P8 + deltaC4 * P9.

deltaK2 = deltaC1 * P4 + deltaC2 * P5 + deltaC3 * P7 + deltaC4 * P8.

deltaK3 = deltaC1 * P2 + deltaC2 * P3 + deltaC3 * P5 + deltaC4 * P6.

deltaK4 = deltaC1 * P1 + deltaC2 * P2 + deltaC3 * P4 + deltaC4 * P5.

公式可用以下过程来实现,首先把deltaC矩阵旋转180度,然后和P矩阵进行卷积:

注意,中间的*为卷积符号,也就是说需要把这个矩阵旋转180度后逐元素和P矩阵相乘,得到:

即:

,所以还需要再旋转180度得到正确结果,因此公式为:

还有一种写法,就是把P矩阵旋转180度与deltaC矩阵卷积,结果相同,证明略。
转载地址:https://blog.csdn.net/qq_20028731/article/details/69831650

猜你喜欢

转载自blog.csdn.net/pql925/article/details/85159738