轻量化神经网络卷积设计研究进展
总结与展望
摘要
本文探讨了深度学习中卷积操作的轻量化技术及其在实际应用中的效果。通过对相关文献的梳理与分析,本文总结了当前主流的轻量化模型及其核心思路,并比较了其在参数量、计算量及准确率等方面的表现。
关键词
卷积; 轻量化; 深度学习; 模型压缩; 卷积操作引言
随着深度学习技术的发展,图像分类等任务在各领域得到了广泛应用,然而传统网络架构如Inception、ResNet等在处理大规模图像时面临计算资源不足的问题。为了适应移动式视觉终端的需求,降低模型的计算复杂度成为研究重点。
本研究旨在探讨如何通过优化卷积操作实现模型轻量化,以提高模型运行效率的同时保持较高的准确率。卷积操作与轻量化
2.1 卷积操作的基本原理
卷积是一种线性变换,其核心思想是利用滤波器对输入图像进行局部特征提取。标准卷积通常涉及多个通道间的加法操作(MAC),其计算复杂度较高。
2.2 卷积lightweight技术的主要思路
为了降低计算复杂度,研究人员提出了多种卷积lightweight技术:
基于通道拆分的技术: 通过将输入图像分解为多个通道并分别处理,减少滤波器的数量。
基于空间聚合的技术: 通过池化或扩张操作减少空间分辨率的影响。
基于参数共享的技术: 通过共享权重或使用低秩矩阵近似滤波器来降低参数数量。
硬核替代技术: 使用位运算或其他廉价运算替代传统的乘法运算。典型轻量化模型分析
本文列举了多种代表性的轻量化模型及其核心思路:
模型名称 发布时间 参数量/106 MAC/GB 处理器类型 运行时间(ms/image) 数据集 准确率/% PVANet 2016-09-30 3.28 792 Intel I7-6700k 750.00 VOC2007 83.8/82.5 SqueezeNet 2016-11-04 1.24 0.35 NVIDIA Titan X 15.74 VOC2007 MobileNet V3 2019-05-17 4.91 0.08 NVIDIA TX2 & CPU & ShuffleNet V2 & NVIDIA GTX 108... & & & & ResNeXt & NVIDIA PASCAL & & & & 从表中可以看出,不同模型在参数量、MAC数及准确率上各有优劣。例如,SqueezeNet在VOC数据集上的Top-5
摘要
传统神经网络在硬件资源依赖方面存在显著不足,并且对应用于设备性能要求较高这一点导致其受限于计算资源有限性的问题而无法部署于算力有限的边缘设备和移动终端上从而制约了人工智能技术的发展进程然而科技时代的到来带来了需求驱动型的人工智能技术迫切需要能够在便携式设备上成功实现如计算机视觉等领域的应用为此本研究聚焦于当前流行度较高的轻量化神经网络中的卷积模块设计展开了深入分析比较并对其主要设计理念与优化策略进行了详细阐述首先通过引入轻量化神经网络的概念简要概述了该领域当前的研究现状以及卷积模块面临的技术挑战随后将整个卷积模块的设计划分为三个维度即卷积结构轻量化、卷积模块轻量化以及卷积运算轻量化并对各类轻量化神经网络模型中的卷积设计特点进行了深入比较最终系统总结了不同轻量化方法的核心设计理念与具体实现方式并对未来可能的技术发展方向进行了展望
关键词: 卷积; 轻量化神经网络; 网络模型; 计算机视觉; 深度学习
近年来,轻量化神经网络作为一项关键的技术方向而备受关注,成为机器学习领域的热门研究领域之一
上述模型主要关注提升准确率,并与以往发布的轻量化网络相比,在ImageNet数据集上展现出与 AlexNet相当或更好的性能。值得注意的是,在不采用额外压缩手段的情况下,SqueezeNet仅拥有 AlexNet总参数规模的约 2%.然而,通过集成多种模型压缩方法[ 9, 10, 11, 12 ],SqueezeNet 的参数规模将进一步减少至约为 Alex Net 参数量的 0.2%.
轻量化神经网络模型(LNNM)是基于现有卷积神经网络(CNN)发展做出优化而产生的一种新型架构设计。该技术旨在更有效地推广神经网络到移动设备上,并专为嵌入式视觉终端而设计。与传统模型相比,LNNM的优势在于其简洁的结构、高效的计算流程以及良好的可移植性特征。当前研究已表明,在自然语言处理[_13- 17]、数据挖掘[_18- 19]以及医学图像处理[_20- 22]等关键领域均有实际应用案例,并且在保证模型性能的前提下,最大限度地提升了运算效率。
在轻量化神经网络架构中,普遍采用传统设计的手动卷积核来进行网络搭建。受限于现有架构的设计局限性,在实际应用中可能会存在冗余卷积核数量较多的情况。为了进一步提升网络运行效率,则可考虑对核心组件之一'卷积'模块实施优化策略。具体而言,在这一过程中需要重点考察并改善以下三个关键维度:其一是通过减少单个核的数量、缩小尺寸以及优化计算流程来实现结构轻量化;其二是通过重新定义各层之间的连接关系来实现模块化轻量化;其三是通过创新性地重新定义各层之间的运算关系来实现运算层面的轻量化效果。这些措施涵盖了从结构层面到运算层面的全面优化路径
1****卷积结构轻量化技术
在轻量化神经网络中,卷 convolution模块是不可或缺的关键组成单元,并负责从图像中提取特征信息。优化调整convolution模块以实现lightweight目标,在多数neural network的设计中被选为主导方案。单个convolution结构的lightweight可通过调节使用的filter尺寸、变动filter数量以及综合考虑filter数量与network width等多维度策略来完成。
1.1 调整卷积核大小
网络中感受野(receptive field)大小直接由卷积核尺寸的选择所决定;当卷积核尺寸增大时,感受野随之扩大;其中感受野指的是在卷处理过程中能够接收到的信息量大小,在该范围内所获得的信息越多,则特征提取的效果就越佳;以AlexNet为例,在2012年的ImageNet分类竞赛中取得冠军的成绩证明了该网络架构的优势所在;其中采用11×11大小的卷积核作为关键组件;这一发现引发了当时学术界的广泛关注;随后的研究者们开始深入探讨不同规模卷积核对模型性能的影响
然而,在多个实验样本下进行的大量模型实验证明,在特征提取方面应用较大尺寸卷积核确实具有优势明显的同时也存在潜在问题。较大的卷积核会导致计算复杂度急剧上升,并且会导致模型难以灵活调控网络深度以及整体性能表现会受到严重影响。鉴于此,在当前神经网络构建的过程中,较少直接采用如11×11等较大尺寸的卷积核形式。
在神经网络中,常用的卷积核尺寸包括以下几种:十一乘十一、七乘七、五乘五、三乘三以及一乘一等不同规格。在实际应用中,对卷积核尺寸的优化策略主要包含两种方式:其一是通过小尺寸滤波器替代大尺寸滤波器进行优化;其二是引入特殊的‘单像素滤波器’来微调网络结构。
该思路源自于InceptionV3[23]模型中。基于对不同尺寸卷积核计算量的评估比较后,在InceptionV3的设计架构中,原始5×5大小的卷积层被两个连续的3×3卷积层替代。相较于采用单个5×5大小卷积层时,在参数规模上实现了约27.8%的缩减的同时,其感受野并未发生改变。
如 图 1 所示,在经过一系列卷积处理之后
图1

图1卷积感受野对比
Fig.1 Convolution receptive field comparison
PVANet_24_采用了类似于Inception架构的设计理念,在捕捉图像中的目标方面表现出色,并通过引入跳跃连接机制优化了基础网络的特征提取能力,在GPU上实现了高达21.7帧每秒(FPS)的高性能。PeleeNet_25_采用了创新性的双层密集块设计(基于原始Dense结构进行优化),这一架构灵感来源于Inception多尺度处理的思想。具体而言,在保留5×5卷积优势的同时将其分解为两个3×3卷积模块,并与另一个并行执行的3×3卷积块协同工作(如 图 2 所示)。相比经典的轻量化模型MobileNets_26_, PeleeNet在计算资源消耗上实现了11%以上的缩减,并在分类精度方面提升了0.6%。
图2

图2 PeleeNet中****2-way Dense Layer
Fig.2 2-way Dense Layer in PeleeNet
在八邻域像素范围内,为了实现信息捕捉功能,最小奇数尺寸的3\times 3卷积核是最有效的选择,因此在构建轻量化模型时,通常会选择3\times 3卷积来进行替代表现,以有效降低计算开销。单独使用3\times 3卷积能够提取目标图像中细小尺度的目标特征,而将大尺寸滤波器分解为多个小尺度操作不仅可以保留原有的特征提取能力,还能显著降低计算复杂度。基于此原理,Peleenet采用2-way Dense模块设计,通过并行计算的方式实现了计算开销与性能指标之间的平衡优化——即在保证计算效率的同时提升了分类精度水平。值得注意的是,5\times 5卷积的操作实质上可以通过两次独立的3\times 3卷积实现模拟效果,通过将复杂的乘法运算转化为简单的加法运算来减少计算量,同时维持相同的感受野规模,从而进一步提升运行效率
除了采用3×3大小的常规卷积以减少网络参数外,还可借助1×1尺寸的卷积实现类似效果。由于操作仅涉及单个像素单元,故无需关注邻近像素的影响即可完成特定任务。需要注意的是,这种操作仅能调整特征图的通道数量。具体而言,其增减通道的数量由所使用的1×1卷积层个数决定:例如在示例中所示情况中,图 3,若配置两层这样的卷积层则会使通道数目从原本的三支缩减至两支;而若配置四层该类层则会将通道数目扩展至四支不等的情况。当选择进行降维操作时,特征图的数量减少且参数规模随之缩小,从而达到了轻量化的目的。
图3

图3 1×1卷积的作用
Fig.3 Role of 1×1 convolution
在MobileNets框架中,深度可分离卷积(DSC)是由深度卷积(DW)和逐点卷积(PW)两个部分组成的。其中逐点卷积通过使用1×1尺寸的小核进行操作,在调整深度可分离卷积累算输出的基础上生成新的特征信息。与传统采用标准3×3尺寸二维可分离架构相比,在保持一定精度的前提下实现了计算量较之原有的减少幅度在11.1%至12.5%之间。具体而言,在CornerNet-Lite[27]模型中CornerNet-Squeeze架构参考了MobileNets的设计理念,在原有基础上将普通的标准三维可分离变换替换成采用 MobileNet 机制设计的三维可分离变换,并对部分常规三维变换进行一维化处理,并减少原始三维变换层中的输入通道数量以进一步提升运算效率和推理速度
虽然在设计结构上有所区别,这些缩减方法的本质都是通过减少乘法过程中的操作数来实现的。从数学角度对标准单次乘法进行了分解,并用底层机器更偏好的加法运算取代了部分原本依赖于复杂计算的步骤,从而达到了提升模型运行速度的目的。
1.2 改变卷积核数量
不同于通过小型卷积降低运算量的方式,在改变卷积核数量的选择时,将常规卷积的操作分解为空间维度与通道维度的独立处理,并按步骤执行,从而使得所使用的卷积数量与原始卷积有所变化。常规卷积操作主要涉及空间维度和通道维度的操作,可认为标准卷积操作同时对空间卷积和线性通道进行了处理。众所周知,卷积操作的本质是乘法运算。对于底层设备而言,乘法运算的计算复杂度显著高于加法运算。基于此,为了降低卷积计算量,可以通过两种不同的方法来调整卷积核的数量:一种是将标准卷积的空间结构与通道进行解耦处理,另一种是对乘法运算的空间结构进行因式分解,通过将完整的乘法运算拆分为多个分段式的加法运算来实现目的。两种方法均采用分段式的计算方式来处理复杂的乘法运算过程,因此会导致所使用的卷积核数量较原始情况有所变化,通常会采用更多的小尺寸滤波器进行拆解处理,从而增加所需的滤波器数量并提高网络结构的复杂度
深度可分离卷积作为一种解耦技术,在MobileNets中被提出。该技术将常规三维卷积分解为二维空间的深度卷积操作以及逐点卷积操作,并将三维输入特征转换为独立的二维平面特征图以及通道维度。其中其占总参数量的比例高达74.59%。通过分段计算,该方法显著降低了网络计算复杂度,实现了轻量化设计目的。Xception[28]中的extreme Inception模块效果与深度可分离卷积类似,区别仅在于DW和PW的运行顺序,但模块在整体网络结构中都是相连的整体结构,运行顺序对整体效果的影响并不显著。
该方法通过引入一种新的深度可分离卷积机制,其中包含无约束版本与子空间版本两种类型,其基本架构模仿MobileNet网络中所采用的解耦策略。如 图4 所示,该架构在保持计算效率的同时实现了对模型性能的有效提升,其中通过对比实验结果表明,本方案较同类产品提升了约9.5%的准确率
图4

图4 BSConv-U、BSConv-S及基础卷积
Fig.4 BSConv-U, BSConv-S and basic convolution
蓝图设计提出了一种方法:通过多个线性变换对单一蓝图卷积进行重构成常规卷 convolution的操作模式。这种方案以微小代价减少模型中的常规conv数量的同时实现轻量化效果。其中:
- BSConv-U方案将常规conv分解为一个1\times 1conv与二维通道conv的结合体;
- 这种设计与深度可分离conv相反,在此方案中先在深度方向上加权组合后再执行conv操作;
- 而针对这一特性,在BSConv-S的设计中,我们通过矩阵分解的方法实现了权重矩阵的低秩近似,并在此基础上施加正交约束以减少各参数之间的相互关联性。最终效果表现为将单个1\times 1conv分解为两个独立的一维全局平均池化层。
此外,在这一过程中采用了特殊的降维策略:一方面通过减少特征图的空间维度降低了模型的整体复杂度;另一方面通过并行计算不同尺度的空间滤波器来优化参数利用率以降低总的运算负担。”
图5

图5 Fire模块
Fig.5 Fire module
蓝图卷积的设计基于卷积内核内部的相关性评估。通过定量评估的方法确定了深度维度的相关性更为突出的信息,并据此决定了在解耦后的分段卷积执行顺序。SqueezeNet中的卷积解耦方案汲取了MobileNets中深度可分离卷积以及Inception架构中多尺度设计的核心理念。参考深度可分离卷积的设计思想,在空间维度与通道维度上实现了操作分离,并将其应用于Fire模块的设计过程中——将Fire模块分解为Squeeze层和Expand层两个独立组件。此外,在Expand模块的具体实现上,则参考了Inception架构中使用大小各异的空间滤波器所带来的多尺度特征提取效果,在这一部分引入了模型设计中常用的1×1单通道滤波器以及3×3大尺寸滤波器来进行特征融合工作。
与标准三维卷积的主要区别在于,蓝图卷积分解为通过二维卷 convolution和权重向量的组合来实现一种新型组合结构,该方法采用分阶段计算后再汇总的方式改进了传统乘积运算,最终实现了轻量化目标。SqueezeNet则提出了通过微调超参数来控制每层convolution核的使用情况,并通过大量采用计算效率较低的1×1尺寸kernel来优化资源消耗。经过解耦处理后的网络架构通常较为复杂,在模型深度增加时,这种架构带来的轻量化效果更为显著。
第二种方法是通过卷积因式分解实现的。这一技术将传统的二维对称卷积转换为非对称卷积操作(asymmetric convolution),从数学上讲这是一种近似优化手段。这种策略首次出现在InceptionV3架构中。在该架构中,为了加速处理速度,7×7尺寸的卷积被成功地分解为1×7和7×1连续应用的卷积操作。
SqueezeNext[{27}]基于Fire模块的优化设计,在其核心组件中将经典的 Fire 模块进行了创新性改造。具体而言,在 Fire 模块的基础上将其 ₃×₃ 卷积核进行了重新设计与优化,在此过程中剔除不必要的中间计算环节以提升整体效率的同时实现了低秩滤波器的有效降维操作。经过这一系列技术改进后,SqueezeNext 在 ImageNet 数据集上达到了与 AlexNet 相媲美的分类精度水平,但其模型参数规模却缩减至后者仅约 0.9% 的规模。相比之下,EfficientNet[{28}]则是在 MobileNets 基础上进一步深化了深度分离网络的设计理念,提出了更为高效的基元模块构建方案(如 图 6 所示)。为了有效控制模型复杂度并降低计算开销,EfficientNet 在空间维度上采用了更加紧凑的卷积核设计策略,通过将传统的 ₃×₃ 卷积分解为 ₁×₃ 和 ₃×₁ 的二维卷积组合实现了计算量的有效优化(具体计算公式如下):原始设计中所需的计算量为 ₃ × ³ = 9 ,经过优化后的计算量则降至 (₁ × ³) + (³ × ₁) = 6 。
图6

图6 EffNet基本模块
Fig.6 EffNet basic module
本质上是通过数学方法对运算层级进行优化。虽然分步运算和因式分解会改变卷积核的数量,在数学层面解耦操作则引入了加法运算到原本仅依赖乘法的计算流程中,并降低了计算层级从而减少了整体模型的计算负担;而因式分解这一过程则有效降低了网络参数规模并将其降至较低水平。值得注意的是从计算效率角度来看尽管没有增加新的乘法操作但因式分解并未显著提升网络的整体计算能力。
1.3 改变卷积核数量与网络宽度
在前两节的基础上对网络架构进行优化处理,并重组分解后的卷积结构,在保持轻量化效果的同时一定程度上提升了模型性能。常规操作会导致更多的二维可学习参数矩阵,在空间与通道维度上产生分离作用。虽然分段求和操作能够减少计算量与资源占用水平……
LEDNet[34]提出了一种分割-混洗-非瓶颈模块(split-shuffle-non-bottleneck,SS-nbt)的新架构设计,在该模块中除了传统的并联操作外还增添了通道拆分与混洗过程之间的跳跃连接。如图7(d)所示的结构框图展示了该模块的整体框架。在SS-nbt模块中起始位置通过通道分割操作将输入信号分解为两个低维分支,并采用专用的一维滤波器(如1×3、3×1)对每个分支进行独立的卷积处理以实现轻量化效果。具体而言每个卷积分组仅占用一半的输入通道并且其转换过程采用了第2.1节和2.2节所述的轻量化方法以构建满足需求的功能单元。通过级联的方式可有效维持通道数量不变从而为网络宽度调节提供了可能:即通过合并两个分支的卷积分支输出来实现网络宽度的变化。此外引入跳跃连接后可复用子层参数实现了浅层特征与深层特征之间的信息融合提升整体特征表达能力而其中关键的技术手段之一就是通过通道混洗来促进两个拆分分支间的有效信息传递机制
图7

图7 LEDNet网络的基础单元****SS-nbt
Fig.7 Basic unit of LEDNet network: SS-nbt
采用并行分组机制来减少网络深度的同时,在一定程度上扩展了网络宽度以提高运行效率,并通过引入跳跃连接层来提升模型准确率。
每个SS-nbt模块将合并后的特征通道随机打乱顺序后输入下一个模块中,在一定程度上实现了功能复用的同时扩大了网络容量却不显著增加了计算复杂度。
SS-nbt的设计采用了拆分重组机制受XNOR-Net[35]和InceptionV3启发能够在较大规模密集层间实现高效的表征能力但计算开销较低。
最终在参数规模未达1.0×106的前提下LEDNet实现了令人满意的运行速度达到71 FPS。
在卷积核经过解耦拆分后,在采用直连方式构建线性结构的情况下,则会导致网络深度增加。为此建议引入分支架构以并行实现多组卷积操作,并通过运用轻量化设计对网络宽度维度进行优化调整以降低整体模型深度,并通过多组分支卷积架构实现高效并行运算从而提升模型运行效率最终达到性能优化的目的需要注意的是该架构中分支数量需由人工决定 在实际应用中需根据具体需求以及可用硬件配置来设定具体的参数设置
在现有研究的基础上,在研究轻量化网络的相关工作时发现,在实际应用过程中通常会采用一种折中的策略:即通过数学运算将单一卷积进行拆分,并引入更加便于并行运算的卷积形式以减少整体计算开销。然而这种策略存在明显局限性:即当该种轻量化方法被反复应用时可能导致模型中卷积数量急剧上升进而使卷积层在整个模型中的计算量占比显著提升;这不仅削弱了本该具有的计算量降低优势反而可能削弱这一优势;而且在一定程度上还可能导致模型架构变得更为复杂难以实现预期的效果。具体而言如 表 1 所示主要的一些轻量化卷积结构对比
表1卷积结构轻量化技术对比表
Table 1 Comparison of convolution lightweight technology
| 改进方法 | 具体思路 | 优点 | 缺点 |
|---|---|---|---|
| 调整卷积核大小 | 使用3×3卷积替换更大的卷积尺寸 | 感受野与之前保持一致,但使用了更小的计算操作数,保证了模型计算量的降低 | 3×3卷积频繁使用,计算量降低的优势将不复存在 |
| 使用1×1卷积 | 可手工操控通道数量,控制升维、降维功能 | 需要与其他卷积操作进行联合使用,且注意使用数量 | |
| 改变卷积核数量 | 在空间维度和通道维度上解耦 | 可将三维输入特征拆解为独立的二维平面特征与一维通道特征;分步计算降低了卷积计算量 | 部分二维卷积训练过程容易废掉,结果经过ReLU时更易于出现输出为0的情况 |
| 在空间维度上因式分解 | 数学层面进行计算降级,将 K2的计算转为 2K | 卷积间结构更复杂 | |
| 改变卷积核数量与网络宽度 | 结合上两种改进方法,构建出轻量化卷积后,通过跳跃连接、并联等手段进行网络宽度的扩展 | 使用轻量化的分组卷积,调整各卷积分组间的关系,提升模型运行速度 | 需要控制分组数量,防止分组数量过多增加模型计算量 |
新窗口打开|下载** CSV** 2****卷积模块轻量化技术
卷积层是一个人工设计的应用编程接口(application programming interface, API),可以通过缩写直接调用,在实际应用中通常会集成固定配置的组件集合,并具备良好的可移植性特点。在实际应用过程中,可以根据具体需求对网络架构中的相关组件进行手动优化:通过动态增删特定组件来优化架构;同时能够有效避免功能冗余从而提高资源利用率。而轻量化设计则指的是经过优化后仍保留核心功能但计算复杂度较低的操作序列构成;这种设计方案特别适用于对计算资源有限场景的需求满足:例如,在移动设备环境下通过合理分配算力预算可以获得更好的性能表现。
2.1 残差模块
在数理统计领域,残差主要用来衡量实际观测值与预测值之间的差异。在深度堆叠结构中,输入x经过模型处理后得到特征表示H(x)。相比之下,在堆叠层结构中生成的残差能够更加容易地被模型直接学习。因此,在这种情况下,我们可以将残差定义为其差异的度量。
F(x)=H(x)-x
(1)
基于以下公式可以看出,当残差 F(x)=0时,堆积层仅实现了恒等映射,此时网络性能应保持稳定状态。然而,由于残差并不完全为零,这会导致堆积层在处理输入特征时不断提取并学习出新的特征信息,从而使整个网络的能力得到显著提升。若在最优化过程中,网络的最佳输出结果为输入 x,则在无短路连接的网络架构中,需要将其优化设计简化为 H(x)=x;而对于包含短路连接的残差单元,则需要对其设计进行调整,使得 F(x)=H(x)-x 的优化目标达到零值状态。因此,短路连接的存在能够有效简化卷积模块的优化过程。通过引入残差单元的方式可以更好地维持梯度的空间结构特性,从而有效防止梯度消失问题的发生,最终提升优化算法的整体性能水平. 图 8 展示了初始残差模块的具体结构图
图8

图8初始残差模块
Fig.8 Initial residual module
具体而言, 该瓶颈模块作为一个独特的残差单元, 如图9所示, 同时保留了原有残差结构的基础, 并将其设计为梯度式扩张的形式。通过连续应用两个1×1卷积层, 进一步优化了特征空间的分布。这一设计在保留原有优化基础的同时, 通过巧妙运用1×1卷积技术实现了通道数量的有效调控。
图9

图9残差结构与瓶颈结构
Fig.9 Residual structure and bottleneck structure
SqueezeNext中的基本模块是建立在瓶颈模块之上的调整。如 图 10 所示,在原始瓶颈结构中对三维的 3×3 卷积进行了分解处理,并将其拆分为两个维度较低的卷积(即 3×1 和 1×3)运算之和;随后,在 bottlenecks 的起始阶段又增加了另一组 1×1 卷积层以减少输入通道的数量。
图10

图10 SqueezeNext的基础模块
Fig.10 Basic module of SqueezeNext
在卷积结构中,通过合理配置1 \times 1 convolution的数量能够动态调节各层convolution操作中的channel数量。这种设计确保了3 \times 3 convolution factorization所得的两个连续convolution运算始终保持在low-dimensional channel运算范围内,并有效降低了整体模型的computational complexity。而基础模块的最后一层1 \times 1 convolution则用于将处理后的特征还原为与输入保持一致的空间维度。
ShuffleNet V1[36]的基础模块同样遵循瓶颈结构模式,如 图_11_所示,该模块包含三个进化阶段: (a)、(b)和(c)结构逐步优化与改进。相较于原始瓶颈结构,图(a)采用了更为高效的轻量化设计,具体表现为将常规的3×3标准卷积替换为轻量化的3×3深度可分离卷积,从而显著降低了计算开销。在此基础上,图(b)进一步优化了网络性能,通过引入分组卷积机制将原始的全通道权重压缩至通道分组范围内,同时在首次分组卷积操作后加入了通道混洗层以增强特征表示能力。随后发展出的图(c)则在现有架构上增加了额外组件:在跳跃连接层中引入了平均池化操作以提升特征提取能力,并在最终步骤中采用了Concat操作取代传统的叠加操作(Add)
图11

图11 ShuffleNet单元模块及残差模块
Fig.11 ShuffleNet unit module and residual module
由第1章所述可知,在二维空间中采用3\times 3深度wise卷积可实现对模型参数量的有效优化。然而,在面临通道数量急剧膨胀的情况下单纯依赖多次1\times 1卷积不仅难以显著提升轻量化效果反而可能导致计算开销上升这一现象较为明显。因此如图_ 12 (b)所示通过将一阶卷积模块划分为若干小组并在每个小组内独立执行特征提取运算既能够维持较低计算复杂度又可保证模型性能的稳定性。在此基础上通过引入channel shuffle层不仅能够缓解各小组间信息传递不均的问题还能有效提升特征表达能力进而进一步优化模型性能。此外在经过上述轻量化处理后若仍需保持与原网络输出尺寸一致的空间分辨率则必须在跳跃连接模块中加入3\times 3平均池化组件以消除因跨层跳跃而产生的尺寸失配问题。最后通过采用替代加法器(Concat)而非标准加法器的方式可使两分支输出均实现精确叠加从而避免重复计算中间结果这一操作不仅能够有效降低模型的整体计算开销还能进一步提高网络运行效率
DetNet[37]通过空间瓶颈模块实现了对传统瓶颈结构的优化。具体参考图12所示,在该架构中原始设计采用了传统的瓶颈单元。值得注意的是,在本研究中采用空洞卷积技术取代了传统的三乘三卷积,在网络性能上取得了显著提升效果。对比而言,在跳跃连接部分的关键差异体现在是否存在一次一乘一卷积层这一关键组件上。
图12

图12 DetNet的瓶颈模块及残差模块
Fig.12 DetNet bottleneck module and residual module
空间瓶颈模块引入的dilated convolutions可以在无需增加任何额外参数的情况下显著地提升感受野范围。该技术通过在卷积核中加入填充操作来实现这一效果,在特征图分辨率方面则避免了像降采样操作那样可能导致的信息丢失问题。具体来说,感受野大小可通过调节dilation rate这一超参数来人为控制其扩展程度。在DetNet主干网络的跳跃连接层中,是否采用1×1卷积的操作取决于该模块所处的具体位置,这是因为DetNet主干网络的设计特点决定了这种模块配置能够实现的功能目标——即通过通道加倍来增强模型的表现能力。经过一系列实验验证表明,采用1×1卷积来进行跨通道信息融合能够更加有效地整合信息资源。尽管空间瓶颈模块在优化子网络中体现出的轻量化效果并不显著,但它却能够在一定程度上提高模型的整体定位与分割性能,同时还能有效提取多尺度的空间信息特征。值得注意的是,DetNet相比同等配置下的ResNet-50网络拥有更为精炼的架构设计——仅相差约1.0× 109个可训练参数,但却实现了大约0.8%的性能提升
本研究中,MobileNet V2[39]提出了一种改进型线性瓶颈(linear bottleneck)模块,如 图_13_所示,沿用原有设计中的核心瓶颈结构.该改进型主要针对标准瓶颈中的1×1和3×3卷积层进行优化,采用深度可分离卷积机制中的深度wise(DW)和pointwise(PW)操作替代原生卷积核,从而有效降低了整体计算开销.此外该线性瓶颈模块特别针对前驱网络 MobileNet V1 中PW层所采用的激活函数对低维空间特征产生负面影响这一问题提出了解决方案在PW操作完成之后引入了线性激活函数来替代原生ReLU6激活方式以进一步提升网络性能.
图13

图13 MobileNet V2的Linear Bottleneck模块
Fig.13 Linear Bottleneck module for MobileNet V2
MobileNet V2模块本质上是将瓶颈结构与深度可分离卷积进行了整合。在这一模块架构中,DW单元以及随后附加的一个PW单元共同构成了标准深度可分离卷积配置,其功能等同于传统深度可分离卷积机制。值得注意的是,DW单元之前引入了一个PW单元作为辅助组件这一设计具备升维作用。该辅助PW单元不仅提升了空间特征提取能力的同时也解决了上层通道数量不足导致的空间特征提取受限的问题,DW单元本身由于缺乏通道数动态调节能力而导致的一些局限性也得到了有效规避。经过这样的设计构建而成的一阶线性瓶颈模块不仅保留并优化了瓶颈结构的核心优势特性同时也通过深度可分解机制实现了各类功能组件的有效拆解方案这一架构采用二维轻量化设计策略后显著降低了整体模型计算复杂度
GhostNet[40]模型中基于不同的步长值(stride),将单元瓶颈(ghost bottleneck)功能划分为两类模式,并如 图 14 所示进行展示。当 stride 值为 1 时, ghost bottleneck 模块模仿普通残差网络的架构设计:由两个 Ghost 模块组成,在第一部分起扩展作用以增加通道数量,在第二部分则负责缩减通道数量并将其恢复至与输入相同的规模,并与跳跃连接层相连接。而 stride 值为 2 的 ghost bottleneck 模块则采用了标准瓶颈架构的设计方案:继承了 stride 值为 1 的基本特征,并从 MobileNet V2 中汲取经验,在中间环节引入了一维压缩卷积层以减少计算开销。同时,在设计过程中我们借鉴了 MobileNet V2 的成功经验:除了第二部分不采用 ReLU 激活函数外,在其余各层之后均接续批归一化操作并配合 ReLU 非线性激活函数。
图14

图14 GhostNet的****Ghost Bottleneck
Fig.14 Ghost Bottleneck of GhostNet
在残差模块中,瓶颈结构的应用范围较为广泛,在构建残差网络的过程中,通常会采用更加简洁高效的卷积层来替代传统卷积操作,在优化网络架构的同时显著降低了计算开销。然而,在某种程度上而言,瓶颈结构的设计可能会增加整体网络架构的复杂度,在调整模型架构时可能会带来一定的限制和不便。
2.2 ResNeXt模块
ResNeXt模块本质上采用了分组卷积技术。为了解决实验条件限制带来的挑战问题,AlexNet团队尝试将常规的单通道二维卷积操作拆分为多个较小子块进行计算。这种创新设计形成了当前研究领域中较为基础且重要的分组卷集成功能结构。该结构位于深度可分离残差模块与常规深度可分离结构之间,在不单独赋予每个通道独立的空间过滤器也不使用全局空间滤波器的前提条件下实现了高效的特征提取能力。通过将输入图像的通道数划分为若干个子组并分别处理,在减少参数规模的同时实现了模型的整体轻量化效果。
基于Inception网络构建的ResNeXt[41]模块融合了ResNet的核心特点。相较于人工设计卷积细节的传统Inception模块存在显著差异。每一支分层结构均采用了统一且一致的卷积拓扑架构。分组卷积的设计方案更加契合GPU硬件优化原则,在实际运行效率上优于传统的人工优化细节设计。实验结果表明,在ImageNet数据集上的测试精度方面,ResNeXt模超越了传统ResNet架构,并且其计算复杂度仅为后者的一半。
ShuffleNet V2[42]架构基于ShuffleNet V1构建而成,在其基础模块上增加了通道分割组件替代常规深度可分离卷积。该设计通过单通道卷积完成类似的效果。基础模块根据stride的不同分为两种实现方案(如图_15_所示)。图(a)所示的模块将输入通道均分成两部分:一部分通过恒等映射复用特征信号与另一部分进行分组处理后形成瓶颈结构;而图(b)所示的设计则采用相同的基本思路但对输入通道进行了重新划分:一部分采用了瓶颈结构处理信号并另一部分应用深度可分离卷积策略。值得注意的是,在stride=2的情况下图(b)去除了图(a)中的通道分割组件从而实现了输出信道数量翻倍的效果。与前一版本相比ShuffleNet V2计算速度达到2.3 GFLOPS表现显著优于其上一代模型同时在FLOPS减少40%的同时展现出超越ResNet-50的效果。
图15

图15 ShuffleNet V2模块
Fig.15 ShuffleNet V2 module
在 ghost 网络架构中引入了 ghost 模块,在卷积操作后对结果进行精细划分以去除冗余特征。具体而言,在完成一次常规卷积运算后会得到两个子结果:一部分保持原始卷积提取到的关键信息不变;另一部分则经过优化输出后的特征中去去除彼此相似的冗余特征图。随后通过将简单变换应用于原始结果并结合未改变的信息进行拼接组合而形成 ghost 模块结构。在训练好的网络模型中识别出大量冗余信息中的相似性较高的特征图并将其视为 ghost 特征单元。通过对提取出的 ghost 特征图施以简单变换即可将其替换部分用于生成原始卷积特征,并有效减少计算开销的同时也能维持模型的整体识别性能水平。该方法使得 ghost 模块能够在不显著降低识别精度的前提下显著降低计算复杂度,在运行时间上可实现一半左右于传统 residual 网络的同时保持与其实现相同级别的目标识别能力
ResNeXt模块中的分组卷积思想实际上是调整参与卷积操作的通道数量。通过将卷积所需的通道数目划分为若干部分,并同时并行处理这些部分,从而显著提升了模型运算速度。在计算参数数量时,这种通道数分组的方法也显著降低了卷积运算所需的计算量。理论上来说,分组越多则模型运行速度越快;但实际应用中受到当前硬件资源配置和网络结构设计的影响。需要注意的是,在过分增加分组数量时可能会对模型的整体宽度产生不利影响。
2.3 SE模块
SENet[43]所提出的SE(squeeze-excitation)模块由squeeze和excitation两个核心功能构成。相较于基于通道分组的设计目标是为了实现降低计算复杂度的目的,SE模块采用了一种更为自主的学习机制,旨在通过模型自身理解不同通道间的依赖关系,揭示特征间的相互作用机制,并通过全局信息整合来对各通道进行重要性排序,从而突出关键特征信息并抑制干扰特征信号的影响。为了使卷积运算中的空间依赖性和通道依赖性得以分离处理,提高特征感知的精确度,SE模块在squeeze阶段采用了1×1的全局平均池化操作,实现了三维特征向一维压缩的目标,使得压缩后的一维特征能够完整地反映原始区域的信息范围,从而有效避免了浅层网络因小感受野限制而无法捕捉长距离上下文关联的问题出现。在excitation阶段则通过全连接层和ReLU激活函数构建瓶颈结构,结合sigmoid门控机制对各通道的重要性和响应特性进行动态调节控制。具体而言,该模块首先通过对各通道重要性的预测评估来确定其权重值大小差异后再针对性地施加激励作用于对应位置的特征图上实现各通道根据自身重要程度获得差异化的响应效果
SE模块具备高效的跨平台兼容性,在保证微小的计算开销的前提下显著提升了深层架构的表现能力。基于ILSVRC 2017年的评估结果表明,在采用SENet作为主干网络的情况下实现了突破性的分类性能优越性。MobileNet V3[44]的设计方案采用了在DW卷积之后的位置引入SE模块的方式以规避时间损耗问题,并通过这一改进实现了与原模型相当的精度水平(AP),并且计算复杂度仅增加了0.07%。GCNet[45]则提出了一种创新的设计思路,在SE模块中squeeze操作中的全局平均池化层被替换了其中一种非局部(non-local)[46]模块以实现模型更加轻量化的同时能够有效建模全局上下文信息。从目标检测任务的角度来看,在保证与原模型相当精度水平(AP)的基础上实现了FLOPs仅增加0.07%的良好性能表现
根据前文所述,在squeeze模块中采用1×1卷积实现特征维度压缩,在excitation层构建了瓶颈结构以降低整体计算复杂度。然而,在通道数量有限的情况下使用该模块可能导致性能下降。为了优化通道分配策略,在SE模块中可依据上下文信息动态调整通道数量与权重分布参数。相比之下,non-local模块通过聚合其他位置的信息增强了目标位置特征的表现力,并且其全局上下文信息在不同位置时具有高度一致性这一特点使其成为解决SE模块局限的有效手段。值得注意的是,在实际应用中建议将非局部块与SE模块结合使用以发挥协同效应
2.4 注意力机制模块
注意力机制模块CBAM(convolutional block attention module)[47, 48]是一种轻量级通用组件,在通道维度与空间维度分别实现特征聚焦,并对这两个独立维度进行融合整合。具体而言,在通道维度上实现了通道注意力机制(channel attention mechanism, CAM),而在空间维度上实现了空间注意力机制(spatial attention mechanism, SAM)。这两种关注方式相互补充并结合使用。
CAM是对SE模块结构的一种优化,在基于SE模块的基础上 CAM 通过增加一个全局最大池化操作来进一步增强其表征能力 CAM 将空间维度上的特征图压缩为一维矢量 并通过全球平均池化和全局最大池化对空间映射后的特征信息进行聚合 这种双重池化的结构设计能够有效提取更为丰富的高层次特征信息 SAM 则是通过对 CAM 处理后的结果沿通道方向进行 Concat 操作 并经过卷积层实现单通道降维这一过程 SAM 在本质上与 CAM 具有相似性 两者均采用了双重池化的架构设计 CBAM 则是在 SE 模块的基础上引入了额外的设计机制 主要依赖于 SAM 对通道维度的调节以实现对复杂特征图的有效建模 这种基于通道调节的设计策略使得 CBAM 在保持高效计算的同时具备更强的表征能力
ThunderNet[49]采用了轻量化主干网络并结合低分辨率输入图像,在一定程度上限制了模型在特征提取方面的潜力,导致难以有效提取特征分布信息。为此,针对主干网络过浅及特征图尺寸不足导致性能下降的问题,ThunderNet对区域生成网络(RPN)及R-CNN[50]子网进行了优化整合,并构建了上下文增强模块(CEM)以及空间注意力模块(SAM)。其中,CEM模块借鉴了FPN的多尺度表征策略,在仅作用于骨干网络后三层输出结果的基础上实现了类似功能的同时,在计算效率上更为精简。此外,SAM模块通过RPN各区域得分对CEM输出的空间特征进行加权融合,在不显著增加计算开销的前提下,实现了对背景区域特征的有效抑制。与单独运行CEM相比,引入SAM后整体计算开销增加了约5%左右。经过上述改进,CEM与SAM协同工作可使模型整体识别精度提升约1.7%
坐标注意力(coordinate attention, CA)[51]模块通过二维全局池化操作输出一个 CAM(通道 attention 映射),经由两个一维全局池化分别在垂直和水平方向上对 CAM 进行特征编码。最终获得两个带有特定方向信息的注意力图。这两个注意力图分别包含了输入特征图在各自方向上的长距离依赖关系,并且能够反映输入特征图的位置信息。CA 模块所得出的注意力图对于特征图的方向性和位置性具有高度敏感性,在提高模型定位精度的同时也增强了待定区域划分的能力,并且该模块具备良好的可移植性,在迁移过程中显著地减少了计算开销
注意力机制模块是一种简单而高效的组件,实现了与基础卷积层在同一网络深度内完成端到端学习的能力。该模块在两个独立维度上独立完成注意力图的推断过程,并在基于特征图的空间维度上进行自适应优化处理。在注意力机制的推理过程中,采用轻量化的1×1卷积操作以捕获关键信息,同时将被传统卷积层忽略的位置特征通过通道维度加以标记,并通过空间维度上的方向性增强模型的空间定位能力。作为常规结构的一部分,该模块通常位于常规卷积层之后,通过无额外计算开销的方式与其无缝集成,从而具备良好的移植性特点。然而,由于其内部采用了全连接结构(C)和深度聚合机制(D),建议避免将其过多地嵌入通道数较多的深层网络中使用
综上所述,在减少计算开销的同时尽力维持模型性能的前提下,卷积模块的轻量化设计需综合考虑功能实现与效率优化之间的平衡关系。然而,为了满足特定应用场景的需求,有时会牺牲部分计算效率以换取性能提升效果,这种权衡关系可能会导致不同功能性组件间的协同设计问题,从而影响整体效能的最大化发挥。因此,功能性轻量化组件确实能在提升性能和压缩资源消耗方面展现出一定的价值,但在实际应用中仍需根据具体需求在各组件间权衡取舍。具体实现时需根据实际需求在各模块间权衡取舍,主要相关的轻量化技术对比可参考 表 2 的详细说明
表2模块轻量化技术对比
Table 2 Comparison of lightweight technology of modules
| 模块轻量化 | 具体思路 | 优点 | 缺点 |
|---|---|---|---|
| 残差模块 | 跳跃连接和沙漏状瓶颈结构 | 优化的卷积结构,可与轻量化的卷积替换,对结构进行修改,不会引入额外参数 | 会产生大量的1×1或3×3卷积 |
| ResNeXt模块 | 分组卷积 | 分组卷积对通道数分割后,缩减了模型深度,分组并行执行还可提升模型性能 | 分组个数依赖于硬件资源和网络结构设计 |
| SE模块 | 模块中几乎均使用1×1卷积,通过改变通道数,进行识别校准 | 1×1卷积不占用大量计算资源,识别校准后,模型性能均会提升 | Squeeze部分获得的上下文信息无法有效利用 |
| 注意力模块 | CBAM由CAM和SAM两部分组成 | SE模块在通道维度上的进阶版,且对通道维度的结果在空间维度上进行了调整 | 在网络通道数较高时,CAM中的FC层会导致较为严重的耗时量 |
新窗口打开|下载** CSV** 3****卷积运算轻量化技术
近年来硬件设备的发展带来了卷积运算的新思路。然而,乘法运算的卷积操作显著消耗计算资源,尽管模型能够正常运行,但由于乘法类运算参数过多,导致其可移植性受限。因此,替代表述是一种有效途径来应对高计算量与功耗预算的挑战。
DeepShift[52]网络采用了基于二进制基础并结合2的幂次方的操作模式来替代传统前向传播中的浮点数相乘计算过程,在深度学习模型推理效率方面取得了显著提升效果。这种基于二进制的操作相当于对输入数字进行二进制分解与相应指数幂次方相乘的过程,并且由于指数幂次方结果始终为正数的特点,在深度学习模型设计中能够有效替代常规卷积层中的绝对值相乘运算。从滤波器设计的角度来看,在神经网络中正权值滤波器能够增强边缘检测能力的同时负权值滤波器也能够辅助提升边缘检测性能水平因此DeepShift网络引入了逻辑非操作以确保其训练过程中能够处理负权值相乘问题。从硬件实现的角度而言这些二进制基底操作在硬件架构设计上相较于传统的加法操作具有更高的执行效率因此通过采用这些二进制基底操作能够在不牺牲精度的情况下显著提升模型运行速度相较于现有的Binarized Neural Networks(BNN)[ 53 54 55 56]仅能在小规模数据集上获得加速效果的方法 DeepShift网络则能够在大规模图像数据集如ImageNet上实现高效的深度学习应用并且依然能够保持90%以上的分类精度水平
在常规卷积轻量化研究中,尽管探索了多种替代卷积乘法的方法,但硬件资源优化方面仍存在明显不足,鲜有研究能够从底层算法层面全面实现有效加速。这种创新性的想法虽然值得提倡,但却显得过于激进。DeepShift算法在训练方式上与传统方法无异,但在参数更新和梯度计算过程中必须严格遵循特定公式进行调整。该方法通过二进制移位运算实现了高效加速,然而当移位指数小于1时,数值分布较为密集;而当指数大于1时,则逐渐变得稀疏。这种数值分布差异可能随着指数取值范围的变化对整体算法精度造成显著影响
当前阶段,卷积运算的替代方案高度依赖底层硬件架构的设计。而在二进制计算过程中,幂次运算在替代表现中不可避免地引入计算方面的误差。这种局限性最终限制了模型在实际应用环境中的适用性。然而,这一新型的替代卷积思路仍可被视为未来研究的重要方向。
4****总结与展望
使用低计算复杂度的操作取代原有乘法运算已成为实现卷积轻量化的主要策略,在完成所有廉价操作的替换后,通过深入分析各类型卷积之间的相互作用并结合优化算法对功能性卷积进行系统性调整,从而构建出性能与资源消耗均较为理想的轻量化功能性卷积结构。
本文系统性地对近五年轻量化模型进行了分类研究。所涉及的模型类型多样,具体包括目标检测(涉及[57]至[61])以及目标识别(涵盖[62]至[63])、语义分割(涵盖[64]至[65])和图像分类(涵盖[66]至[67])等多个细分领域,这些技术均满足实际视觉应用的需求。值得注意的是,卷积模块轻量化的主流方法包括:
(1)优化单一卷积。传统单个卷积核的计算复杂度高达O(W^2),这使得在移动设备等算力受限场景中难以实现高效的模型推理。基于多领域研究视角,在现有算法框架下对常规卷积完整的单次乘法运算模块进行分解,并以更低层次的加法操作替代其中一部分乘法操作,在保证模型性能的同时实现了模型参数量与计算复杂度双双降低的目标
(2)优化卷积间结构。其中的'卷积间结构'特指轻量化卷conv模块的设计过程。该过程主要包括两种主要方法:一种是根据应用需求对现有轻量化conv模块进行调整;另一种则先设计出满足要求的传统型conv模块架构,在此基础上通过引入单唯conv计算获得的轻量级版本替代传统型conv中的相应组件,并结合现有light conv功能或采用激活函数等手段优化各light conv单元间的连接关系,最终实现整体上的light conv功能配置效果。
(3)优化网络架构中的卷积计算。基于提升硬件处理效率的需求,在网络架构中采用底层计算替代原有的乘法累加操作。通过整合多种基础计算单元完成高效的点乘和加法操作,最终实现网络模型的轻量化部署。
卷积是深度学习体系中不可或缺的核心组件,在这一背景下进行轻量化设计能够显著提升网络性能。具体而言,在减少不必要的重复运算的前提下,并非完全牺牲计算能力与参数规模之间的关系——在同一识别精度水平下,在参数数量和运算规模方面均有较明显的缩减比例——从而显著提升了设备上的适用性。从表中的数据可以看出,在采用了轻量化设计的模块后,在保证基础性能表现的前提下——准确率均得到了一定程度的提升——同时也实现了对资源消耗的关键优化与控制。
表3模型轻量化效果对比
Table 3 Comparison of model lightweight effects
| 模型 | 发布时间 | 参数量**/106** | MAC/GB | 处理器 | 运行时间 | 数据集 | 精确度**/%** | 输入尺寸**/**像素 |
|---|
| PVANet | 2016-09-30 | 3.28 | 7.92 | 单核CPU:Intel I7-6700k | 750.00 ms/image
(1.31 FPS) | VOC2007
VOC2012 | mAP:83.8
mAP:82.5 | 1 065×640 |
| 单核GPU:NVIDIA Titan X | 46.00 ms/image
(21.73 FPS) |
| SqueezeNet | 2016-11-04 | 1.24 | 0.35 | 单核GPU:
NVIDIA Titan X | 15.74 ms/image | ImageNet | Top-1:57.5
Top-5:80.3 | 227×227 |
| Xception | 2017-04-04 | 22.85 | 8.42 | 单核GPU:
NVIDIA GTX 1070 | 112.00 ms/image | ImageNet | Top-1:78.8
Top-5:94.3 | 299×299 |
| MobileNet | 2017-04-17 | 4.24 | 0.57 | 四核CPU:
Xeon E3-1231 v3 | 503.00 ms/image | ImageNet | Top-1:70.6
Top-5:91.7 | 224×224 |
| 四核GPU:
NVIDIA TX2 | 136.00 FPS |
| ShuffleNet | 2017-12-07 | 2.40 | 0.14 | 单核GPU:
NVIDIA TX2 | 164.18 FPS | ImageNet | Top-1:68.0
Top-5:86.4 | 512×512 |
| PeleeNet | 2018-04-18 | 2.80 | 0.51 | 单核GPU:
NVIDIA TX2 | 239.58 FPS | ImageNet | Top-1:72.6
Top-5:86.4 | 304×304 |
| DetNet | 2018-04-19 | 25.43 | 0.54 | 八核GPU:
NVIDIA Titan XP | 18.54 ms/image | ImageNet | Top-1:76.2
Top-5:89.3 | 1 333×800 |
| EffNet | 2018-06-05 | 4.91 | 0.08 | 单核GPU:
NVIDIA TX2 | 151.43 FPS | CIFAR-10 | Top-1:80.2 | 224×224 |
| ShuffleNet V2 | 2018-07-30 | 2.32 | 0.15 | 单核GPU:
NVIDIA GTX 1080 Ti | 24.53 ms/image | ImageNet | Top-1:69.4
Top-5:88.4 | 224×224 |
| SqueezeNext | 2018-08-27 | 0.72 | 0.28 | 单核GPU:
NVIDIA Titan X | 15.69 ms/image | ImageNet | Top-1:57.2
Top-5:80.2 | 227×227 |
| MobileNet V2 | 2019-03-21 | 3.47 | 0.30 | 单核GPU:
NVIDIA TX2 | 123.00 FPS | ImageNet | Top-1:72.0 | 224×224 |
| DFANet | 2019-04-03 | 7.69 | 3.37 | 单核GPU:
NVIDIA Titan X | 10.25 ms/image | CityScapes | class mIoU:71.3 | 1 024×1 024 |
| GCNet | 2019-04-25 | 28.08 | 3.86 | 单核CPU:
Intel Xeon 4114 | 543.00 ms/image | COCO | mAP:60.8 | 255×255 |
| CornerNet-Lite | 2019-04-18 | 171.63 | 11.37 | 四核GPU:
NVIDIA GTX 1080 Ti | 114.73 ms/image | COCO | mAP:63.0 | 255×255 |
| MobileNet V3 | 2019-05-06 | 5.37 | 0.22 | 单核CPU
单核GPU | 134.55 ms/image
15.44 ms/image | ImageNet | Top-1:75.2 | 224×224 |
| LEDNet | 2019-05-13 | 0.94 | 0.35 | 单核GPU:
GeForce 1080Ti | 14.00 ms/image
(71.00 FPS) | CityScapes | class mIoU:70.6
category mIoU:87.1 | 1 024×512 |
| SENet | 2019-05-16 | 28.14 | 20.67 | 八核GPU:
NVIDIA Titan X | 167.31 ms/image | ImageNet | Top-1:81.3
Top-5:95.5 | 224×224 |
| DeepShift | 2019-06-06 | — | — | 单核CPU:
Intel I7-8086k | 750.00 ms/image | ImageNet | Top-1:70.9
Top-5:90.1 | 224×224 |
| ThunderNet | 2019-07-26 | 2.08 | 0.46 | 四核CPU:
Xeon E5-2682v4 | 47.30 FPS | COCO | mAP:75.1 | 320×320 |
| 四核GPU:NVIDIA GeForce 1080Ti | 267.00 FPS |
|---|
以下是对原文档的改写
新窗口打开|下载** CSV**
但现有的轻量化网络模型在执行卷积轻量化时仍显稚嫩,主要通过将廉价的操作替代传统的卷积计算来实现。从提升硬件运行速度的角度出发,或许可以通过深入研究底层计算机制来构建一种新型的基础层运算法则。
本文旨在为读者提供关于卷积轻量化方法的知识,并以优化卷积结构设计方案为目标。同时能够根据实际需求设计和组合高效轻量化模型。
