这篇文章的主要内容可以总结如下:
-
问题背景:卷积神经网络(CNN)在图像和视频处理中表现出色,但其特征图在空间维度上存在冗余,尤其是低频信息(如平滑变化的区域)可以以更低的分辨率表示,从而减少计算和内存开销。
-
核心创新:提出了八度卷积(OctConv),一种新的卷积操作,能够将特征图分解为低频和高频两部分,分别以不同的分辨率进行处理。低频部分以较低的分辨率存储和处理,从而减少空间冗余。
-
优势:
-
即插即用:OctConv可以直接替代普通卷积,无需修改网络架构。
-
高效性:通过减少低频部分的分辨率,显著降低了计算和内存消耗。
-
性能提升:由于低频部分具有更大的感受野,OctConv能够捕捉更多的上下文信息,从而提升模型的识别性能。
-
-
实验结果:在多个图像分类和视频动作识别任务中,OctConv在减少计算成本的同时,显著提升了模型的准确率。例如,配备OctConv的ResNet-152在ImageNet上仅使用22.2 GFLOPs就达到了82.9%的top-1准确率。
-
通用性:OctConv可以与现有的CNN架构(如ResNet、DenseNet、MobileNet等)无缝集成,并且与分组卷积、深度卷积等技术互补。
-
与现有方法的对比:与多尺度方法(如多网格卷积)相比,OctConv更专注于减少空间冗余,并通过更高效的设计实现了更好的性能和效率。
OctConv通过将特征图分解为低频和高频部分,并以不同分辨率进行处理,显著减少了CNN中的空间冗余,同时提升了模型的效率和性能。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:

摘要
在自然图像中,信息以不同的频率传递,其中高频通常编码细节信息,而低频通常编码全局结构。类似地,卷积层的输出特征图也可以看作是不同频率信息的混合。在本工作中,我们提出通过频率对混合特征图进行分解,并设计了一种新颖的**八度卷积(OctConv)**操作,以存储和处理空间变化“较慢”的低分辨率特征图,从而减少内存和计算成本。与现有的多尺度方法不同,OctConv被设计为一个单一的、通用的、即插即用的卷积单元,可以直接替代(普通)卷积,而无需对网络架构进行任何调整。它与那些提出更好拓扑结构或减少通道冗余的方法(如分组卷积或深度卷积)是正交且互补的。我们通过实验证明,仅通过将卷积替换为OctConv,我们可以在图像和视频识别任务中持续提升准确性,同时减少内存和计算成本。配备OctConv的ResNet-152在ImageNet上仅使用22.2 GFLOPs即可达到82.9%的top-1分类准确率。

图1:(a) 动机。视觉的空间频率模型[1, 10]表明,自然图像可以分解为低频和高频部分。(b) 卷积层的输出特征图也可以根据其空间频率进行分解和分组。(c) 所提出的多频率特征表示将平滑变化的低频特征图存储在低分辨率张量中,以减少空间冗余。(d) 所提出的八度卷积(Octave Convolution)直接在这种表示上操作。它更新每个组的信息,并进一步实现组间的信息交换。
1 引言
随着最近在减少密集模型参数中的固有冗余[15, 31, 42]和特征图通道维度中的冗余[47, 18, 6, 9]方面的努力,卷积神经网络(CNN)的效率不断提高。然而,CNN生成的特征图在空间维度上也存在大量冗余,其中每个位置独立存储其自身的特征描述符,而忽略了相邻位置之间的共同信息,这些信息可以一起存储和处理。
如图1(a)所示,自然图像可以分解为描述平滑变化结构的低空间频率分量和描述快速变化细节的高空间频率分量[1, 10, 37, 39]。类似地,我们认为卷积层的输出特征图也可以分解为不同空间频率的特征,并提出了一种新颖的多频率特征表示,将高频和低频特征图存储在不同的组中,如图1(b)所示。因此,低频组的空间分辨率可以通过在相邻位置之间共享信息来安全地降低,从而减少空间冗余,如图1(c)所示。为了适应这种新颖的特征表示,我们推广了普通卷积,并提出了八度卷积(OctConv),它直接操作包含两个频率相隔一个八度的特征图张量,并直接从低频图中提取信息,而无需将其解码回高频图,如图1(d)所示。作为普通卷积的替代,OctConv显著减少了内存和计算资源的消耗。此外,OctConv使用相应的(低频)卷积处理低频信息,并有效地扩大了原始像素空间中的感受野,从而可以提高识别性能。
我们将OctConv设计为一种通用的方式,使其成为普通卷积的即插即用替代品。由于OctConv主要专注于处理多空间频率的特征图并减少其空间冗余,因此它与现有的专注于构建更好CNN拓扑结构[22, 41, 35, 33, 29]、减少卷积特征图中通道冗余[47, 9, 34, 32, 21]以及减少密集模型参数冗余[42, 15, 31]的方法是正交且互补的。此外,与那些利用多尺度信息的方法[4, 43, 12]不同,OctConv可以轻松部署为即插即用的单元来替代卷积,而无需改变网络架构或调整超参数。与密切相关的多网格卷积[25]相比,OctConv基于频率模型提供了更多关于减少CNN中空间冗余的见解,并采用了更高效的频率间信息交换策略,具有更好的性能。我们进一步将OctConv集成到各种骨干架构中(包括那些具有分组卷积、深度卷积和3D卷积的架构),并展示了OctConv的通用性。
我们的实验表明,仅通过将普通卷积替换为OctConv,我们可以在流行的2D CNN骨干网络(包括ResNet [16, 17]、ResNeXt [47]、DenseNet [22]、MobileNet [18, 34]和SE-Net [19])上持续提升ImageNet [11]上的2D图像识别性能,以及在Kinetics [24, 3, 2]上的视频动作识别任务中提升3D CNN骨干网络C2D [44]和I3D [44]的性能。配备OctConv的Oct-ResNet-152可以在较低的内存和计算成本下匹配或超越最先进的手动设计网络[32, 19]。我们的贡献可以总结如下:
-
我们提出将卷积特征图分解为两个不同空间频率的组,并使用相应频率的卷积进行处理,频率相隔一个八度。由于低频图的分辨率可以降低,这节省了存储和计算资源。这也有助于每一层获得更大的感受野,以捕捉更多的上下文信息。
-
我们设计了一种名为OctConv的即插即用操作,用于直接操作新的特征表示并减少空间冗余。重要的是,OctConv在实际应用中速度很快,并且接近理论极限的加速效果。
-
我们在各种骨干CNN上广泛研究了所提出的OctConv的特性,并在图像和视频任务中实现了显著的性能提升,甚至可以与最好的AutoML网络相媲美。
2 相关工作
提高CNN的效率。自从AlexNet [26]和VGG [35]的开创性工作以来,研究人员为提高CNN的效率做出了大量努力。ResNet [16, 17]和DenseNet [22]通过添加快捷连接改进了网络拓扑结构。ResNeXt [47]和ShuffleNet [49]使用稀疏连接的分组卷积来减少通道间连接的冗余。Xception [9]和MobileNet [18, 34]采用深度卷积进一步降低了连接密度。同时,NAS [51]、PNAS [29]和AmoebaNet [33]提出自动找到给定任务的最佳网络拓扑结构。剪枝方法,如DSD [15]和ThiNet [31],专注于通过消除CNN中最不重要的权重或连接来减少模型参数中的冗余。此外,HetConv [36]提出用不同大小的异构卷积滤波器替换普通卷积滤波器。然而,所有这些方法都忽略了特征图空间维度上的冗余,这正是OctConv所解决的问题,使得OctConv与这些先前的方法正交且互补。值得注意的是,OctConv不会改变特征图之间的连接性,这也使其与类似Inception的多路径设计[41, 40, 47]不同。
多尺度表示学习。在深度学习成功之前,多尺度表示已长期应用于局部特征提取,例如SIFT特征[30]。在深度学习时代,多尺度表示由于其强大的鲁棒性和泛化能力也发挥了重要作用。FPN [27]和PSP [50]在网络的末端合并来自不同深度的卷积特征,用于目标检测和分割任务。MSDNet [20]和HR-Nets [38]提出了精心设计的网络架构,其中包含多个分支,每个分支都有自己的空间分辨率。bL-Net [4]和ELASTIC-Net [43]采用了类似的思想,但被设计为ResNet [16, 17]的残差块替代品,因此更灵活且易于使用。但在将其应用于ResNet之外的架构(如MobileNetV1 [18]、DenseNet [22])时,仍然需要额外的专业知识和超参数调整。多网格CNN [25]提出了一种多网格金字塔特征表示,并将MG-Conv算子定义为卷积算子的替代品,这在概念上与我们的方法相似,但其动机是探索多尺度特征。与MG-Conv相比,OctConv采用了更高效的设计来交换频率间信息,具有更高的性能,如第3.3节和第4.3节所示。对于视频模型,最近提出的SlowFast Networks [12]在时间维度上引入了多尺度路径。正如我们在第4.4节中展示的那样,这与OctConv在空间维度上的操作是互补的。
简而言之,OctConv专注于减少CNN中的空间冗余,并设计为无需调整骨干CNN架构即可替代普通卷积操作。我们在方法和实验部分广泛比较了OctConv与密切相关的方法,并展示了OctConv CNN在多个具有挑战性的基准测试中取得了顶级结果。
3 方法
在本节中,我们首先介绍八度特征表示,然后描述直接在其上操作的八度卷积(OctConv)。我们还将讨论实现细节,并展示如何将OctConv集成到分组卷积和深度卷积架构中。
八度特征表示
对于普通卷积,所有输入和输出特征图具有相同的空间分辨率,这可能并不必要,因为某些特征图可能表示低频信息,这些信息在空间上是冗余的,可以进一步压缩,如图1所示。
为了减少空间冗余,我们引入了八度特征表示,它将特征图张量显式分解为对应于低频和高频的组。尺度空间理论[28]为我们提供了一种创建空间分辨率尺度空间的原理方法,并将八度定义为空间维度除以2的幂(在本工作中我们仅探索2^1)。我们遵循这一方式,并将低频特征图的空间分辨率降低一个八度。

八度卷积




实现细节

八度卷积算子的实现细节如图2所示。它由四个计算路径组成,对应于公式(4)中的四个项:两个绿色路径对应于高频和低频特征图的信息更新,两个红色路径促进两个八度之间的信息交换。
分组卷积和深度卷积。八度卷积也可以应用于普通卷积的其他流行变体,如分组卷积[47]或深度卷积[18]。对于分组卷积的情况,我们简单地将OctConv设计中出现的所有四个卷积操作设置为分组卷积。类似地,对于深度卷积的情况,卷积操作是深度卷积,因此信息交换路径被消除,仅留下两个深度卷积操作。我们注意到,如果不压缩低频部分,分组OctConv和深度OctConv都会退化为它们各自的普通版本。
效率分析。表1显示了八度卷积相对于普通卷积和普通特征图表示的理论计算成本和内存消耗。更多关于表1中理论增益的推导信息可以在补充材料中找到。我们注意到,理论增益是按卷积层计算的。在第4节中,我们展示了在实际场景中的相应实际增益,并表明我们的OctConv实现可以充分接近理论数值。

与多网格卷积[25]的比较。多网格卷积(MG-Conv)[25]是一种双向和跨尺度的卷积算子。尽管在概念上相似,我们的OctConv在核心动机和设计上与MG-Conv不同。MG-Conv旨在利用现有CNN中的多尺度信息,而OctConv专注于减少相邻像素之间的空间冗余。在设计上,MG-Conv采用最大池化进行下采样。这需要在训练期间存储最大值的索引,并进一步导致较低的准确性(见附录C)。MG-Conv还首先上采样然后与放大的特征图进行卷积。不同的是,OctConv旨在减少空间冗余,并且是卷积算子的简单扩展。它使用平均池化来提取低频特征,而无需额外的内存成本,其上采样操作在卷积之后进行,因此比MG-Conv更高效。横向路径的精心设计对于OctConv来说至关重要,使其在内存和计算效率上比MG-Conv更高,并且在不增加网络复杂性的情况下提高了准确性。我们在表4中比较了OctConv与MG-Conv。
4 实验评估
在本节中,我们验证了所提出的八度卷积在2D和3D网络中的有效性和效率。我们首先在ImageNet [11]上进行图像分类的消融研究,然后与最先进的方法进行比较。接着,我们展示了所提出的OctConv在3D CNN中的效果,使用了Kinetics-400 [24, 3]和Kinetics-600 [2]数据集。本文中每个类别/块的最佳结果以粗体显示。
实验设置
图像分类。我们在一组最流行的CNN [18, 34, 16, 17, 22, 47, 19]上测试OctConv,通过将常规卷积替换为OctConv(除了最大池化之前的第一个卷积层)。生成的网络只有一个全局超参数αα,表示低频部分的比例。我们进行了公平的比较,并在相同的训练/测试设置下重现了所有基线方法以进行内部消融研究。所有网络都使用简单的softmax交叉熵损失进行训练,除了MobileNetV2还采用了标签平滑[40],而最佳的ResNet-152则同时采用了标签平滑和mixup [48]以防止过拟合。与[4]相同,所有网络都从头开始训练,并使用余弦学习率[13]进行SGD优化。报告了验证集上单中心裁剪[16, 17, 47, 4, 43]的标准准确率。
视频动作识别。我们使用Kinetics-400 [24, 3]和Kinetics-600 [2]进行人类动作识别。我们选择了Inflated 3D ConvNet [44]的标准基线骨干网络,并将其与OctConv对应的网络进行比较。我们遵循[45]的设置,使用8帧长度作为标准输入大小,总共训练300k次迭代,并在推理时对30个裁剪进行预测平均。为了进行公平比较,我们在完全相同的设置下报告了基线和OctConv的性能。
ImageNet上的消融研究
我们进行了一系列消融研究,旨在回答以下问题:1)OctConv是否比普通卷积具有更好的FLOPs-准确率权衡? 2)在什么情况下OctConv效果最好?
ResNet-50上的结果。我们首先使用流行的ResNet-50 [17]作为基线CNN,并将常规卷积替换为我们提出的OctConv,以检查FLOPs-准确率的权衡。特别是,我们改变全局比例α∈{0.125,0.25,0.5,0.75},以比较图像分类准确率与计算成本(即FLOPs)[16, 17, 47, 7]与基线的差异。结果如图3中的粉色曲线所示。
我们得出以下观察结果。1)FLOPs-准确率权衡曲线是一条凹曲线,准确率首先上升,然后缓慢下降。2)我们可以看到两个最佳点:第一个在α=0.5处,网络在FLOPs减少约一半的情况下获得了相似或更好的结果;第二个在α=0.125处,网络达到了最佳准确率,比基线(黑色圆圈)高出1.2%。我们将准确率的提高归因于OctConv的多频率处理设计和相应的扩大感受野,这为网络提供了更多的上下文信息。在达到0.125的准确率峰值后,准确率并没有突然下降,而是随着比例αα的增加而缓慢下降,这表明降低低频部分的分辨率不会导致显著的信息丢失。有趣的是,75%的特征图可以压缩到一半的分辨率,而准确率仅下降0.3%,这证明了分组和压缩平滑变化的特征图以减少CNN中的空间冗余的有效性。在表2中,我们展示了OctConv的理论FLOPs节省在实际CPU推理时间中也得到了体现。对于ResNet-50,我们接近获得了理论上的FLOPs加速。这些结果表明,OctConv能够带来重要的实际好处,而不仅仅是在理论上节省FLOPs。
更多CNN上的结果。为了进一步检验所提出的OctConv是否适用于具有不同深度/宽度/拓扑结构的其他网络,我们选择了当前最流行的网络作为基线,并重复相同的消融研究。这些网络包括ResNet-(26;50;101;200) [17]、ResNeXt-(50,32×4d;101,32×4d) [47]、DenseNet-121 [22]和SE-ResNet-50 [19]。选择ResNeXt是为了评估OctConv在分组卷积上的效果,而SE-Net [19]用于检查在基于普通卷积的网络中发现的SE块的增益是否也可以在OctConv上看到。如图3所示,配备OctConv的不同架构的网络表现与Oct-ResNet-50类似,FLOPs-准确率权衡曲线呈凹形,性能峰值也出现在比例α=0.125或α=0.25处。在各种骨干CNN上的一致性能提升证实了OctConv是普通卷积的良好替代品。
频率分析。图4显示了频率分析结果。我们对每组特征图进行了傅里叶变换,并可视化了平均结果。从能量图中可以看出,低频组不包含高频信号,而高频组包含低频和高频信号。这证实了低频组确实如预期那样捕捉了低频信息。请注意,OctConv为高频组提供了存储低频和高频信号的灵活性,以增强学习能力。
总结。1)OctConv可以帮助CNN在减少FLOPs的同时提高准确率,这与其他以减少FLOPs为代价降低准确率的方法不同。2)在测试时,OctConv相对于基线模型的增益随着测试图像分辨率的增加而增加,因为OctConv由于其更大的感受野可以更好地检测大物体,见附录C。3)两条信息交换路径都很重要,因为移除任何一条路径都会导致准确率下降,见附录C。4)浅层网络,例如ResNet-26,其感受野有限,特别受益于OctConv,因为它大大扩大了它们的感受野。
与ImageNet上的最先进方法进行比较

小型模型。我们采用最流行的轻量级网络作为基线,并检查OctConv是否在这些具有深度卷积的紧凑网络上表现良好。特别是,我们使用“0.75 MobileNet (v1)”[18]和“1.0 MobileNet (v2)”[34]作为基线,并将常规卷积替换为我们提出的OctConv。结果如表3所示。我们发现,OctConv可以将MobileNetV1的FLOPs减少34%,并在实际应用中提供更好的准确率和更快的速度;它能够将MobileNetV2的FLOPs减少15%,在相同的准确率下实现更快的速度。当计算预算固定时,可以采用更宽的模型来增加学习能力,因为OctConv可以补偿额外的计算成本。特别是,我们的OctConv网络在相同的FLOPs下实现了MobileNetV1的2%提升和MobileNetV2的1%提升。

中型模型。在上述实验中,我们已经比较并展示了OctConv与一组最先进的CNN [16, 17, 47, 22, 18, 34, 19]是互补的。在这一部分中,我们将OctConv与MG-Conv [25]、GloRe [8]、Elastic [43]和bL-Net [4]进行比较,这些方法与我们的方法有相似的思路。表4中显示了七组结果。在第一组中,我们的Oct-ResNet-26比R-MG-34的准确率高0.6%,而FLOPs仅为三分之一,参数数量为一半。此外,我们的Oct-ResNet-50的FLOPs不到一半,但准确率比R-MG-34高1.9%。在第二组中,将我们的OctConv添加到GloRe网络中,减少了FLOPs并提高了准确率。在第三组中,我们的Oct-ResNeXt-50比基于Elastic [43]的方法(78.8%对78.4%)获得了更好的准确率,同时减少了31%的计算成本。在第四组中,Oct-ResNeXt-101也比基于Elastic的方法(79.6%对79.2%)获得了更高的准确率,同时减少了38%的计算成本。与bL-Net [4]相比,配备OctConv的方法在不使用任何技巧的情况下实现了更好的FLOPs-准确率权衡。当采用基线bL-Net [4]中使用的技巧时,我们的Oct-ResNet-50在相同的计算预算下比bL-ResNet-50高0.9%(第五组),而Oct-ResNeXt-50(第六组)和Oct-ResNeXt-101(第七组)在可比甚至更低的计算预算下获得了更好的准确率。这是因为MG-Conv [25]、Elastic-Net [43]和bL-Net [4]的设计原则是引入多尺度特征,而没有考虑减少空间冗余。相比之下,OctConv天生就是为了解决CNN中的高空间冗余问题,使用更高效的策略来存储和处理整个网络中的信息,因此可以实现更好的效率和性能。
大型模型。表5显示了OctConv在大型模型中的结果。在这里,我们选择ResNet-152作为骨干CNN,将第一个7×7卷积替换为三个3×3卷积层,并通过轻量级残差块[4]移除最大池化。我们报告了带有和不带有SE-block [19]的Oct-ResNet-152的结果。可以看出,我们的Oct-ResNet-152在FLOPs较少(10.9G对12.7G)的情况下实现了与最佳手动设计网络相当的准确率。由于我们的模型不使用分组或深度卷积,它还需要显著更少的GPU内存,并且在实际运行中比SE-ShuffleNet v2-164和AmoebaNet-A(N=6, F=190)更快,后者在理论上FLOPs较低,但在实际运行中速度较慢。
5 结论
在本工作中,我们解决了普通CNN模型中广泛存在的空间冗余问题,并提出了一种新颖的八度卷积操作,通过分别存储和处理低频和高频特征来提高模型效率。八度卷积足够通用,可以直接替代常规卷积操作,并且可以在大多数2D和3D CNN中使用,而无需调整模型架构。除了节省大量计算和内存外,八度卷积还可以通过低频和高频之间的有效通信以及扩大感受野大小来提高识别性能,这有助于捕捉更多的全局信息。我们在图像分类和视频动作识别上的广泛实验证实了我们的方法在识别性能和模型效率之间取得了更好的权衡,不仅在FLOPs上,而且在实际应用中也表现出色。
1101

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



