Making Convolutional Networks Shift-Invariant Again

论文开头直接指出,现在的卷积神经网络,没有平移不变性,输入的微小偏移或平移都可能导致输出发生剧烈变化。作者指出,神经网络里面的下采样,例如max-pooling, strided-convolution 和 average-pooling 没有考虑采样定理,下采样后,导致高频信号混叠到低频信号中,最直观的影响就是,在输入的RGB图片中,及其微小的偏移,导致预测结果差别很大。

所以作者的提出,在max-pooling之前,先经过一个低通滤波器。直接分析作者的官方代码。

1、antialised-cnns 中的带blurePool 核的alexnet结构

2、BlurePool 核心步骤

  1. 一维卷积核
python 复制代码
filt_size = 4
if(self.filt_size==1):
   a = np.array([1.,])
elif(self.filt_size==2):
    a = np.array([1., 1.])
elif(self.filt_size==3):
    a = np.array([1., 2., 1.])
elif(self.filt_size==4):    
    a = np.array([1., 3., 3., 1.])
elif(self.filt_size==5):    
    a = np.array([1., 4., 6., 4., 1.])
elif(self.filt_size==6):    
    a = np.array([1., 5., 10., 10., 5., 1.])
elif(self.filt_size==7):    
    a = np.array([1., 6., 15., 20., 15., 6., 1.])

这个是帕斯卡三角形,一个规则就是每个数=上一行"左上+右上"两个数之和,同时也是二项式展开系数(a+b)n(a+b)^n(a+b)n,为什么么要用这个,是因为,1、这个具有对称性,不会产生相位偏移;2、中间大,两边小,天然平滑;3、趋近高斯,是低通滤波器

  1. 二维卷积核
python 复制代码
filt = torch.Tensor(a[:,None]*a[None,:])

a[None, :] 后 ,
[1
 3
 3
 1]
 变成:
 [[1]
 [3]
 [3]
 [1]]
 
a[None, :] 后,
[1 3 3 1]  变成 [[1 3 3 1]]

(4,1) * (1,4) 根据广播机制,filt(i,j)=a(i)⋅a(j) 得到二维卷积核:
1 3 3 1
3 9 9 3
3 9 9 3
1 3 3 1

这个模糊核中心大,四周小,完全对称
  1. 应用上面的二维卷积核
python 复制代码
self.padnn.ReflectionPad2d
F.conv2d(self.pad(inp), self.filt, stride=self.stride, groups=inp.shape[1])

stride = 2

上面是一个正常的卷积,stride=2,实现了下采样,当时在下采样的同时,使用二维的模糊核作为一个低通滤波器,进行滤波。

3、论文核心思路理解

之前不知道在哪里看过说,不管论文的理论多么复杂,最初的想法一定是直观的,要想理解论文,需要重复的理解作者当初面对的直观的问题,即
maxpool 不满足奈奎斯特定理,导致高频信号混叠到低频信号

那就,先去直面理解maxpool的问题。

之前从来没有怀疑过maxpool的有什么问题,还觉得很好用,这次先找一些直观的例子来证明,maxpool有问题。

1、maxpool后高频折叠到低频的例子

原始图片高密度的黑白黑白交替,因此是一个非常高频的图片,使用maxpool之后,所有的高频信号都折叠到了低频,导致maxpool只有的图片,骤然变成一个非常低频的图片,完全丧失了高频信息(细节)

下面我们来看一个,maxpool之后,满足奈奎斯特定理的。

2、maxpool满足奈奎斯特定理

maxpool时,是每次采样要跳过stride个像素,当stride=2时,我们希望,这次采样落到A黑条上,下次采样要落到B黑条上,这样高频保留了,所以黑条纹的宽度>= 2xstride,也可以这样理解,黑条越宽,表示越低频,黑条越窄,表示越高频,要想maxpoo满足奈奎斯特定理,就是不能有太多高频。

3、maxpool 破坏平移不变性

相关推荐
EasyGBS1 小时前
从“联网互通”到“安全可信”:EasyGBS支持GB35114国密协议,覆盖全场景安防合规升级
大数据·人工智能·安全·gb28181·gb35114
程序员Linc2 小时前
小智esp32小玩意2:了解面包板与小智最基本AI对话电路连接
人工智能
奔跑草-2 小时前
【AI日报】每日AI最新消息2026-02-24
人工智能
币小路2 小时前
BihuoPro 联合凯美国际大酒店:一次“数据平台+实体底盘”的深度耦合
大数据·人工智能
无忧智库2 小时前
某港口集团“十五五”智慧港口数字孪生与自动驾驶集卡多车编队系统建设方案深度解析(WORD)
人工智能·机器学习·自动驾驶
taoqick2 小时前
修改GRPO Advantages的一些思路(pass@k)
人工智能·机器学习·自然语言处理
Clarence Liu2 小时前
用大白话讲解人工智能(19) AI Agent:从“对话框“到“智能助手“的进化
人工智能
confiself2 小时前
GLM5+minimax2.5+qwen3.5技术报告对比学习
人工智能
深度之眼2 小时前
热点创新!基于Transformer与KAN网络的三种高阶玩法
人工智能·深度学习·transformer