Wavelet Convolutions for Large Receptive Fields

大感受野的小波卷积

在这里插入图片描述

论文链接:https://arxiv.org/abs/2407.05848v2

项目链接:https://github.com/BGU-CS-VIL/WTConv

Abstract

近年来,人们一直试图增加卷积神经网络(CNN)的核大小,以模拟Vision Transformer(ViT)的全局感受野自注意块。然而,这种方法在达到全局感受野之前很快就达到了上限和饱和。在这项工作中,我们证明了通过利用小波变换(WT),实际上可以在不受过度参数化影响的情况下获得非常大的感受野,例如,对于k × k的感受野,所提出的方法中可训练参数的数量仅随k呈对数增长。所提出的层,称为WTConv,可以用作现有架构中的临时替代品,产生有效的多频响应。并随着感受野的大小优雅地缩放。我们展示了在ConvNeXt和MobileNetV2架构中用于图像分类的WTConv层的有效性,以及用于下游任务的骨干,并展示了它产生额外的属性,例如对图像损坏的鲁棒性和对纹理形状的响应增加。

1 Introduction

在过去的十年中,卷积神经网络(CNN)在很大程度上主导了计算机视觉的许多领域。尽管如此,随着最近出现的Vision Transformer (ViT)[12],它是自然语言处理中使用的Transformert架构[59]的一种改编,CNN面临着激烈的竞争。具体地说,vit现在被认为比cnn有优势,主要归因于它们的多头自注意层。这一层促进了特征的全局混合,而卷积的构造限制了特征的局部混合。因此,最近的一些工作试图弥合CNN和ViT之间的性能差距。Liu等[38]重构了ResNet架构及其训练例程,以跟上Swin Transformer[37]。[38]中的改进之一是增加卷积的核大小。然而,根据经验,该方法在核大小为7 × 7时达到饱和,这意味着进一步增加核并没有帮助,甚至在某些时候开始恶化性能。虽然天真地将大小增加到7 × 7以上是没有用的,但Ding等人[11]已经表明,如果构造得更好,可以从更大的核中得到好处。即使是这样,然而,最终核变得过度参数化,性能在达到全局感受野之前就饱和了。

[11]中分析的一个有趣的特性是,使用更大的核会使CNN更具形状偏差,这意味着它们捕获图像中低频的能力得到了提高。这一发现有些令人惊讶,因为卷积层通常倾向于响应输入中的高频[17,19,56,61]。这与注意头不同,注意头被认为更适应低频,其他研究也证明了这一点[44,45,56]。

上面的讨论提出了一个自然的问题:我们能否利用信号处理工具来有效地增加卷积的感受野而不受过度参数化的影响?换句话说,我们是否可以拥有非常大的滤波器——例如,具有全局感受野——并且仍然可以提高性能?本文对这个问题给出了一个肯定的答案。我们提出的方法利用小波变换(WT)[9],这是一种来自时频分析的成熟工具,可以使卷积的感受野很好地扩大,并且通过级联,还可以引导CNN更好地响应低频。在某种程度上,我们基于WT解决方案的动机是(不像傅里叶变换)它保留了一些空间分辨率。这使得空间操作(例如,卷积)在小波域更有意义。

更具体地说,我们提出了WTConv,这是一个使用级联WT分解并执行一组小核卷积的层,每个卷积都关注输入在越来越大的感受野中的不同频带。这个过程允许我们在只添加少量可训练参数的同时,更加强调输入中的低频。事实上,对于k × k的感受野,我们可训练参数的数量仅随k呈对数增长。这一事实与最近一些相应增长为二次增长的方法相反,使我们能够获得具有前所未有的有效感受野(ERF)[40]规模的有效CNN(见图1)。

在这里插入图片描述

我们将WTConv设计为深度卷积的直接替代品,可以在任何给定的CNN架构中使用,而无需额外修改。我们通过将WTConv整合到ConvNeXt[38]中进行图像分类来验证WTConv的有效性,证明了它在基本视觉任务中的实用性。进一步利用ConvNeXt作为骨干,我们将评估扩展到更复杂的应用中:在UperNet[65]中使用它进行语义分割,在级联掩码R-CNN[2]中使用它进行对象检测。此外,我们还分析了WTConv为CNN提供的额外好处。

总而言之,我们的主要贡献是:

  • 一个新的层,称为WTConv,它使用WT有效地增加卷积的感受野。
  • WTConv被设计为给定CNN内的插入式替代(用于深度卷积)。
  • 广泛的实证评估表明,WTConv在几个关键的计算机视觉任务中提高了CNN的结果。
  • 分析WTConv对CNN的可扩展性、鲁棒性、形状偏差和ERF的贡献。

2 相关工作

2.1 深度学习中的小波变换

小波变换[9]是一种强大的信号处理和分析工具,自20世纪80年代以来得到了广泛的应用。在经典环境中取得成功之后,最近小波变换也被纳入神经网络架构中,用于各种任务。Wang等[63]从心电信号的时频分量中提取特征。Huang等人[32]和Guo等人[22]预测输入图像的小波高频系数,以重建更高分辨率的输出。Duan等[13]和Williams和Li[64]使用WT作为CNN内的池化算子。Gal等人[16]、Guth等人[23]和Phung等人[46]在生成模型中使用小波来增强生成图像的视觉质量并提高计算性能。Finder等人[14]利用小波压缩特征映射以获得更高效的CNN。Saragadam等人[51]使用小波作为隐式神经表征的激活函数。

与我们的工作更相关的是,Liu等人[35]和Alaba等人[1]在改进的U-Net架构[49]中使用小波变换进行下采样,并使用逆小波变换进行上采样。在与我们相关的另一项工作中,Fujieda等人[15]提出了一种DenseNet类型的架构,该架构使用小波将输入中的较低频率重新引入到后面的层。Chen等人[3]虽然与小波无关,但他们提出了对多分辨率输入进行卷积的方法,首先将图像分离为高分辨率和低分辨率,并在网络上进行两者之间的信息交换。这些工作举例说明了对输入的低频分量和高频分量分别进行卷积的好处,可以获得更丰富的特征图。这个特性也激励着我们的工作。然而,[1,15,35]中的方法是高度定制的架构,无法在其他CNN架构中无缝使用,而[3]则侧重于计算效率。相比之下,我们提出了一个更轻、更易于使用的线性层,可以用作深度卷积的替代层,从而改善了感受野。重要的是,我们的方法可以适用于任何使用深度卷积的网络,因此不局限于单个任务。

2.2 大核卷积

在卷积配置方面,VGG[52]通过使用3 × 3卷积为现代CNN设定了标准,牺牲单层感受野的大小来增加网络的深度(从10层以下到20层左右)。从那时起,随着计算量的增加和体系结构的改进,CNN变得更加深入,但核大小参数在很大程度上没有被探索。

传统卷积的一个主要变化是引入了可分离卷积[58,62]。可分离卷积由Xception[5]和MobileNet[30]推广,并在大多数现代架构中采用[38,50]。在这种方法中,每个通道执行空间卷积(即,深度方向),跨通道操作使用1 × 1核(即,点方向)执行。这种卷积的分离还在核大小和通道维度(即参数和操作的数量)之间创建了一定程度的分离。每个核大小为k和c通道的空间卷积现在只有k2·c个参数(而不是k2·c2),这使得它可以更好地随k缩放,尽管仍然是二次的。

同时,将具有非局部自注意层的Transformer引入视觉任务[12,37]通常比局部混合卷积产生更好的结果。这与前面提到的最近使用的可分离卷积一起,重新点燃了探索CNN更大核的兴趣。特别是,Liu等人[38]重新研究了流行的ResNet架构[26],包括对不同核大小的经验比较,得出性能在核大小为7×7时饱和的结论。Trockman和Kolter[55]试图仅使用卷积来模拟ViT架构,并通过使用9 × 9卷积来取代注意力(或“混合器”)组件显示出令人印象深刻的结果。Ding等人[11]提出,简单地增加核的大小会损害卷积的局部性。因此,他们建议将一个小核与一个大核并行使用,然后对它们的输出求和。利用这种技术,他们成功地训练了核大小达到31 × 31的CNN。Liu等人[36]通过将其分解为一组并行的51×5和5×51核,成功地将其核的大小增加到51×51。此外,他们在扩大网络宽度的同时引入了稀疏性。然而,使用更多通道(具有稀疏性)的想法与增加核大小是正交的。虽然我们的工作部分地从[11,36]中获得灵感,但在我们的案例中,提议的层汇总了输入的各种频率分量的输出,捕获了多个感受野。

实现全局感受野的另一种方法是在傅里叶变换之后在频域执行空间混合(例如[4,24,47])。然而,傅里叶变换将输入转换为完全在频域中表示,因此它无法学习邻近像素之间的局部相互作用。相比之下,WT在将图像分解到不同频带的同时成功地保留了一些局部信息,使我们能够对不同级别的分解进行操作。此外,基于傅里叶的方法倾向于依赖于特定大小的权重输入,因此很难用于下游任务。一项并行工作[20]利用神经隐式函数在频域进行有效混合。

3 Method

在本节中,我们首先描述如何使用卷积执行小波变换,然后我们提出在小波域中执行卷积的解决方案,称为WTConv。我们还描述了WTConv的理论效益,并分析了其计算成本。

3.1 绪论:小波变换作为卷积

在这项工作中,我们采用Haar小波变换,因为它是高效和直接的[14,16,32]。然而,我们注意到我们的方法并不局限于它,因为可以使用其他小波基,尽管计算成本增加。

给定图像X,一个空间维度(宽度或高度)上的一级Haar WT由核 [ 1 , 1 ] / 2 [1,1]/\sqrt{2} [1,1]/2 [ 1 , − 1 ] / 2 [1,-1]/\sqrt{2} [1,1]/2 的深度卷积给出,然后是因子2的标准下采样算子。为了执行2D Haar WT,我们在两个维度上组合操作,使用以下四个滤波器,产生一个步幅为2的深度卷积:
f L L = 1 2 [ 1 1 1 1 ] , f L H = 1 2 [ 1 − 1 1 − 1 ] , f H L = 1 2 [ 1 1 − 1 − 1 ] , f H H = 1 2 [ 1 − 1 − 1 1 ] . (1) f_{LL}=\frac{1}{2}\begin{bmatrix}1&1\\1&1\end{bmatrix}, f_{LH}=\frac{1}{2}\begin{bmatrix}1-1\\1-1\end{bmatrix}, f_{HL}=\frac{1}{2}\begin{bmatrix}1&1\\-1&-1\end{bmatrix}, f_{HH}=\frac{1}{2}\begin{bmatrix}1-1\\-1&1\end{bmatrix}. \tag{1} fLL=21[1111],fLH=21[1111],fHL=21[1111],fHH=21[1111].

### 关于小波变换的GitHub项目和资源 #### PyWavelets库 PyWavelets是一个功能强大且易于使用的Python工具包,专门用于一维、二维以及多维度的小波变换操作。此项目的官方迁移通知指出,请访问 [https://github.com/PyWavelets](https://github.com/PyWavelets)[^1] 获取最新版本和支持。 #### WTConv实现 对于希望探索如何利用小波变换增强卷积神经网络的研究人员来说,《Wavelet Convolutions for Large Receptive Fields》这篇论文介绍了一个名为WTConv的新颖卷积层结构[^2]。虽然具体的代码实现可能不在公开的GitHub仓库中,但是可以通过阅读该论文了解其背后的原理和技术细节,并尝试自行编码实现这一创新性的算法。 #### 图像压缩中的5/3小波变换 针对感兴趣于图像处理特别是压缩领域的人士,在MATLAB环境下有关5/3小波变换应用于图像压缩的文章提供了一些有价值的见解[^3]。尽管这不是一个直接关联到GitHub上的开源项目,但对于想要深入研究或开发基于此类技术的应用程序的人来说,这些理论基础是非常重要的参考资料。 为了找到更多关于小波变换的相关GitHub项目,建议使用关键词如 "wavelet transform", "image compression with wavelets" 或者具体提到某种类型的小波(比如Daubechies, Coiflets等)进行搜索。此外还可以关注那些活跃维护并定期更新文档说明及示例代码的高质量存储库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值