最新轻量化Backbone | FalconNet汇聚所有轻量化模块的优点,成就最强最轻Backbone

简介: 最新轻量化Backbone | FalconNet汇聚所有轻量化模块的优点,成就最强最轻Backbone

设计具有小参数和Flops的轻量化CNN模型是一个突出的研究问题。然而,在当前的轻量化神经网络中仍然存在3个重要问题:

  1. 缺乏架构一致性,导致冗余和容量比较受阻,以及架构选择和性能增强之间的因果关系不明确;
  2. 单分支深度卷积的使用损害了模型的表示能力;
  3. depth-wise占了参数和Flops的很大比例,但缺乏使其轻量化的有效方法。

为了解决这些问题,本文将轻量化CNNs的4个重要组成部分从粗到细分解并重新设计:

  1. 设计了一个称为LightNet的轻量化整体架构,该架构通过简单地实现其他轻量化CNN的BasicBlock来获得更好的性能;
  2. 抽象了一个Meta Light Block,它由空间算子和通道算子组成,并统一描述当前的BasicBlock;
  3. 提出了构造多个空间算子分支的RepSO,以增强表示能力;
  4. 提出了感受范围的概念,在此基础上提出了RefCO来稀疏因子化通道算子。

基于以上4个重要组成部分,作者提出了一个新的轻量化CNN模型FalconNet。实验结果表明,与现有的轻量化神经网络相比,FalconNet可以以更低的参数和浮点数实现更高的精度。

1、介绍

卷积神经网络(CNNs)具有表示高维复杂函数的能力,已成功应用于各种真实视觉场景。神经网络具有比ViTs更低的计算复杂度和更高的效率,在计算机视觉应用中仍然占据主导地位。对于在移动设备上实现真实世界的应用,计算和存储资源总是有限的,需要具有减少的参数和低Flops的轻量化CNN模型,同时保持有竞争力的性能。

MobileNetV1中提出的深度可分离卷积(DSConv)将规则卷积分解为深度卷积(DW-Conv)和点卷积(PW-Conv)。因此,DS-Conv减少了大量的计算和参数,并已成为后续轻量化神经网络和现代大型神经网络的Basic设计组件。MobileNetv2提出了反向残差Block(IRB),以减轻对特征的破坏并增强表征能力。利用IRB的范式作为BasicBlock,提出了许多具有不同整体架构(Stage、宽度、深度)的轻量化模型。除了IRB,还设计了许多具有不同结构的有效BasicBlock,以提高轻量化神经网络的表征能力。

然而,体系结构的不一致性导致了可以通过统一来整合的冗余结构,并且使用不同的BasicBlock和不同的体系结构导致了不公平的容量比较,并模糊了体系结构选择和性能增强之间的因果关系。

此外,虽然一些工作将DW-Conv分解为并行的低秩分支以节省计算成本,但追求更低Flops和参数的轻量化模型的主要分支在于PW-Conv。如图1所示,PW-Conv占轻量化模型参数的大部分,而DW-Conv仅占很小的比例。ShuffleNet将通道分成组并对通道进行Shuffle操作,然而,不同组中的通道之间的信息通信不足。

IGC提出了交错群卷积,以用多个置换的群卷积层取代规则卷积,同时结构变得复杂。ChannelNet为PW-Conv引入了稀疏连接,而一个输出通道只能处理一小部分输入通道,因此由于信息通信不足,仅应用于最后一个PW-Conw层。

本文提出了一种新的轻量化CNN模型,该模型在保持竞争性能的同时具有少量的参数。鉴于上述问题,作者分解了构建轻量化神经网络的4个重要组成部分,即整体架构、Meta Basic Block、空间算子和通道算子。

具体而言:

  1. 首先设计了一种称为LightNet的轻量化整体架构,它指的是现代神经网络的结构设计,有4个Stage,每个Stage都堆叠着Basic Block。通过在LightNet上简单地实现其他轻量化CNN的Basic Block,可以获得更好的性能。
  2. 抽象并分析了一个由空间算子和通道算子(特别是PW-Conv)组成的Meta Basic Block,用于轻量化CNN模型设计。Meta Basic Block的范式统一描述了当前的Basic Block,例如MobileNets和EfficientNets中的IRB、Sandglass Block和FasterNet Block,推断Meta Basic Block的框架为模型提供了Basic能力,而模型性能的差异本质上来自不同的结构实例化。通过大量的实验,将Meta Basic Block进一步简化为Meta Light Block,从而获得更好的性能。
  3. 引入RepSO作为Meta-Light Block的空间运算符。根据权值大小的指导,RepSO构造了多个额外的分支,以补偿可学习参数的减少,增强模型的表示能力。RepSO进一步利用结构重参化方法将这些不同的分支等效地转换为推理中的单个分支。
  4. 引入了通道维度对应的感受范围的概念和空间维度的感受场的概念。感受范围阐述了PW-Conv中输出和输入神经Meta 之间的连接方式,声称一个输出神经Meta 应该直接或间接地关注所有输入神经Meta ,以获得完整的感受范围。基于感受范围的概念,进一步提出了RefCO,它通过将稀疏性引入到与空间卷积对应的密集通道连接中,来因子化Meta-Light Block中的PW-Conv。此外,RefCO利用结构重参化,同时构建多个稀疏因子化的PW-Conv,以补偿通道连接的减少。

最后,基于上述4个重要组成部分,作者提出了一个新的轻量化CNN模型,称为FalconNet。实验结果表明,与现有的轻量化CNN相比,FalconNet可以用更少的参数和Flops实现更高的精度。

2、本文方法

2.1、设计整体架构

首先,尽管某些轻量化神经网络使用类似的Basic Block,但它们的整体架构不同,导致了不必要的冗余,这些冗余可以通过统一来整合。

其次,某些轻量化的神经网络包含了不同的Basic Block,但它们仍然表现出不同的整体架构。这导致了BasicBlock之间容量的不公平比较,并掩盖了架构选择和性能改进之间的因果关系。因此,首先打算构建一个整体架构,特别是针对轻量化CNN模型。参考强大的CNN和ViT模型的现代架构,作者提出了LightNet,其架构如图2所示。

「Stem:」是指模型的起始部分。希望在开始时通过多个Conv层来捕捉更多细节,而不是使用具有相对较大Stride的单个Conv层。在Stride为2的第一个3×3规则Conv层之后,作者使用3×3 DW-Conv层来捕获低电平模式,然后使用1×1 PW-Conv和另一个3×3 DW-Conv层进行二次采样。还有一个ShortCut方式,如图2所示。

「Stage:」Stage1-4由几个重复的Basic Block组成,例如IRB。根据1:1:3:1的Stage计算比率,每个Stage中的Block数设置为[3,3,9,3]。遵循金字塔原理并考虑减少参数,每个Stage中的通道维度设置为[32,64,128,256]。

「Subsampling Layers:」在Stage之间添加单独的子采样层。使用2×2 Conv层,具有输入通道维度组和2的Stride,用于将空间分辨率减半。2×2的对流层也使通道尺寸加倍。随后安排一个BN层来稳定训练。

「Head」,在第4 Stage之后,是模型的最后一部分。首先使用1×1 Conv层来进一步交互信息,然后利用全局平均池化来获得特征向量,随后将其输入到最后一个FC分类器中,并获得最终输出。

实验结果表明,在LightNet上简单地实现其他轻量化CNNs的BasicBlock比原始模型具有更好的性能。

2.2、探索 Meta Basic Block

Basic Block是轻量化神经网络的关键组件。如图3所示,不同的Basic Block通常可以抽象为Meta Basic Block(图3a),Meta Basic Block由空间算子和通道算子(即PW-Conv)交替组成。Meta Basic Block的框架为模型提供了基本的表征能力,这意味着将这些空间算子实例化为不可学习的Identity映射仍然可以实现有效的性能,而模型性能的差异本质上来自Meta Basic Block不同的结构实例化,例如,FasterNet Block将第一个空间算子实例化为PConv,并将另外两个空间算子初始化为同一映射,如图3a所示。

通过进行广泛的实验可以观察到第一个和最后一个算子层对模型性能的增强没有好处,而两个通道算子层之间的第二空间算子层是显著的。

因此,作者进一步将Meta Basic Block简化为Meta Light Block(图4a),它由两个PW-Conv层(具有扩展比λ)和介于两者之间的单个空间算子层组成。

2.3、Strengthen the Spatial Operator

尽管Meta Light Block在一定的整体架构下保证了模型的Basic性能,但强大的空间算子可以显著提高模型的表示能力。因此,作者构造了多个通用空间算子分支,以丰富表示空间。假设kernel的位置往往更重要,如果它具有更大的平均kernel大小[8,9,16,18,19]。

作者首先计算并可视化了4个流行的轻量化神经网络的平均kernel-size矩阵,如图5所示。可以观察到,与中心的3×3位置相比,5×5中最外圆的位置的重要性可以忽略不计,因此作者使用了3×3卷积 kernel,其也具有较少的参数和浮点运算。为了补偿减少的特征通道,作者构造了N个(默认情况下N=3)并行的3×3 DW-Conv分支。

此外,图5显示,与这些角位置相比,3×3 kernel的骨架模式中的位置占据了很大的重要性,因此作者额外构建了水平的1×3和垂直的3×1 DW-Conv分支。此外,观察到中心位置总是具有最高的重要性得分(几乎为1),因此作者构造了一个额外的1×1DW-Conv分支来进一步增强中心位置。最后但同样重要的是,由于Meta Block提供了Basic容量,作者还向空间运算符层添加了一个Identity分支。所获得的多分支算子被称为RepSO(重参化空间算子),如左图6所示,所有这7个分支都单独配备了一个BN层,然后逐Meta添加每个分支的归一化输出。

如图6右所示,根据卷积的可加性和同质性以及结构重参化的方法,这7个分支在推理中可以等价地转换为单个3×3 DW-Conv分支。这不会产生额外的推理成本。

2.4、Factorize the Channel Operator

1、Receptive Range

由于1×1 Conv在模型参数和Flops中占很大比例,作者希望使其重量轻。从本质上讲,作者可以改变输入和输出神经元之间的连接,以改变参数的数量。

因此,作者提出了感受范围的概念作为建立这些联系的引导。感受范围的概念是专门针对通道维度引入的,类似于空间维度的感受野。某个输出神经元的感受范围的值是它直接(通过权重)或间接关注的输入神经元的数量。

图7显示了不同1×1 Conv的连接和相应的感受范围。假设C是输入神经Meta 的数量(通道数),正如所观察到的,密集的1×1 Conv的每个输出神经元都可以直接关注所有输入神经元,因此感受范围为C。对于具有组的1×1 Conv组,感受范围为,因此不同组可以建立信息连接,导致表示能力显著降低。

对于窗口大小为的通道1×1Conv,感受范围为,因此每个输出神经元只能关注少量的输入神经元,导致通道信息聚集不足。因此,为了使通道信息充分聚合,从而保证模型表示能力,每个输出神经元都应该具有完整的感受范围,即每个输出神经元应该直接或间接地连接到所有输入神经元。

2、Sparsely Factorized 1×1 Conv

在全局感受范围的指导下,作者试图将稀疏性引入到密集连接的1×1卷积中,以模拟空间卷积。作者提出了稀疏因子分解1×1Conv(简称SF Conv),它被认为是通道稀疏连通性的一个新范式。

如图8所示,SF Conv将一个密集连接的1×1 Conv分解为两个稀疏连接的1×1 Conv,即第一和第二 SF Conv,以保证完整的感受范围。

给定张量的输入特征图,其中,是空间大小,是输入通道数。输出特征图为,其中λλ。对于某些运算,作者只考虑参数的数量,因为参数,其中,是固定的。

对于SF-Conv,作者可以将中每个像素的视为实际的输入特征映射,其空间大小为和通道为1,因此作者可以对其进行标准卷积,这引入了稀疏连接。第1个SF Conv具有通道缩减系数R(超参数,默认情况下R=2)来控制隐藏特征图的神经元数量,从而控制参数。因此在中存在神经元。假设一个空间大小为K×1的卷积核。

考虑单通道的情况,在输入上滑动,Stride为,产生个输出神经元。因此,要生成隐藏神经元,卷积核应具有通道,即,隐藏神经元的特征图为。

为了在获得最大感受范围的同时实现最小连接,Stride S为。此外,为了增强表征能力和增加自由度,作者使 kernel权重在空间维度上不共享,即每组输入神经元由一组单独的权重操作。因此,第1个SF Conv的权重是,并且第1个SF Conv的输出是。因此,第1个SFConv具有参数。

对于第1个SF Conv的每个输出神经元,其感受范围为K,而对于的某个通道中的一组神经元,其总感受范围为C。因此,通过关注的特定通道中的这组神经元,SF Conv的输出神经元可以以最小数量的参数具有完整的感受范围。因此,第2个SFConv以为输入,并对其进行DW-Conv,因此第2个SF-Conv 的权重具有个空间size。

为了获得λ输出通道,应该具有λ的宽度乘数,因此λ具有λ参数。对于中的像素,第2个SF-Conv的输出特征映射为λ。通过在的所有空间位置上操作共享的SF Conv,作者可以获得。

SF Conv的总参数为λ。给定一定的通道缩减率R,为了实现最小的参数,将kernel大小K设置为λ,根据、λ和进行动态调整。SF Conv的参数总数变为λ。对于λ的1×1Conv有λ参数。因此,SF Conv的参数计数仅为PW-Conv参数计数的λ。通过这种方式,SF Conv可以将稀疏性引入通道连接,并保持完整的接收范围(如图7所示),从而减少参数和Flops的数量,同时获得有竞争力的表示能力。

3、RefCO

作者进一步提出RefCO作为重参化的因子化通道算子。RefCO还采用结构重参化方法来补偿减少的参数计数并增强表示。

如图9所示,在训练中,RefCO首先构造了C个K个并行的第1个SF Conv分支并相加输出,然后构造了K个平行的第2个SF Conv支路并相加K个输出特征图以获得最终输出。在推断中,这些并行的第1/2 SF Conv分支可以等效地转换为单个SF Conv分支。

2.5、FalconNet

基于LightNet总体架构、Meta Light Block、RepSO空间算子和RefCO通道算子这4个重要组成部分,作者获得了一个新的轻量化CNN模型FalconNet(轻量化ConvNet的因子分解)。图9展示了具有RepSO和RefCO的Meta Light Block,它被用作FalconNet的BasicBlock。后来的实验结果证实,与现有的轻量化神经网络相比,FalconNet可以用更少的参数和浮点数实现更高的精度。

3、实验

4、参考

[1].FalconNet: Factorization for the Light-weight ConvNets.

相关文章
|
机器学习/深度学习 人工智能 数据可视化
ShuffleNet:极致轻量化卷积神经网络(分组卷积+通道重排)
我们引入了一个高效计算的CNN结构名字叫做shuffleNet,这个结构被设计用来解决部署算力非常有限的移动设备问题,这个新的结构使用了两个新的操作,pointwise group convolution 和 channel shuffle能够在极大减少计算量的同时保持一定的精度。我们在ImageNet classification和MS COCO目标检测数据集上做实验论证了ShuffleNet和其他的结构相比有着很好的性能。比如,相比于mobilenet,shufflenet在ImageNet 分类任务上有着更低的top-1错误率(错误率是7.8%)需要的计算量为40MFLOPs。在一个AR
3437 0
ShuffleNet:极致轻量化卷积神经网络(分组卷积+通道重排)
|
9月前
|
机器学习/深度学习 计算机视觉 网络架构
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
723 63
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
|
机器学习/深度学习 编解码 固态存储
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
1096 0
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
|
机器学习/深度学习 文件存储 算法框架/工具
【YOLOv8改进- Backbone主干】2024最新轻量化网络MobileNetV4替换YoloV8的BackBone
YOLO目标检测专栏聚焦于模型的改进和实战应用,介绍了MobileNetV4,它在移动设备上优化了架构。文章提到了UIB(通用反向瓶颈)模块,结合了多种结构,增强了特征提取;Mobile MQA是专为移动平台设计的注意力层,提升了速度;优化的NAS提升了搜索效率。通过这些创新,MNv4在不同硬件上实现了性能和效率的平衡,且通过蒸馏技术提高了准确性。模型在Pixel 8 EdgeTPU上达到87%的ImageNet-1K准确率,延迟仅为3.8ms。论文、PyTorch和TensorFlow实现代码链接也已提供。
|
机器学习/深度学习 编解码 PyTorch
CVPR 2023 | 主干网络FasterNet 核心解读 代码分析
本文分享来自CVPR 2023的论文,提出了一种快速的主干网络,名为FasterNet。核心算子是PConv,partial convolution,部分卷积,通过减少冗余计算和内存访问来更有效地提取空间特征。
9916 58
|
9月前
|
机器学习/深度学习 编解码 测试技术
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
701 8
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
|
9月前
|
机器学习/深度学习 计算机视觉 网络架构
RT-DETR改进策略【Backbone/主干网络】| CVPR 2024替换骨干网络为 UniRepLKNet,解决大核 ConvNets 难题
RT-DETR改进策略【Backbone/主干网络】| CVPR 2024替换骨干网络为 UniRepLKNet,解决大核 ConvNets 难题
626 12
RT-DETR改进策略【Backbone/主干网络】| CVPR 2024替换骨干网络为 UniRepLKNet,解决大核 ConvNets 难题
|
机器学习/深度学习 编解码 算法
YOLOv5改进 | 主干网络 | 用EfficientNet卷积替换backbone【教程+代码 】
在YOLOv5的GFLOPs计算量中,卷积占了其中大多数的比列,为了减少计算量,研究人员提出了用EfficientNet代替backbone。本文给大家带来的教程是**将原来的主干网络替换为EfficientNet。文章在介绍主要的原理后,将手把手教学如何进行模块的代码添加和修改,并将修改后的完整代码放在文章的最后,方便大家一键运行,小白也可轻松上手实践。以帮助您更好地学习深度学习目标检测YOLO系列的挑战。
|
12月前
|
机器学习/深度学习 编解码 Java
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
《YOLO11目标检测创新改进与实战案例》专栏已更新100+篇文章,涵盖注意力机制、卷积优化、检测头创新、损失与IOU优化、轻量级网络设计等多方面内容。每周更新3-10篇,提供详细代码和实战案例,帮助您掌握最新研究和实用技巧。[专栏链接](https://blog.csdn.net/shangyanaf/category_12810477.html)
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
|
并行计算 数据挖掘 PyTorch
【YOLOv8改进 - 特征融合】DySample :超轻量级且高效的动态上采样器
【YOLOv8改进 - 特征融合】DySample :超轻量级且高效的动态上采样器
【YOLOv8改进 - 特征融合】DySample :超轻量级且高效的动态上采样器