开放科学(资源服务)标志码(OSID):
自深度学习[1]的概念被提出以来,图像分类领域迎来了重要的发展时期。深度学习方法有很多,包括自动编码器[2]、置信网络[3]、卷积神经网络[4],其中卷积神经网络在目前深度学习算法中占有重要地位。为了提高识别准确率,通常会使神经网络的结构更复杂、层数更深,如文献[5]提出的ALexNet模型,含有61M的参数量;文献[6]提出的ResNet50模型,参数量达到了25M。但在现实生活中计算资源往往有限,载体趋向小型化、可移动,因此文献[7]提出的计算速度更快且保有相当准确率的神经网络更具实用性。
轻量化神经网络越来越为人们所重视,常见的做法是提出新的网络结构或者压缩现有的网络。Google提出面向嵌入式设备的小型轻量化网络MobileNets系列,其中MobileNetV1[8]用深度可分离卷积替代了传统卷积,令每一个通道都包含了全部信息,达到模型压缩的目的。MobileNetV2[9]引入倒残差和线性瓶颈结构,进一步优化了网络;MobileNet V3[10]先利用文献[11]中的Mnasnet进行粗略的搜索,再利用感知算法NetAdapt[12]进行搜索微调,在减少模型延时的同时保持了原有的精度水平。同样,文献[13]提出利用深度可分离卷积替换InceptionV3[14]的卷积操作,将通道相关性和空间相关性分开进行了处理,得到Xception模型。此外,旷视科技提出可用于移动设备的ShuffleNet系列,其中ShuffleNetV1[15]引入了逐点群卷积和通道混洗,大幅减少了1×1卷积操作的数量。文献[16]对现有网络进行了对比实验,得出4条准则,进而改进得到ShuffleNetV2,该模型给算力有限的嵌入场景提供了一个高效的架构。
参数压缩的途径有模型蒸馏、低秩分解、网络剪裁、量化等。其中,模型蒸馏即知识蒸馏,将教师网络的经验迁移学习到学生网络中。TIAN等[17]指出基础的知识蒸馏只适用于输出为类别的情况,并不适合跨模态蒸馏。网络裁剪的基本做法是剪除模型中不重要的部分,同时弱化对模型精度的损失,例如文献[18]提出一种利用偏置参数进行网络裁剪的方法,文献[19]提出一种基于灰色关联算法的剪枝方法。
移动式平台在生活中大量存在,但这些平台的存储能力有限,这就要求设计者在保持准确度的前提下,尽量降低网络模型的计算量。目前提出的网络在目标分类上也取得了较好的成果,但网络参数量和复杂度依然较高。
本文提出一种轻量化的卷积神经网络ConcatNet,通过采用特征拼接的方式,将深度可分离卷积、通道注意力和通道混洗有机地结合在一起,在保持一定准确率的同时,大幅降低参数量和计算复杂度。
1 相关工作 1.1 深度可分离卷积与传统卷积相比,深度可分离卷积将通道域和空间域分开处理,可以在牺牲少量精确度的前提下,大幅降低模型所需的计算量和参数量,加快模型的处理速度。深度可分离卷积包括深度卷积Depthwise和逐点卷积2个结构,如图 1所示。
![]() |
Download:
|
图 1 深度可分离卷积结构 Fig. 1 Structure of depthwise separable convolution |
在二维平面进行深度卷积操作,将单个卷积核应用到每个通道上,样本输入大小设为
相对应的计算量为:
$ 3\times 3\times H\times W\times K+H\times N\times W\times K $ | (1) |
标准卷积对应的计算量为:
$ 3\times 3\times H\times N\times W\times K $ | (2) |
将深度可分离卷积和普通卷积的计算量相比,得到比值如下:
$ \frac{3\times 3\times H\times W\times K+H\times N\times W\times K}{3\times 3\times H\times N\times W\times K}=\frac{1}{N}+\frac{1}{{3}^{2}} $ | (3) |
由上述公式可知,当卷积核大小为3×3时,深度可分离卷积可以将参数量减少到普通卷积的1/9左右,极大地增加了网络的运算速度,因此本文在构建模型时均采用深度可分离卷积。
1.2 通道混洗通道混洗由ZHANG等[15]提出,用于解决不同组之间信息不流通的问题。本文从特征图入手,将来自不同支路的特征图用concat函数组合在一起,但拼接得到的特征只能在通道进行相加,信息流通不畅。虽然可以采用1×1卷积混合通道间信息,但是会带来参数量大幅增加的问题。然而,通道混洗可以在不增加计算量和参数量的前提下,完成通道间的信息混合,增强分类效果,示意图如图 2所示。图 2(a)是分组卷积后没有经过通道混洗的情况,各通道信息之间没有信息交换,因此无法保证最终分类的效果。图 2(b)是在分组卷积之后加入了通道混洗,将分组后特征图均匀打乱并重新排列。本文利用通道混洗操作整合了支路信息,提升了模型运算的效率。
![]() |
Download:
|
图 2 通道混洗示意图 Fig. 2 Schematic diagram of channel shuffle |
在计算机视觉领域,添加注意力机制已经成为提高模型性能的常用手段,文献[20]总结了注意力机制在自然语言处理、图像识别、语音识别等领域的应用现状。软性注意力是神经网络中的常用方式,主要分为通道注意力和空间注意力2种,可以根据特征的重要程度生成对应的权重,从而合理分配算力。文献[21]提出挤压和激励网络,将ImageNet数据集的Top-5 error降到了2.251%,主要贡献是提出了通道注意力的一种实现方式,先利用全局平均池化将特征图压缩成一个实数,然后将这个实数输入到由2个全连接层组成的小网络里,输出值是每个特征图对应的权重,最后将这个权重和原特征值相乘,从而让通道权重分配更加准确。
但仅采用全局平均池化获取特征图的信息并不够准确,因为一旦遇到正负激活值相抵的情况,特征图就会变模糊,进而造成信息丢失。为降低信息的损失,本文同时采用全局平均池化和全局随机池化提取中间特征图的信息,其中全局平均池化可以较好地保留背景信息,而全局随机池化按概率值选取特征,具有较强的泛化性,两者相结合可以减少信息的丢失。本文首先由2种池化操作将输入特征图
$ \begin{array}{l}M\left(F\right)=\sigma \left({C}_{K}\left(\frac{\mathrm{A}\mathrm{v}\mathrm{g}\mathrm{P}\mathrm{o}\mathrm{o}\mathrm{l}\left(F\right)+\mathrm{S}\mathrm{t}\mathrm{o}\mathrm{P}\mathrm{o}\mathrm{o}\mathrm{l}\left(F\right)}{2}\right)\right)=\\ \;\;\;\;\;\; \sigma \left({C}_{K}\right(F\left)\right)\end{array} $ | (4) |
其中:
要想完成卷积神经网络的轻量化,就要用较简单的方式实现网络效率的最大化。本文提出的ConcatNet主要采用特征拼接的方式实现,ConcatNet的具体结构如图 3所示,其中a、b、c分别1为3个支路的权值系数。
![]() |
Download:
|
图 3 ConcatNet结构 Fig. 3 Structure of ConcatNet |
相比于灰度图,彩色图像的颜色分布较复杂,传递的信息更丰富,含有的数据量更大,但处理的时间和难度也随之增大。而灰度图数据量小,便于处理,虽然缺失了一定的颜色等级,但从其亮度等级上看,与彩色图一致,两者各有利弊。为丰富特征输入的维度,本文将输入图像分为两路:1支路转换为灰度图输入,3支路直接输入,维持其彩色图特征,两路分开并行处理,经过一个卷积层后,将输出特征图拼接起来,构成2支路,特征拼接利用concat函数完成,但concat函数只能完成通道数的叠加,并不能完成2个支路信息的整合,因此采用通道混洗处理拼接之后的特征图。
图 3中1、2、3支路用于特征提取的卷积层均由4个3×3卷积层构成,不同的是卷积核个数,这里卷积层的数量由实验得出,具体见下文。1支路卷积核的个数分别是32、32、64和128,2支路卷积核的个数分别是96、192、384和384,3支路卷积核的个数分别是64、64、128和256,在支路前3个卷积层后添加一个最大池化用于去除冗余信息,在第4个卷积层后添加一个全局平均池化用来代替全连接层,将特征图降成一维。为降低网络的参数量,完成网络的轻量化,本文采用深度可分离卷积。
为增强支路的特征提取能力,将有限的算力用在重要的特征上,考虑到卷积操作本身包含了空间注意力,拟在每条支路上加入2个改进后的通道注意力模块,抑制通道域的无用信息,通过实验得出每条支路均加入2个通道注意力模块效果最好。具体实验如下:首先,把3条支路的输出值用concat函数拼接起来并组合特征,将3路通道进行叠加,加入通道注意力模块,在将拼接特征输入之前进行筛选,将有用支路的特征放大;之后,利用通道混洗加强通道间的信息流动;最后,采用1×1卷积层代替全连接层进行分类,以避免破坏图像的空间结构,而且输入图像的尺寸不会受到限制,至此模型构建完毕。
3 实验与结果分析 3.1 数据集本文首先在文献[23]总结公布的CIFAR-10、CIFAR-100这2个数据集上初步评测模型的效果,这2个数据集在图像分类领域中比较常用,而且两者较适用于训练轻量化神经网络,CIFAR-10和CIFAR-100数据集均含有60 000张32×32像素的图片,其中50 000张用于训练,10 000张用于测试,不同的是前者有10个类别,而后者为100个类别。因此CIFAR-100数据集用于训练的图像就少于CIFAR-10数据集,准确率也较低。之后,在大型的彩色光学数据集ImageNet上测试模型效果,ImageNet数据集共128张,分为1 000个类别,现已成为图像领域的标准数据集。
3.2 训练细节将图像随机进行左右旋转以增加样本数量,为便于处理,将图像进行归一化。硬件:显卡为RTX2060,4 GB独显,CPU为i7-10750H,运行内存为16 GB。软件采用GPU版本的tensorflow 1.14.0框架,python 3.1。采用步数作为迭代指标,而不用epoch,总步数设置为30 000,每一步训练的批量大小设置为64。初始学习率设为0.003,每过10 000步,学习率降为上一次学习率的0.3倍,采用随机梯度下降法,动量设置为0.9。为全面衡量算法性能的好坏,本文对算法模型的准确度、参数量、计算复杂度等参数进行分析。
3.3 支路卷积层对算法效果的影响模型主要依靠支路的卷积层提取图像特征,除了卷积核的数量,3条支路的卷积设置也相同。本实验在不插入通道模块的前提下完成,且支路末端的乘法器权值均设为1,依次将卷积块的数量设置为3、4、5,选用的数据集为CIFAR-10,实验结果如表 1所示。
![]() |
下载CSV 表 1 支路卷积层的数量对比 Table 1 Comparison of the number of branch convolution layers |
由表 1可知,算法参数量和计算复杂度均随着卷积层的增加而增加,Top-1和Top-5精度大体也遵循此趋势,当卷积层数分别为4、5时,两者精度相当,几乎没有提升,但参数量却增加了70%,计算复杂度增加了1.85×106,因此,本文选择在支路上设置4个卷积层。
3.4 通道模块对算法效果的影响要想在完成网络轻量化的同时保持精确度,通道注意力就显得尤为重要,其插入位置和插入的数量均需经过实验验证。本文在支路上设置2个通道注意力模块,每条支路的卷积块数量定为4,支路末端权重均设为1,现在需要对放置通道模块的支路进行仿真对比,结果如表 2所示。
![]() |
下载CSV 表 2 通道注意力模块实验 Table 2 Channel attention module experiment |
由表 2可知,由于插入的通道模块只有一维卷积操作,因此无论在几个支路加入通道模块,参数量都几乎不会增加,但模型的复杂度会随着插入模块数量的增加而增加。当3个支路均插入通道模块时,复杂度也只有3.41×106,不算高,但模型的准确率却达到实验最高值,所以本文选择在每条支路上均插入通道注意力模块。
3.5 迭代步数本文用步数代替迭代周期,所以选择一个合适的步数尤为重要。本文先后将步数设置为20 000、25 000、30 000、35 000、40 000,把CIFAR-10数据集Top-1精度作为指标,实验结果如表 3所示。
![]() |
下载CSV 表 3 迭代步数实验 Table 3 Iterative steps experiment |
由表 3可知,当步数为30 000时,识别率为88.89%,而当步数再增加时,网络发生了过拟合,识别率逐渐下降,因此本文将步数设置为30 000。
本文提出的ConcatNet网络和其他轻量级网络在CIFAR-10数据集上的实验结果对比如表 4所示。由表 4可知,ConcatNet的Top-1精度比MoblileNet1/2的Top-1精度低1.27个百分点,但Top-5精度提高了0.12%,识别率相似,但参数量比MobileNetV2减少了51.4%,计算复杂度比MobileNetV2减少了44.8%,大幅降低了对计算平台的要求。
![]() |
下载CSV 表 4 轻量级网络在CIFAR-10数据集上的对比 Table 4 Comparison of lightweight networks on the CIFAR-10 data set |
ConcatNet模型在CIFAR-10数据集上表现较好,但CIFAR-100数据集比前者多了90个类别,虽然超参数设置一样,但识别难度较大,其识别结果如表 5所示。由表 5可知,与MobileNetV2相比,本文模型Top-1和Top-5的精度均要低1~2个百分点,总体来说准确度相当,但参数量和计算复杂度均要低50%左右,在轻量化上更为先进。
![]() |
下载CSV 表 5 轻量级网络在CIFAR-100数据集上的对比 Table 5 Comparison on the lightweight network CIFAR-100 data set |
将实验批量大小设置为96,步数设置为50 000,其他超参数保持不变,将本文模型与MobileNetV2模型进行比较,实验结果如表 6所示,这两个网络的精度相近,但本文网络的参数量降低了43.52%,计算复杂度降低了39.73%。
![]() |
下载CSV 表 6 轻量级网络在ImageNet数据集上的对比 Table 6 Comparison on the lightweight network ImageNet data set |
本文提出一种轻量化的图像识别网络,利用特征拼接、通道混洗等方法构建3条支路,并在支路卷积上采用深度可分离卷积。在输出阶段,采用先筛选再混洗的方式,从而在保持网络轻量化的同时,保证模型精度不降低。实验结果表明,与当前先进的轻量化卷积神经网络MobileNetV2相比,本文网络在保持精确度相当的情况下,将网络参数量和复杂度降低了约50%。但实际应用环境较复杂,下一步将推进网络的轻量化研究,引入高效且轻量的注意力机制,增强该网络的泛化性、鲁棒性。
[1] |
HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5): 504-507. |
[2] |
GOODFELLOW I, POUGET-ABADIE J, MIRZA M, et al. Generative adversarial networks[J]. Communications of the ACM, 2020, 63(11): 139-144. DOI:10.1145/3422622 |
[3] |
SCHOLKOPF B, PLATT J, HOFMANN T. Greedy layer-wise training of deep networks[C]//Proceedings of International Conference on Neural Information Processing Systems. Washington D. C., USA: IEEE Press, 2006: 153-160.
|
[4] |
LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324. DOI:10.1109/5.726791 |
[5] |
KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84-90. DOI:10.1145/3065386 |
[6] |
HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2016: 770-778.
|
[7] |
黄星元. 轻量化卷积神经网络及其应用的研究[D]. 上海: 上海师范大学, 2020. HUANG X Y. Research on lightweight convolutional neural network and the application[D]. Shanghai: Shanghai Normal University, 2020. (in Chinese) |
[8] |
HOWARD A G, ZHU M L, CHEN B, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[EB/OL]. [2021-04-08]. https://arxiv.org/abs/1704.04861.
|
[9] |
SANDLER M, HOWARD A, ZHU M L, et al. MobileNetV2: inverted residuals and linear bottlenecks[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 4510-4520.
|
[10] |
HOWARD A, SANDLER M, CHEN B, et al. Searching for MobileNetV3[C]//Proceedings of 2019 IEEE/CVF International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2019: 1314-1324.
|
[11] |
TAN M X, CHEN B, PANG R M, et al. MnasNet: platform-aware neural architecture search for mobile[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2019: 2815-2823.
|
[12] |
YANG T J, HOWARD A, CHEN B, et al. NetAdapt: platform-aware neural network adaptation for mobile applications[C]//Proceedings of the European Conference on Computer Vision. Berlin, Germany: Springer, 2018: 285-300.
|
[13] |
CHOLLET F. Xception: deep learning with depthwise separable convolutions[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2017: 1800-1807.
|
[14] |
SZEGEDY C, VANHOUCKE V, IOFFE S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2016: 2818-2826.
|
[15] |
ZHANG X Y, ZHOU X Y, LIN M X, et al. ShuffleNet: an extremely efficient convolutional neural network for mobile devices[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 6848-6856.
|
[16] |
MA N N, ZHANG X Y, ZHENG H T, et al. ShuffleNet V2: practical guidelines for efficient CNN architecture design[EB/OL]. [2021-04-08]. https://arxiv.org/abs/1807.11164v1.
|
[17] |
CHEN L Q, WANG D, GAN Z, et al. Wasserstein contrastive representation distillation[EB/OL]. [2021-04-08]. https://arxiv.org/abs/2012.08674.
|
[18] |
HANSON S, PRATT L. Comparing biases for minimal network construction with back-propagation[J]. Advances in Neural Information Processing Systems, 2007, 23: 1009-1016. |
[19] |
赵蓉, 唐楚淇, 刘伟林, 等. 一种新的基于灰色关联分析的BP神经网络剪枝算法[J]. 科技创新与应用, 2016(13): 17-18. ZHAO R, TANG C Q, LIU W L, et al. A new pruning algorithm of BP neural network based on grey correlation analysis[J]. Technology Innovation and Application, 2016(13): 17-18. (in Chinese) |
[20] |
朱张莉, 饶元, 吴渊, 等. 注意力机制在深度学习中的研究进展[J]. 中文信息学报, 2019, 33(6): 1-11. ZHU Z l, RAO Y, WU Y, et al. Research progress of attention mechanism in deep learning[J]. Journal of Chinese Information Processing, 2019, 33(6): 1-11. (in Chinese) |
[21] |
HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 7132-7141.
|
[22] |
WANG Q L, WU B G, ZHU P F, et al. ECA-net: efficient channel attention for deep convolutional neural networks[C]//Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2020: 11531-11539.
|
[23] |
KRIZHEVSKY A, HINTON G. Learning multiple layers of features from tiny images[EB/OL]. [2021-04-08].https://www.researchgate.net/publication/306218037_Learning_multiple_layers_of_features_from_tiny_images.
|