没有合适的资源?快使用搜索试试~ 我知道了~
首页论文研究-轻量化卷积神经网络技术研究.pdf
论文研究-轻量化卷积神经网络技术研究.pdf
需积分: 0 280 浏览量
更新于2023-05-31
评论
收藏 752KB PDF 举报
为了使卷积神经网络模型更好地应用于移动端和嵌入式设备,必须从减少模型参数量和降低计算复杂度两方面入手。首先简要介绍了目前几种流行的解决方法,并详细阐述了六个轻量化卷积神经网络模型,展示了其中应用的不同网络计算方式的计算量和参数量,论述了模型的核心构建模块、整体网络结构和创新之处。分析了各网络以及常规卷积网络在ImageNet数据集上的分类准确度,进而对比各网络实现轻量化的技巧,得出在进行模型设计时采用直接指标替代间接指标的结论。同时发现了残差结构对保证轻量化模型准确率的重要性。最后对轻量化卷积神经网络的发展前景进行了展望。
资源详情
资源评论
资源推荐

计算机工程与应用
www.ceaj.org
2019,55(16)
1 引言
自 AlexNet
[1]
赢 得 ILSVRC2 012(ImageNet Large
Scale Visual Recognition Challenge 2012)
[2]
挑 战 赛 以
来,卷积神经网络(Convolutional Neural Network,CNN)
在图像分类、语义分割、物体检测等领域获得广泛应
用
[3-6]
。随着性能要求越来越高,AlexNet 已经无法满足
人们的需求,于是性能更优越的网络模型纷纷被提出,
如 VGG
[7]
、ZFNet
[8]
、GoogLeNet
[9]
、SENet
[10]
、ResNet
[11]
、
DenseNet
[12]
等。由于神经网络的性质,为了获得更高
的 准 确 度 ,网 络 层 数 不 断 增 加 ,从 AlexNet、VG G 到
GoogLeNet,再到 R esNet 和 DenseNet,CNN 发展的总体
趋势是使用更深更复杂的网络来实现更高的准确度,但
是准确度的提高并不一定会使网络在尺寸和速度方面
更有优势。
就模型尺寸而言,传统卷积神经网络拥有大量参
数,保存这些参数对设备的存储空间要求很高。模型速
轻量化卷积神经网络技术研究
毕鹏程,罗健欣,陈卫卫
中国人民解放军陆军工程大学 指挥控制工程学院,南京 210007
摘 要:为了使卷积神经网络模型更好地应用于移动端和嵌入式设备,必须从减少模型参数量和降低计算复杂度两
方面入手。首先简要介绍了目前几种流行的解决方法,并详细阐述了六个轻量化卷积神经网络模型,展示了其中应
用的不同网络计算方式的计算量和参数量,论述了模型的核心构建模块、整体网络结构和创新之处。分析了各网络
以及常规卷积网络在 ImageNet数据集上的分类准确度,进而对比各网络实现轻量化的技巧,得出在进行模型设计时
采用直接指标替代间接指标的结论。同时发现了残差结构对保证轻量化模型准确率的重要性。最后对轻量化卷积
神经网络的发展前景进行了展望。
关键词:卷积神经网络(CNN);轻量化 ;卷积方式
文献标志码:A 中图分类号:TP39 1.4 doi:10.3778/j.issn.1002-8 331.1903-0340
毕鹏程,罗健欣,陈卫卫 .轻量化卷积神经网络技术研究 .计算机工程与应用,2019,55(16):25-35.
BI Pengche ng, LUO Jianxin, CHEN Weiwei. Research on lightweight convolutional neural network technolo gy. Computer
Engineering and Applicatio ns, 2019, 55(16):25-35.
Research on L ightweight Convolutional Neural Network Technology
BI Pengcheng, LUO Jianx in, CHEN Weiwei
Command & Con trol Engineering College, Army Engineering University of PLA, Nanjing 210007, China
Ab stract:In order to better apply the convolutional neural network model to mobile a nd embedd ed devices, it is neces-
sary to reduce the amount of model parameters and r educe computational complexity. Firs tly, several popular solutions
are brie fly introduced. Next, six lightweight convolutional neural network models a re elaborated, showing the computa-
tional c omplexity and parameter quantities of different network computing methods. The core building blocks of the model,
the overall network structure and innovat ions are discussed . The classification accuracy of each network and conventional
convolutional network on the ImageNet dataset is analyze d. Furthermore, comparing the techniques of lighten ing the
weight of each network, the conclusion is drawn that the direct index is used instead of the indirect index when designing
the model. At the same time, th e importance of the resid ual st ructure to ensure th e accuracy of th e lightweight model is
found. Finally, the development prospect of lightweight convolutional neur al network is pro spected.
Key words:Convolutional Neura l Network(CNN); lightweight; conv olution method
作者简介:毕鹏程(1992—),男,硕士研究生,主要研究领域为深度学习,E-mai l:1228048290@qq.com;罗健欣(198 4—),男,博士,
讲师,主要研究领域为深度学习、智能信息处理、图形学;陈卫卫(1967—),女,教授,主要研究领域为服务计算。
收稿日期:2019-03-22 修回日期:2019-04-25 文章编号:1002-8331(2019)16-0025-11
CN KI网络出版:2019-04-29, http://kns.cnki .net/kcms/detail/11.2127.TP.20190426.1608.0 10.html
Computer Eng ineering an d Applications 计算机工程与应用
25

计算机工程与应用
www.ceaj.org
Computer Eng ineering an d Applications 计算机工程与应用
2019,55(16)
度方面,大量实际应用均要求实时性,往往是毫秒级
别。为了达到应用标准,一是着力于提高处理器性能,
但是这一点从处理器的发展速度来看比较困难;二是从
降低网络本身计算复杂度入手。当前,移动和嵌入式设
备大量普及,如机器人、自动驾驶汽车和手机等,这些移
动设备往往存储空间和处理器性能有限。只有着力解
决模型尺寸和速度这两个问题,才能让卷积神经网络真
正走出实验室,更广泛地应用于移动端。
2 相关工作
在过去几年中,调整深度神经网络结构以在准确
度、尺寸和速度之间实现最佳平衡已经成为一个积极的
研究领域。这一研究领域的目标是确定一个模型,参数
量很少,速度很快,同时能保证准确度。
为了解决这个问题,可行的做法是对现有的卷积神
经网络模型进行压缩,使得网络拥有更少的参数,同时
能降低模型的计算复杂度。这些压缩算法大致可以分
为四类
[13]
:参数修剪和共享、低秩分解、迁移/压缩卷积滤
波器和知识精炼。基于参数修剪和共享的方法关注于
探索模型参数中冗余的部分,并尝试去除冗余和不重要
的参数。基于低秩分解的方法使用矩阵/张量分解估计
深层卷积神经网络中最具信息量的参数。基于迁移/压
缩卷积滤波器的方法设计了特殊结构的卷积滤波器以
减少存储和计算复杂度。而知识精炼则学习了一个精
炼模型,即训练一个更加紧凑的神经网络以再现大型网
络的输出结果。
除了对现有的网络模型进行压缩,还可以设计新的
网络结构,使得在参数量减少、速度提升的同时,依然
保 持较高的准确度,即 轻 量化卷积神经网络 模 型 设
计。近几年,众多轻量化网络模型纷纷被提出,例如:
GoogLeNet 相比于单纯的堆叠卷积层,增加了网络宽
度,降低了计算复杂度,极大地提升了速度;SqueezeNet
在保持精度的同时大大减少参数量和计算量;SqueezeNext
基于 SqueezeNet改进了网络结构,并从硬件角度分析如
何提速;MobileNetV1 利用深度可分离卷积模块构建的
轻量化模型取得了不错的结果;MobileNetV2在 Mobile-
NetV1 的基础上,借鉴 ResNet 的残差结构,提出基于反
向残差的线性瓶颈结构,实现了惊人效果;ShuffleNetV1
利用分组卷积和 Channel Shuffle 的方法减少了参数量,
提升了速度;ShuffleNetV2指出 FLOPs 不能直接线性地
衡量计算速度,速度和硬件设备也有关联,在此基础上
改进了 ShuffleNetV1 网络结构。以上这些网络结构是
在借鉴早期网络 AlexN et、VGG的基础上设计的。
除此以外,近年还提出了两种自动化算法。一是基
于 AutoML 的模型压缩算法(AutoML for Model Com-
pre ssion,AMC)
[14]
,一种自动模型压缩算法,相较于传统
的模型压缩技术依赖人工设计的启发式和基于规则的
策略,AMC 利用强化学习提供模型压缩策略。在更好
地保持准确度的同时节省了人力成本,但是此算法仅仅
从通道特征的稀疏度考虑,比较粗放,没有全局考虑模
型的其他能力。二是基于神经网络架构搜索(Neural
Architecture Search,NAS)的自动化设计神经网络的方
法
[15]
,可以自动设计网络结构,然而最终得到的网络非
常复杂,并且 NAS 的复现比较耗费 GPU 资源,Nas Net实
验在使用 500 块 GP U 的情况下需要 4 天时间。因此无
论是自动压缩算法,还是自动设计网络结构的方法,虽
然大大降低了人力成本,但都存在一定局限。所以现阶
段主要的解决方法还是前两种。
本文主要对轻量化网络模型设计的相关技术进行
研究讨论,选取近两年提出的六个轻量化卷积网络模型
进行学习和对比,分析各自性能特点及实现轻量化的
技巧方法。六个模型分别是 SqueezeNet、Squ eezeNext、
MobileNetV1、MobileNetV2、ShuffleNetV1 和 Shuffle-
NetV2。从命名上可以看出,这六个网络模型实际分
为三 类,Squeeze Next 是基 于 S queezeNet 改 进而 来的,
MobileNetV2 是 Mob ileNetV1 的 改 进 版 ,Shuffle NetV2
的结构也是基于 Sh uffleNetV1 的网络结构。此三类网
络实现轻量化的方法十分典型,对于相关领域的研究者
具有很好的参考价值。
3 轻量化卷积网络模型
轻量化卷积神经网络模型设计,是指在借鉴现有卷
积神经网络结构基础上,重新设计网络结构,以达到减
少参数量,降低计算复杂度的目标。设计轻量化网络模
型的核心在于设计更加高效的“网络计算方式”,主要针
对卷积方式,从而使网络计算量和参数量减少,并且不
损失网络性能。3.1 节概述了 CNN 模型中经常使用的
基本卷积运算单元,并基于空间维度和通道维度,解释
了参数量和计算复杂度。3.2 节从网络核心构建模块、
整体网络结构和各自创新之处三方面介绍近年提出的
六个轻量化卷积网络模型。
3.1 基本卷积运算
标准卷积是卷积神经网络最基本的运算方式,是卷
积神经网络的基础。假设
H × W
表示输入特征空间尺
寸,如图 1(a)所示,
H
和
W
分别代表特征图的高度和
宽度,输入和输出特征空间尺寸不变,
N
是输入特征通
道数,
K × K
表示卷积核尺寸,
M
表示卷积核的数量,
同时表示输出特征图通道数。标准卷积运算是每个通道
卷积操作之后求和,值与每个通道特征都有关,如图 1(b)
所示。标准卷积计算量是 HWNK
2
M ,标准卷积层的
参数量为 K
2
MN 。
分组卷积是标准卷积的变体。将输入特征数据在
深度上进行等分,即某几个通道编为一组,相应地,卷积
核在深度上也进行相同数量的等分。然后用每组的卷
26

计算机工程与应用
www.ceaj.org
2019,55(16)
积核与它们对应组内的输入数据卷积,得到输出数据以
后,再用拼接的方式组合起来,最终输出数据的通道数
与输入数据一致。假设输入特征通道被分为
G
组,并
且对于每个分组的通道独立地执行卷积,则分组卷积
计算量是 HWNK
2
M/G ,为标准卷积计算量的 1/G 。
分组卷积层的参数量是 K
2
MN/G ,为标准卷积参数量
的
1/G
。分组卷积最早出现于 AlexNet。当时使用分
组卷积是为了解决 GPU 性能不足的问题。
深度卷积最早由谷歌提出,指将
H × W × N
输入特
征图按通道分为
N
组,深度卷积是分组卷积的特殊形
式,
H × W
表示输入特征空间尺寸,
N
是输入特征通道
数,此时每组输入特征只有一个通道。假设卷积核空间
尺寸为
K × K
,为了与各组输入特征数据卷积,卷积核
通道数为 1。假设卷积核的数量为
N
,每一组特征数据
对应一个卷积核,分别做
K × K
卷积,如图 2 所示。因
此深度卷积的计算量为 HWNK
2
,是标准卷积计算量
的 1/M ,参数量为 K
2
N ,是标准卷积的 1/M 。通过忽
略通道维度的卷积显著降低了计算量,深度卷积相当于
单独收集每个通道的空间特征。这种卷积方式虽然极
大地降低了计算量和参数量,但是会存在一个问题,就
是通道之间“信息流通不畅”问题,最终输出数据不是与
每个输入通道都有关,分组卷积也存在这样的问题。
逐点卷积是一种特殊的卷积运算,代表着卷积核的
空间尺寸是
1 × 1
。具体是指对
H × W × N
的输入做
M
个标准的
1 × 1 × N
卷积,
H × W
表示输入特征空间尺
寸,
N
是输入特征和卷积核的通道数,
M
为卷积核的
数量。如图 3 所示,逐点卷积主要用于改变输出通道特
征维度。逐点卷积计算量为
HWMN
,参数量为
MN
。
逐点卷积相当于在通道之间“混合”信息,能很好地解决
深度卷积和分组卷积所引起的通道之间“信息流通不
畅”问题。
3.2 轻量化网络模型
SqueezeNet、SqueezeNext、MobileNetV1、Mobile-
NetV2、ShuffleNetV1 和 ShuffleNetV2 有一 个共同 的 特
点,其网络结构都是由基本构建模块堆叠而成。因此本
文首先分析每个模型核心构建模块的结构,进而给出整
个网络结构,最后总结各网络的创新之处。
3.2.1 SqueezeNet
SqueezeNet 由 伯 克 利 和 斯 坦 福 研 究 人 员 合 作 提
出
[16]
。此网络结构的核心构建模块是 Fire module。Fire
mo dule 包含两部分:Squeeze 层和 Expand 层。Squeeze
层采用
1 × 1
卷积核对输入特征数据进行卷积,主要目
的是减少输入特征的通道数,即降维。Expand 层分别
用
1 × 1
和
3 × 3
卷积,然后拼接。
如图 4 所示,Fire modu le 输入特征大小为
H × W ×
N
,输出特征为
H × W × (e
1
+ e
3
)
,可以看到特征数据的
空间尺寸是不变的,变的仅是通道数,这一点和 VGG 的
思想一致。首先,输入特征经过 Squeeze层,得到输出特
征大小为
H × W × S
1
,特征数据的空间尺寸不变,通道
维数由
N
变为
S
1
,
S
1
是小于
N
的,因此 Squeeze 层的
目的是降维。其次,
H × W × S
1
的特征数据输入 Expand
层,分别经过
1 × 1
卷积运算和
3 × 3
卷积运算,再将两次
卷积后的结果进行拼接,得到 Fire module 的输出特征
数据。
Σ + b
Σ + b
Σ
Σ
Kernel 3×3
feature
Input
Input feature map Output feature map
Conv
kernel
×M
∗
K
N
H
N
M
W
W
H
sum
K
(a)标准卷积计算图
(b)标准卷积计算过程
图 1 标准卷积
Input
depthwise feature
Gro up=0
Gro up=1
Gro up=2
图 2 深度卷积计算过程
depthwise feature
pointwis e feature
图 3 逐点卷积计算过程
H × W × N
Kernel = 1 × 1,Num = S
1
H × W × S
1
Kernel = 1 × 1,Num = e
1
Kernel = 3 × 3,Num = e
3
H × W × e
1
H × W × e
3
H × W × (e
1
+ e
3
)
Concat
Squeeze层
Exp and层
图 4 Fire module 结构
毕鹏程,等:轻量化卷积神经网络技术研究
27
剩余10页未读,继续阅读







安全验证
文档复制为VIP权益,开通VIP直接复制

评论0