为什么卷积核一般是奇数的正方形

本文解释了卷积运算中为何滤波器尺寸通常是奇数,从像素编码角度说明奇数尺寸如何强调锚像素的重要性,避免信息的抵消。同时探讨了不同边界处理方式及其对信息丢失的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文翻译,原网址:https://datascience.stackexchange.com/questions/23183/why-convolutions-always-use-odd-numbers-as-filter-size

卷积运算,简单地说,是两个矩阵的元素乘积的组合。只要这两个矩阵在维度上是一致的,就不应该有问题,所以我可以理解你的查询背后的动机。

A.1

然而,卷积的意图是根据滤波器或内核对源数据矩阵(整个图像)进行编码。更具体地说,我们正在尝试对锚/源像素附近的像素进行编码

通常,我们考虑源图像的每个像素作为锚/源像素,我们可以这么做。事实上,包含一个步幅stride很常见,锚/源像素中,由特定数目的像素分隔。

好,那么源像素是什么?它是以内核为中心的锚定点,我们对所有相邻像素进行编码,包括锚/源像素。由于核是对称形状的(在内核值中不是对称的),所以锚像素的所有边(4连通)的像素数相等(n)。因此,不管这个像素的数目是多少,我们对称形状的内核的每边的长度是2×n+1(锚的每一边+锚像素),因此过滤器/内核总是奇数大小的。

如果我们决定打破传统,使用非对称内核呢?你会遭受混叠错误,所以我们不这样做。我们认为像素是最小的实体,即这里没有子像素的概念。

解读:主要是从像素编码的角度看,奇数似乎正好强调了此像素点,而偶数就会引起平衡或者抵消,消除此点的特点。

A2

边界问题用不同的方法处理:一些忽略它,一些零垫它,一些镜子反映它。如果你不打算计算一个逆运算,即反褶积,并且对原始图像的完全重建不感兴趣,那么你就不关心由于边界问题引起的信息丢失或噪声注入。通常,池操作(平均池或最大池)将移除您的边界伪影。所以,自由地忽略你的“输入字段”的一部分,你的汇集操作会为你这样做。

解读:这里对池化操作的丢失信息进行了解释,池化丢失的信息是边界信息。对于最大值池化,只要有一个像素是最大值,那么池化过程中就会忽略他周围的影响,而只取他的值。从这边看,是丢失了一部分的信息,但是对于丢失的边界信息,没看出来,欢迎思考补充!

A3

在旧的信号处理域中,当输入信号卷积或通过滤波器时,无法判断A-先验的卷积/滤波响应的哪些分量是相关的/信息的,而不是。因此,其目的是在这些变换中保存信号分量(全部)。

这些信号分量是信息。有些组件比其他组件更具信息性。唯一的原因是,我们有兴趣提取更高层次的信息;信息相关的一些语义类。因此,不提供我们特别感兴趣的信息的那些信号分量可以被修剪掉。因此,不同于旧的关于卷积/滤波的教条,我们可以自由地汇集/修剪卷积响应。我们这样做的目的是严格删除所有对改进我们的统计模型没有贡献的数据组件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值