1. 从洗碗布到数学公式:卷积核旋转的日常理解
第一次听说卷积核要旋转180度时,我正坐在实验室里对着屏幕发呆。那感觉就像听说"洗碗时要先把抹布翻个面"一样让人困惑——明明正反两面都能用,为什么非要多此一举?直到后来亲手推导公式时,我才发现这个看似奇怪的操作,其实是数学对称性在深度学习中的完美体现。
想象你正在玩拼图游戏。前向传播时,我们拿着卷积核这块"小拼图"在特征图上滑动匹配(数学上叫互相关运算)。而反向传播时,相当于要根据拼图缺口形状,反过来修正上一层的拼图块轮廓。这时如果不把卷积核旋转180度,就像拿着正放的模具去匹配倒置的凹槽,根本对不上号。
在数学上,这种旋转操作保证了梯度传递的局部连接性和权值共享特性。就像快递员送包裹时,如果正向派件是"门牌号从小到大",那么退回包裹时就必须"从大到小"才能准确返仓。具体到CNN中,旋转后的卷积核确保了每个神经元的误差都能精确回溯到前层对应的感受野区域。
2. 前向与反向的镜像舞蹈:公式推导
2.1 前向传播的数学本质
我们先建立一个最小化的计算模型。假设输入特征图是3x3矩阵P,卷积核K是2x2矩阵:
P = [p1 p2 p3] K = [k1 k2]
[p4 p5 p6] [k3 k4]
[p7 p8 p9]
前向传播的"valid卷积"运算(实际是互相关)得到输出C:
c1 = p1*k1 + p2*k2 + p4*k3 + p5*k4
c2 = p2*k1 + p3*k2 + p5*k3 + p6*k4
c3 = p4*k1 + p5*k2 + p7*k3 + p8*k4
c4 = p5*k1 + p6*k2 + p8*k3 + p9*k4
这个过程中,每个输出神经元都与局部感受野内的输入神经元建立了连接,就像用放大镜逐块观察图片细节。
2.2 反向传播的梯度传递
当损失函数产生的误差δC传回卷积层时,我们需要计算δP。根据


1863

被折叠的 条评论
为什么被折叠?



