EdgeNeXt轻量化学习笔记

EdgeNeXt轻量化学习笔记

EdgeNeXt: Efficiently Amalgamated CNN-Transformer Architecture for Mobile Vision Applications

Abstract

为了追求不断提高的精度,通常需要开发大型和复杂的神经网络。这种模型需要很高的计算资源,因此不能部署在边缘设备上。由于资源高效的通用网络在多个应用领域都很有用,因此构建资源高效的通用网络具有很大的意义。在这项工作中,我们努力有效地结合CNN和Transformer模型的优势,并提出了一种新的高效混合架构EdgeNeXt。特别是在EdgeNeXt中,我们引入了分割深度转置注意(SDTA)编码器,该编码器将输入张量分割为多个信道组,并利用深度卷积和跨信道维度的自我注意来隐式增加接收场并编码多尺度特征。我们在分类、检测和分割任务上的大量实验,揭示了所提出的方法的优点,以相对较低的计算要求优于最先进的方法。我们的EdgeNeXt模型具有1.3M参数,在ImageNet-1K上实现了71.2%的top-1精度,以2.2%的绝对增益和28%的失败减少优于MobileViT。此外,我们的EdgeNeXt模型具有5.6M参数,在ImageNet-1K上达到79.4%的top-1准确率。代码和模型在https://t.ly/_Vu9上公开

1. Introduction

卷积神经网络(CNNs)和最近引入的视觉转换器(ViTs)在几个主流计算机视觉任务中显著地推进了最先进的技术,包括目标识别、检测和分割[20,34]。为了追求不断提高的准确性,使网络架构更加深入和复杂是大的趋势。在追求更高精度方面的时候,大多数现有的基于CNN和viti的架构忽略了计算效率方面(即模型大小和速度),这对于在资源受限的设备(如移动平台)上运行至关重要。在许多现实世界的应用中,如机器人和自动驾驶汽车,识别过程希望既准确又在资源有限的移动平台上具有低延迟。

大多数现有的方法通常利用精心设计的高效卷积变体,在资源受限的移动平台上实现速度和准确性之间的权衡[19,28,33]。除了这些方法,现有的工作[16,36]很少采用硬件感知神经体系结构搜索(NAS)来构建低延迟精确的移动设备型号。虽然容易训练和有效编码局部图像细节,这些轻量级cnn没有明确建模像素之间的全局交互

视觉转换器(ViTs)[8]中自我注意的引入使显式地建模这种全局交互成为可能,然而,这通常以由于自我注意计算[24]而导致推理缓慢为代价。这成为为移动视觉应用程序设计轻量级ViT变体的一个重要挑战。

现有的大多数作品采用基于cnn的设计来开发高效的模型。然而,卷积运算在cnn中继承了两个主要的局限性:第一,它具有局部的接受域,因此无法建模全局上下文;其次,学习到的权值在推理时是固定的,使得cnn不能灵活地适应输入内容。虽然这两个问题都可以通过transformer得到缓解,但它们通常需要大量计算。最近很少有研究[29,43]研究结合CNNs和vit的优势来设计移动视觉任务的轻量级架构。然而,这些方法主要集中在优化参数上,需要进行更高的乘加(MAdds)操作,限制了移动设备上的高速推断。由于注意块的复杂度是输入大小[29]的二次元,因此MAdds更高。由于网络体系结构中存在多个注意力块,这变得更加成问题。在这里,我们认为在设计一个统一的移动架构时,模型的大小、参数和MAdds都希望相对于资源受限的设备更小,从而有效地结合了CNNs和vit的互补优势(见图1)。

image-20220805093308568

Contributions.

我们提出了一种新的轻量级架构,名为EdgeNeXt,该架构在模型大小、参数和MAdds方面很有效,同时在移动视觉任务的准确性方面更优越。具体来说,我们引入了分割深度转置注意(SDTA)编码器,它可以有效地学习局部和全局表示,以解决CNNs中接收域有限的问题,而不增加参数和MAdd操作的数量。与最先进的移动网络相比,我们提出的架构在包括图像分类、目标检测和语义分割在内的各种任务上表现出了良好的准确性和延迟性能。我们的EdgeNeXt骨干具有5.6M参数和1.3G MAdds,实现了79.4%的top-1 ImageNet-1K分类精度,优于其最近引入的MobileViT对应的[29],同时减少了35%的MAdds。对于目标检测和语义分割任务,与文献中发表的所有轻量级模型相比,提出的EdgeNeXt以更少的MAdds和可比较的参数数量实现了更高的mAP和mIOU

2. Related Work

近年来,针对移动视觉任务,设计轻量级、硬件高效的卷积神经网络已经在文献中得到了很好的研究。目前的方法主要集中在为低功率边缘器件设计高效的卷积[17,19]。在这些方法中,MobileNet[17]是应用最广泛的体系结构,它采用了深度可分离卷积[5]。另一方面,ShuffleNet[44]使用信道洗牌和低成本的群卷积。MobileNetV2[33]引入了具有线性瓶颈的反向剩余块,在各种视觉任务中取得了良好的性能。ESPNetv2[30]利用深度扩张卷积在不增加网络复杂度的情况下增加了网络的接收域。硬件感知神经体系结构搜索(NAS)也已被探索,以在移动设备上找到速度和准确性之间的更好权衡[16,36]。虽然这些ccn在移动设备上训练和推断的速度更快,但它们缺乏像素之间的全局交互,这限制了它们的准确性。

最近,Desovitskiy等人[8]提出了一种基于视觉任务自我注意机制[38]的视觉转换器架构。他们提出的体系结构利用大规模训练前数据(例如JFT-300M)、大量的数据增强和更长的训练计划来实现具有竞争力的性能。随后,DeiT[37]提出在该架构中集成蒸馏令牌,并且只在ImageNet-1K[32]数据集上进行训练。此后,文献中提出了几种vit的变体和混合架构,在vit中添加了图像特异性的诱导偏差,以提高在不同视觉任务上的性能[9,11,35,39,45]。

ViT模型实现了几种视觉识别任务的竞争性结果[8,24]。然而,由于多头自关注算法的计算成本较高,很难在资源受限的边缘设备上部署这些模型。最近有研究为移动视觉任务设计轻型混合网络,结合cnn和变压器的优点。MobileFormer[4]采用了MobileNetV2[33]和ViTs[8]的并行分支,通过桥接两个分支,实现本地-全局交互。Mehta等人[29]将变压器视为卷积,并提出了一个用于局部-全局图像上下文融合的MobileViT块。他们的方法在图像分类方面取得了优越的性能,超过了以前的轻量级cnn和ViTs使用类似的参数预算。

虽然MobileViT[29]主要专注于优化参数和延迟,但MHA仍然是该模型的主要效率瓶颈,尤其是在边缘设备上的MAdds数量和推断时间方面。考虑到MobileViT- s模型中存在9个注意力块,该模型中MHA的复杂度是输入量的二次元,这是主要的效率瓶颈。在这项工作中,我们努力为移动设备设计一种新的轻量级架构,该架构在参数和MAdds方面都是高效的,同时在移动视觉任务的准确性方面具有优势。我们提出的架构,EdgeNeXt,是建立在最近引入的CNN方法,ConvNeXt[25],它现代化ResNet[14]架构遵循ViT设计选择。在我们的EdgeNeXt中,我们引入了一个SDTA块,它将深度卷积与自适应内核大小以及转置注意以一种有效的方式结合在一起,获得了最佳的精度-速度权衡

3. EdgeNeXt

这项工作的主要目标是开发一种轻型混合设计,有效融合vit和cnn的优点,用于低功率边缘设备。在vit(例如,MobileViT[29])中的计算开销主要是由于自我注意操作。与MobileViT相比,我们模型中的注意块对于输入空间维数 O ( N d 2 ) O(Nd^2) O(Nd2)具有线性复杂度,其中N为patches的数量,d为feature/channel维数。在我们的模型中,自我注意操作被应用于跨通道维度,而不是空间维度。此外,我们还证明,只要注意力块的数量少得多(在MobileViT中是3块,而在MobileViT中是9块),我们就可以超过他们的表现。通过这种方式,所提出的框架可以用有限数量的MAdds对全局表示进行建模,这是保证边缘设备低延迟推理的基本准则。为了激发我们提出的架构,我们提出了两个理想的属性

a) Encoding the global information efficiently

自注意力学习全局表示的内在特征对于视觉任务至关重要。为了有效地继承这一优势,我们使用cross-covariance attention将注意力操作合并到特征通道维度上,而不是在相对较少数量的网络块中合并空间维度。这将原始自注意力操作的复杂度从二次项降低到线性项,并有效地隐式编码全局信息。

b) Adaptive kernel sizes

众所周知,大内核卷积的计算成本很高,因为参数和 FLOP 的数量会随着内核大小的增长而二次增加。尽管较大的内核大小有助于增加感受野,但在整个网络层次结构中使用如此大的内核是昂贵且次优的。我们提出了一种自适应内核大小机制来降低这种复杂性并捕获网络中不同级别的特征。受 CNN 层次结构的启发,我们在早期阶段使用较小的内核,而在卷积编码器块的后期使用较大的内核。这种设计选择是最佳的,因为 CNN 的早期阶段通常捕获低级特征,较小的内核适合此目的。然而,在网络的后期阶段,需要大型卷积核来捕获高级特征 [42]。我们接下来解释我们的架构细节。

Overall Architecture

图 2 说明了提议的 EdgeNeXt 架构的概述。主要成分有两个:(1)自适应N×N Conv编码器,和(2)拆分深度转置注意(SDTA)编码器。我们的 EdgeNeXt 架构基于 ConvNeXt [25] 的设计原则,并在四个阶段以四个不同的尺度提取层次特征。大小为 H×W×3 的输入图像通过网络开始处的 patchify stem 层,使用 4×4 非重叠卷积和层范数实现,这导致 H / 4 × W / 4 × C 1 H/4 × W/4 ×C1 H/4×W/4×C1 特征图.然后,将输出传递给 3×3 Conv。编码器提取局部特征。第二阶段从使用 2×2 跨步卷积实现的下采样层开始,该层将空间大小减少一半并增加通道,产生 H / 8 × W / 8 × C 2 H/8 × W/8 ×C2 H/8×W/8×C2特征图,然后是两个连续的 5×5 卷积。编码器。位置编码 (PE) 也仅在第二阶段的 SDTA 块之前添加。我们观察到 PE 对密集预测任务(例如,对象检测和分割)很敏感,并且在所有阶段添加它会增加网络的延迟。因此,我们只在网络中添加一次以对空间位置信息进行编码。输出特征图进一步传递到第三和第四阶段,分别生成 H / 16 × W / 16 × C 3 和 H / 32 × W / 32 × C 4 H/16× W/16 ×C3 和 H/32× W/32 ×C4 H/16×W/16×C3H/32×W/32×C4 维特征。

image-20220805093429389

Convolution Encoder

该块由具有自适应内核大小的深度可分离卷积组成。我们可以通过两个单独的层来定义它:(1)具有自适应 N×N 内核的深度卷积。对于阶段 1、2、3 和 4,我们分别使用 k = 3、5、7 和 9。然后,(2) 使用两个逐点卷积层来丰富局部表示,同时使用标准层归一化 [2] (LN) 和高斯误差线性单元 [15] (GELU) 激活非线性特征映射。最后,添加一个跳过连接以使信息在网络层次结构中流动。这个块类似于 ConvNeXt块,但内核大小是动态的,并且根据阶段而变化。我们观察到 Conv 中的自适应内核大小。与静态内核大小相比,编码器性能更好(表 7)。转化率。编码器可以表示如下:

image-20220805101434974

其中xi表示形状为H×W×C的输入特征图,LinearG是一个点卷积层,后面是GELU,Dw是k×k深度卷积,LN是一个归一化层, x i + 1 x_{i+1} xi+1表示输出特征转换地图.编码器。

SDTA Encoder

建议的split depth-wise transpose attention(拆分深度转置注意) (SDTA) 编码器中有两个主要组件。第一个组件通过编码输入图像中的各种空间级别来努力学习自适应多尺度特征表示,第二部分隐式编码全局图像表示。我们编码器的第一部分受到 Res2Net [12] 的启发,我们采用多尺度处理方法,将分层表示开发成单个块。这使得输出特征表示的空间感受野更加灵活和自适应。与 Res2Net 不同,我们的 SDTA 编码器中的第一个块不使用 1×1 逐点卷积层来确保具有有限数量的参数和 MAdd 的轻量级网络。此外,我们使用每个阶段的自适应子集数量来实现有效和灵活的特征编码。在我们的 STDA 编码器中,我们将输入张量 H×W×C 分成 s 个子集,每个子集用 xi 表示,并且与 C/s 个通道具有相同的空间大小,其中 i ∈ {1, 2, …, s } 和 C 是通道数。每个特征图子集(第一个子集除外)都传递给 3×3 深度卷积,记为 di,输出记为 yi。此外, d i − 1 d_{i-1} di1 的输出,用 y i − 1 y_{i-1} yi1 表示,被添加到特征子集 xi 中,然后输入到 di。子集 s 的数量基于阶段数 t 是自适应的,其中 t ∈ {2, 3, 4}。我们可以这样写yi:

image-20220805101631627

如图 2 中的 SDTA 编码器所示,每个深度操作 di 接收来自所有先前分割 {xj, j ≤ i} 的特征图输出。

如前所述,transformer 自注意力层的开销对于边缘设备上的视觉任务是不可行的,因为它是以更高的 MAdd 和延迟为代价的。为了缓解这个问题并有效地编码全局上下文,我们在我们的 SDTA 编码器 [1] 中使用转置query和key注意力特征图通过跨通道维度而不是空间维度应用 MSA 的点积运算,该操作具有线性复杂性,这允许我们计算跨通道的交叉协方差以生成具有关于全局表示的隐式知识的注意力特征图。给定一个形状为 H × W × C H×W×C H×W×C 的归一化张量 Y,我们使用三个线性层计算查询 (Q)、键 (K) 和值 (V) 投影,得到 Q = W Q Y 、 K = W K Y , a n d V = W V Y Q=W^QY 、K=W ^KY ,and V = W^VY Q=WQYK=WKY,andV=WVY ,尺寸为 HW ×C,其中 W Q 、 W K , a n d W V W^Q、W^K,andW^V WQWK,andWV 分别是 Q、K 和 V 的投影权重。然后,在计算交叉协方差注意力之前,将 L2 范数应用于 Q 和 K,因为它可以稳定训练。我们不是在 Q T Q^T QT K T K^T KT 之间沿空间维度应用点积,即 (HW × C) · (C × HW ),而是在 QT 和 K 之间的通道维度上应用点积,即 (C×HW ) · (HW ×C),产生 C×C softmax 缩放的注意力得分矩阵。为了得到最终的注意力图,我们将分数乘以 V 并将它们相加。转置的注意力操作可以表示如下:

image-20220805102412620

其中 X 是输入,X 是输出特征张量。之后,使用两个 1×1 逐点卷积层、LN 和 GELU 激活来生成非线性特征。表 1 显示了 Conv 的序列。和 STDA 编码器,在每一层都有相应的输入大小,有更多关于超小、超小和小模型的设计细节。

image-20220805102449996

4. Experiments

image-20220805103357213

image-20220805103633388

image-20220805103707945

image-20220805103900171

5. Ablations

image-20220805103716148

image-20220805104017307

image-20220805104159520

image-20220805104321617

image-20220805104336110

6. Qualitative Results

image-20220805104531403

image-20220805104600948

7. Conclusion

与 CNN 相比,Transformer 模型的成功带来了更高的计算开销。自注意力操作是这种开销的主要贡献者,与基于 CNN 的移动架构相比,这使得边缘设备上的视觉转换器速度变慢。在本文中,我们介绍了一种混合设计,由卷积和基于自注意力的高效编码器组成,以有效地联合建模局部和全局信息,同时在参数和 MAdds 方面都非常高效,与最先进的方法相比,MAdds 以卓越的性能执行视觉任务。我们的实验结果显示了 EdgeNeXt 不同变体的良好性能,这证明了所提出模型的有效性和泛化能力

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值