ULSAM

news/2024/7/3 1:13:26

ULSAM: Ultra-Lightweight Subspace Attention Module for Compact Convolutional Neural Networks

自注意力机制对远距离依赖性的建模能力,使其在视觉模型中的应用得到了提升。与卷积运算符不同的是,自注意力机制提供了infinite感受野,并且能够对全局依赖性进行高效的计算建模。然而,现有的最先进的注意力机制产生了高计算和/或参数开销,因此不适合紧凑型卷积神经网络(CNNs)。在这项工作中,我们提出了一种简单而有效的 “超轻量级子空间注意力机制”(Ultra-Lightweight Subspace Attention Mechanism,ULSAM),它为每个特征图子空间推导不同的注意力特征图。我们认为,为每个特征子空间分别学习不同的注意力特征图,可以实现多尺度、multi-frequency的特征表示,这对于精细化的图像分类是比较理想的。我们的子空间注意力方法与现有的视觉模型中的注意力机制是正交(orthogonal)和互补的。ULSAM可以进行端到端训练,并且可以作为一个即插即用的模块部署在已有的compact CNN中。值得注意的是,我们的工作是第一个使用子空间注意力机制来提高compact CNNs效率的尝试。为了展示ULSAM的功效,我们以MobileNet-V1和MobileNet-V2为骨干架构,在ImageNet-1K和三个细粒度图像分类数据集上进行了实验。在ImageNet-1K和细粒度图像分类数据集上,我们实现了MobileNet-V2的FLOPs和参数数分别减少了13%和25%,Top-1的准确率分别提高了0.27%和1%以上。代码和训练后的模型可在https://github.com/Nandan91/ULSAM。

1. Introduction

卷积神经网络(CNNs)在各种认知和学习任务中取得了显著的预测性能[11,43,12,32,18]。CNN前所未有的预测性能源于CNN丰富的表征能力,而这种表征能力又源于网络中更深更宽的层数。更深层和更宽层通过规避卷积算子的固有局限性,即位置性[7]和线性[20],增强了网络的表现力和辨别能力。

与浅层网络不同的是,CNN中的语义算子–卷积的局部性为避免维度诅咒提供了理论上的保证,同时可以近似于层次化的局部组成函数[27,22]。由于CNN中的卷积捕获了局部(如3 3)特征相关性[19],因此将多个卷积算子叠加在一起,以扩大有效的感受野大小,并捕获 long-range依赖性[7]。然而,这使得CNNs更深。此外,由于卷积运算的线性导致对输入数据中的非线性抽象的捕捉效率不高[20],CNNs每层采用较多的滤波器,通过学习来捕捉复杂的latent concept所有可能变化[20]。然而,这使得CNNs更宽。CNNs中更深更宽的层数[12,43,13]导致了较高的计算成本(以浮点运算次数或FLOPs来衡量)和大量的参数,这使得CNNs在资源受限的平台上的部署变得相当困难。

紧凑的CNN如MobileNets[14,30]和ShuffleNets[48,21]试图通过采用深度可分离(DWS)卷积来显著降低计算成本。同样,在视觉任务中,扩张卷积也被用来扩大感受野大小[45]。然而,卷积运算符的低效率仍然存在,网络以计算效率低下的方式学习复杂的跨通道相互依赖关系。

在这里插入图片描述

自注意力在自然语言处理[36]中成功地建立了长程依赖性的模型,使其能够作为一种计算基元(computation primitiv)纳入视觉模型[28,1,7]。自注意力有效地捕捉了特征空间中特征的全局依赖性,规避了CNN中卷积算子的固有限制。然而,这些注意力机制的较高参数和/或计算开销(表1)对于在紧凑型CNN中是不可取的。由于紧凑型CNN的参数空间冗余度较低,与现有的注意力机制相比,紧凑型CNN的理想注意力机制应该具有更有效、更高效地捕捉全局相关性(融合语义和空间信息)的能力。

在这里插入图片描述

在这项工作中,我们提出了 “超轻量级子空间注意力模块”(ULSAM),这是一种用于紧凑型CNN的新型注意力块(图1)。ULSAM可以为每个特征图子空间学习不同的注意力图,减少紧凑型CNN的特征图中的空间和通道冗余。同时,为每个子空间学习不同的注意力图,可以实现multi-scale and multi-frequency的特征表示,这是可取的,特别是对于细粒度的图像分类任务。据我们所知,ULSAM是第一个能够高效(计算和参数)学习每个特征图子空间的跨通道相互依赖性的注意力模块

我们的主要贡献总结如下:

1.我们提出了一种新的用于紧凑型cnn的注意块(ULSAM),它可以学习每个特征子空间的个体注意映射,并在多尺度、多频率特征学习的同时实现跨信道信息的高效学习。

2.我们通过在ImageNet-1K上使用MobileNet-V1和MobileNet-V2以及三个细粒度图像分类数据集的大量实验,展示了我们的块(ULSAM)的有效性。

3.我们用较少的参数和计算量在MobileNet-V1和MobileNet-V2上展示了ULSAM的可扩展性和有效性,并使用ImageNet-1K和细粒度数据集。

2. Background and Related Work

本节介绍了各种设计技术,以及它们的局限性,这些技术已经被纳入CNN中,以减少FLOPs的数量。此外,我们还简要介绍了视觉模型中采用的最先进的注意力机制,通过特征空间中的特征重分布来减少FLOPs和参数数量。我们在表1中显示了这些注意力机制与我们提出的模块ULSAM在FLOPs和参数数方面的开销。

2.1. Computational Cost of Convolution in CNNs

公式1显示了滤波器尺寸 s k × s k s_k\times s_k sk×sk的标准卷积(SConv)和FC层的计算成本(以FLOPs为单位),其中m和n分别是空间大小h x w的输入特征图和输出特征图的数量。需要注意的是,FC层是卷积层的一种特殊情况,其中滤波器大小等于输入特征图大小,因此,FC层的输出特征图大小为1 x 1。

在这里插入图片描述

在最先进的cnn[30,14,12]中,m和n的数量级为数千(在cnn的深层中),因此,mxn的值很大。在等式1中,术语mxn与 s k × s k s_k\times s_k sk×sk耦合源于SConv中的组合特征提取和特征聚合。

为了降低计算成本,采用了深度可分离(DWS)卷积[30,14,9],它通过将标准卷积分解为depthwise convolution(特征提取)和pointwise convolution(特征聚集)来分离m x n和 s k × s k s_k\times s_k sk×sk

depthwise convolution减少了通道范围内的冗余,打破了输入和输出特征之间的完全连接模式.同样,pointwise convolution也减少了空间范围内的冗余。DWS卷积的计算成本为 s k × s k × m × h × w s_k\times s_k\times m\times h\times w sk×sk×m×h×w(depthwise convolution)+ m × n × h × w m\times n\times h\times w m×n×h×w(pointwise convolution)。DWS卷积中的这种分解大大减少了计算量;但是,由于pointwise convolution中的m×n项,DWS卷积的计算主要由pointwise convolution控制。例如,在MobileNet-V1[14]中,pointwise convolution占总FLOPs的94.86%,而depthwise convolution只占总FLOPs的3.06%。

为了降低点卷积的计算开销,ShuffleNet[48]在1x1层上采用分组卷积。在分组卷积中,将输入特征图分为相互排斥的组,每组独立地用 s k × s k s_k \times s_k sk×sk滤波器进行卷积,并打破输入和输出特征图之间的全连接模式。但由于多个分组卷积层的叠加,禁止了跨组交互,导致性能下降[48]。为了解决这个问题,ShuffleNet在分组卷积层之后采用了通道洗牌机制。但是,通道洗牌并不能随着组数的增加而扩展,随着组数的增加,通道洗牌的收益越来越小[48]。另外,通道洗牌是天真的,不知道上下文,因此,分组卷积的局限性没有得到充分的缓解

ULSAM采用注意机制,在depthwise卷积后只使用一个1×1滤波器,即n=1,并且计算中没有m×n项,因此可以compute-efficient interaction of cross-channel information。因此,ULSAM分解了输入和输出特征映射之间的紧密连接,而不受group convolution的限制和pointwise convolutio的计算开销。

2.2. Attention Mechanisms for Vision Models

在引导性认知任务中,注意力是对输入数据的不同部分赋予不同的重要性,从而使网络能够从嘈杂的数据中挑选出突出的信息[44,41]。注意力大致可以分为两类,即implicit attention and explicit attention。在训练过程中,CNN自然会学习一种implicit attention的形式,CNN中的神经元对输入数据的不同部分做出不同的反应[24,23,47]。

近来,人们对将显式注意力纳入CNNs中用于视觉相关任务的兴趣越来越大。Xu等[44]和Chen等[5]使用注意力机制从图像中生成标题。Wang等人[37]通过堆叠多个注意力模块来生成attention-aware features,提出了一个residual attention网络。其他一些最新的工作加入了显式注意力机制,提高了计算效率和特征空间的特征分布,提高了CNN的效率。

Wang等[39]提出了non-local operation,这是self-attention 的一种泛化形式[36],以提升视频识别任务的性能。Chen等[7]引入了 double attention block,通过在整个特征空间中收集和分布特征,捕捉长距离的依赖性。Park等[25]提出了 “瓶颈注意力模块”(Buttonleneck Attention Module),该模块采用多层感知器(MLP)进行 channel-wise的特征聚合,并采用 dilated convolution来高效提取空间信息。Woo等人[42]介绍了 “convolution block attention module”(CBAM),利用注意力机制同时利用空间和通道特征相关性来提高CNN的表示能力。SE-Net[15]采用了MLP,通过squeeze and excitation operations对特征图进行重新校准re-calibrates。

为了显示上述注意机制对紧凑型CNN的功效,我们计算了在CNN中部署这些注意机制的计算(FLOPs)和参数(Params)开销(表1)。在表1中,t是 A 2 A^2 A2 - Net中注意力特征图的数量,r是MLP在BAM、CBAM和SE-Net中的 reduction ratio(超参数)。如表1所示,现有的注意力机制产生了较高的计算开销(由于用于生成attention maps的代价更高的1x1卷积)和/或参数开销(由于parameter-heavy MLP)。相反,ULSAM只使用一个1×1滤波器,利用了特征图之间的线性关系,避免了MLP的使用。

3. Proposed Method

在有足够数量的attention heads和relative positional encoding的情况下,自注意力层的表现力高于卷积层[10].然而,大量的attention heads会导致高计算和参数开销,特别是在CNN的初始层,特征图的维度很高。例如,要用一个自注意力层取代一个具有7×7滤波器的卷积层(在初始层),至少需要部署49个attention heads[10]。

3.1. Design Optimization in ULSAM

在ULSAM中,我们对每个特征子空间只使用一个注意力图。此外,与[7]和[39]不同的是,我们在初始步骤中使用depthwise卷积,在生成attention maps的后续步骤中仅在pointwise convolution中使用一个滤波器。这大大减少了计算量,使ULSAM适用于紧凑型cnn。

Multi-scale feature representation: 多尺度特征学习有助于理解图像的上下文,特别是在多物体环境中,并提高网络的表示能力[11,4,38]。此外,多尺度特征学习使网络能够以有效的方式编码位置信息,这对于位置相关的视觉任务(如语义分割)是可取的[16]。与采用不同receptive size的滤波器相比(如InceptionNet变体[33, 35, 34]),将特征图分为若干阶段(特征图子空间)并对每个阶段采用不同的卷积是产生多尺度特征的有效方法,从而提高网络的effective receptive size[11]。此外,网络的预测性能随着特征图中阶段数的增加而增加,因此,与增加深度、宽度、cardinality相比,特征图中的阶段数是提升网络表征能力的更有效方法[11]。因此我们将特征图划分为不同的子空间,并在ULSAM中对每个子空间infer不同的注意力图,从而实现多尺度的特征表示。

Multi-frequency feature representation: 自然图像由低频和高频成分组成,前者包含缓慢变化的特征,后者代表了图像中的细微细节[6]。对高频和低频特征赋予不平等的重要性是特征图中表示特征的有效方法[6,8]。继而,通过不同的权重在不同的注意力图中为每个特征子空间学习不同的重要性,是一种有效的multi-frequency features学习方式。当图像样本中存在较高的类内变化时,这种学习multi-frequency features的方式是有利的。因此,multi-frequency features学习对于判别区域具有细微细节的精细化图像分类,即高频特征更为理想。

在这里插入图片描述

图2。ULSAM将输入的特征映射分成g个互斥的组,每个组包含g个特征图。

3.2. ULSAM

F ∈ R m × h × w F\in R^{m\times h\times w} FRm×h×w为中间卷积层的特征图,其中 m m m为输入的通道数, h , w h,w h,w是特征图的空间维度。我们的目标是学习如何有效地捕捉特征图中的跨通道相互依赖关系。如图2所示,ULSAM将输入的特征图(F)分为g个互斥组 [ F 1 , F 2 , . . . F n ~ , . . . F g ] [F_1,F_2,...F_{\widetilde n},...F_g] [F1,F2,...Fn ,...Fg],其中每组有G个特征图。我们将 F n ~ F_{\widetilde n} Fn 定义为一组中间特征图,并进行如下操作。

在这里插入图片描述

在公式2中, m a x p o o l 3 × 3 , 1 maxpool^{3\times 3,1} maxpool3×3,1为核大小为 3 × 3 3\times 3 3×3,padding为1的maxpool。 D W 1 × 1 DW^{1\times 1} DW1×1是核大小为 1 × 1 1\times 1 1×1的depthwise convolution, P W 1 PW^1 PW1代表只有一个filter的pointwise convolution, A n ~ A_{\widetilde n} An 是由一组中间特征图 ( F n ~ ) (F_{\widetilde n}) (Fn )推断出的注意力特征图。每组(子空间)中的注意力图( A n ~ A_{\widetilde n} An )通过学习收集跨通道信息,捕捉到特征图之间的非线性依赖关系。为了保证 Σ i , j A n ~ ( i , j ) = 1 \Sigma_{i,j}A_{\widetilde n}(i,j)=1 Σi,jAn (i,j)=1,即一个有效的注意力加权张量,我们采用了一个具有softmax激活的门控机制,在Eq.2中。每组特征图经过公式3中的feature-redistribution in Eq.后,得到refined 特征图集( F ^ n ~ \hat F_{\widetilde n} F^n ),其中 ⨂ \bigotimes 是element-wise multiplication, ⨁ \bigoplus 是element-wise addition。最终的输出 U L S A M ( F ^ ) ULSAM(\hat F) ULSAM(F^)是通过将各组的特征图连(concatenating)在一起得到的(式4)。

与SE-Net[15]中的squeeze操作类似,在Eq.2中,depthwise convolution后进行max pool operation,highlights the local informative region[46],收集空间信息。然而,与SE-Net中的excitation阶段不同,我们并没有使用parameter-heavy的MLP来捕捉通道间的相互依赖关系,而是利用不同特征图子空间之间的线性关系来整合跨通道信息。实际上,ULSAM可以用极少的参数和计算来捕捉复杂的跨通道信息交互。我们通过考虑三个突出的案例来分析ULSAM。

Case 1: g=1:在这种情况下,只有一个组,即整个feature volume的跨通道信息被single attention map所捕获。直观地讲,single attention map不足以捕捉整个特征空间中的复杂关系,会导致预测性能降低。

在这里插入图片描述

Case 2 : 1 < g < m : 将特征图分为g组,意味着将产生g个注意力图。每一个注意力图都可以从各自组中的特征图中获取跨通道信息。我们已经用不同的g(如g= 1,4,8,16)进行了实验(第4节),较大g(g=4;8;16)在ImageNet上获得了较高的性能提升(表6)。

**Case 3: **g=m:这里,在特征空间中为每个特征图生成注意力图。因此,公式2可以重写为: A n ~ = s o f t m a x ( α 2 ⨂ ( m a x p o o l 3 × 3 , 1 ( α 1 ⨂ F n ~ ) ) ) A_{\widetilde n}=softmax(\alpha_2\bigotimes(maxpool^{3\times 3,1}(\alpha_1\bigotimes F_{\widetilde n}))) An =softmax(α2(maxpool3×3,1(α1Fn ))).这里 α 1 \alpha_1 α1 α 2 \alpha_2 α2为depthwize和pointwise卷积的参数。在每个组中,只有一个特征图(即G=1),没有任何东西要沿通道维度进行学习。因此,注意力图将无法捕获跨信道信息,注意力图的生成过程就沦为特征图本身的非线性变换。

显然,当1<g<m时,可以得到更好的跨通道信息交互,表6所示的结果证实了这一直觉。为了保持模型的简单性,我们并没有采用任何智能策略将特征图划分成组。取而代之的是,我们将特征图分成若干组,使G在所有组中保持相同。我们注意到,将特征图划分成组,在有效学习跨通道信息的同时,不会产生任何额外的参数或计算开销。换句话说,存储和计算成本只取决于通道数(m),而与形成的组数(g)无关

在这里插入图片描述

在这里插入图片描述

Where to insert ULSAM in CNNs? Deeper layers在特征图中具有更多的语义信息和更粗糙的空间信息[28]。而且,Deeper layers与全局特征相关,具有较强的位置信息[16]。因此,**与在初始层应用注意力相比,在更深层应用自注意力能更好地学习全局信息的交互。**此外,由于特征图的空间大小较小(与初始层中的特征图大小相比),在更深的层中采用自关注比在初始层s中应用在计算上更便宜[28]。如表3所示,MV1的堆栈为5层(第8-12层),有512个输入和输出特征图。

类似地,MobileNet-V2(MV2)在第2层到第18层之间有residual bottleneck blocks,并且具有相同配置的2层或3层的不同堆栈(表5)。这些具有相同配置的重复层的块,由于filter数量较多,会产生非常高的计算开销。例如,MV1中的第8层到第12层累计占MV1中总FLOPS的46%。因此,我们在层与层之间插入ULSA和/或它替代上述块中的层,以有效地学习跨通道交互。

4.1. Results on ImageNet1K

MV1 and MV2 with additional parameters/FLOPs:

我们在MV1中的第11、12、13层后插入ULSAM,在表6中表示为11:1、12:1和13:1。在11:1、12:1和13:1位置插入ULSAM所产生的参数和FLOPs开销分别为1.02K和0.2M/0.1M。当ULSAM的位置(g=4/8)为12:1和13:1时,ImageNet-1K的Top-1精度分别提高了0.27%和0.21%。同样,当ULSAM插入到第17层之后时,MV2的精度提高了0.39%(表5),并且分别只发生0.32K和0.015M的附加参数和FLOPs(表6)。

关键意见。对于ULSAM的每个位置,当g为4时,MV1/MV2的性能较高。具体来说,当g增加到1以上时,MV1/MV2的性能有明显的提升。This indicates that separate attention maps for the different parts of ofmaps help in better feature representation.

cates that separate attention maps for the different parts of ofmaps help in better feature representation.

MV1 and MV2 with fewer parameters/FLOPs: 如表3所示,MV1第8~12层的配置相同,它们占总FLOP的46%。我们使用ULSAM对这部分网络进行优化,在第8层和第9层之后插入ULSAM,并替换第11层,即在表4所示的位置(8:1,9:1,11)。与基线网络相比,我们在ImageNet-1K上的top-1精度下降了0.22%的情况下,实现了FLOPs和参数的大幅减少52M和0.3M(分别)(表7)。


http://www.niftyadmin.cn/n/3658354.html

相关文章

编译原理:tiny语言

描述真实的编译器非常困难。“真正的”编译器——也就是希望在每天编程中用到的——内容太复杂而且不易在本教材中掌握。另一方面&#xff0c;一种很小的语言&#xff08;其列表包括1 0页左右的文本&#xff09;的编译也不可能准确地描述出“真正的”编译器所需的所有特征。 为…

编写leetcode测试用例时所用的辅助函数

在做leetcode题目&#xff08;https://oj.leetcode.com/problemset/algorithms/&#xff09;的时候&#xff0c;我们总要自己写测试用例&#xff0c;常常要生成vector, list, tree&#xff0c;我将这些常用操作封装了一下&#xff0c;方便大家使用 tool.h //tool.h #ifndef TO…

--- 入侵检测 ---

浅谈入侵检测毛毛 01-5-22 上午 10:59:12入侵检测系统随着计算机网络技术的飞速发展、应用范围的不断扩大&#xff0c;从早期的文件传输、电子邮件传输到目前的电子商务、Internet/Intranet,计算机网络在现代生活中的重要性正不断加强。但随之而来的计算机网络攻击也不断增加&a…

Dynamic Channel Pruning Feature Boosting and Suppression

Dynamic Channel Pruning: Feature Boosting and Suppression 使深度卷积神经网络更加精确通常是以增加计算和内存资源为代价的。在本文中&#xff0c;我们利用卷积层计算出的特征的重要性与输入高度相关这一事实来降低这一成本&#xff0c;并提出了特征提升和抑制(FBS)&#…

试试新功能

1&#xff1a;测试 听说CSDN支持离线写博客啦&#xff0c;我来试试 2&#xff1a;回来 好久没写过博客了&#xff0c;最近太懒了啊 3&#xff1a;图片

ecshop修饰符preg_replace/e不安全的几处改动

主要集中在 upload/includes/cls_template.php 文件中&#xff1a;1&#xff1a;line 300 &#xff1a;原语句&#xff1a;return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select(\\1);", $source);修改为&#xff1a;return preg_replace_callbac…