Altifigence Academy

2 / 24 · 概念

卷积与互相关

输入窗口 [1,2;4,5] 与卷积核 [1,0;0,-1] 的互相关结果和反转卷积核后的结果分别是多少?

明确卷积核方向

神经网络卷积通常使用互相关:将存储的卷积核直接与输入窗口配对,不反转它。数学卷积会反转卷积核。索引方程比算子名称更有用。对称卷积核可能掩盖方向错误,因此验证应从非对称值开始。

对于单通道、单位步幅、无填充且无膨胀的情况,使用:

y[h,w]=b+∑r=0R−1∑s=0S−1x[h+r,w+s]k[r,s]y[h,w]=b+\sum_{r=0}^{R-1}\sum_{s=0}^{S-1}x[h+r,w+s]k[r,s]

这里 h,w 定位输出,r,s 定位卷积核元素。两个卷积核索引都不反转。

计算示例

使用输入窗口 [1,2;4,5] 和卷积核 [1,2;3,4]。互相关得到 1×1+2×2+4×3+5×4=37。沿两个轴反转卷积核后得到 [4,3;2,1],结果为 4+6+8+5=23。加入偏置二后分别得到 39 和 25。设计规格决定采用哪一种操作。

把输入扩展为 [1,2,3;4,5,6;7,8,9]。原卷积核得到 [37,47;67,77]。右上窗口为 [2,3;5,6],其乘积之和为 2+6+15+24=47。移动窗口改变的是输入坐标,绝不改变已存储权重的顺序。负权重遵循相同索引规则。例如,[1,0,-1] 明确表示左侧样本减去右侧样本。

多通道情况下,将每个通道的窗口累加到同一个输出元素。每个输出通道都有自己的一组卷积核和一个偏置。通道是归约索引,而不是窗口滑动所经过的空间位置。分组卷积限制这些连接,需要明确的分组映射。

记录输入窗口、卷积核顺序、部分乘积和偏置。过于规则的测试数据中,仅检查最终数组可能漏掉相互抵消的索引错误。此处的非对称示例可以降低这种风险。可对照 ONNX Conv 官方文档核对张量和权重约定;本课的数值测试数据独立构建。

自己试试

输入窗口 [1,2;4,5] 与卷积核 [1,0;0,-1] 的互相关结果和反转卷积核后的结果分别是多少?

阅读解释

互相关为 1−5=−4。反转后的卷积核 [−1,0;0,1] 得到 −1+5=4。这个测试数据通过符号变化暴露方向问题。

你的选择适用于此浏览器,可随时在页脚更改。