IEEEJAS的个人博客分享 http://blog.sciencenet.cn/u/IEEEJAS

博文

卷积神经网络结构优化综述

已有 1588 次阅读 2023-7-7 17:07 |系统分类:博客资讯

引用本文

 

林景栋, 吴欣怡, 柴毅, 尹宏鹏. 卷积神经网络结构优化综述. 自动化学报, 2020, 46(1): 24-37. doi: 10.16383/j.aas.c180275

LIN Jing-Dong, WU Xin-Yi, CHAI Yi, YIN Hong-Peng. Structure Optimization of Convolutional Neural Networks: A Survey. ACTA AUTOMATICA SINICA, 2020, 46(1): 24-37. doi: 10.16383/j.aas.c180275

http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.c180275

 

关键词

 

卷积神经网络,结构优化,网络剪枝,张量分解,知识迁移 

 

摘要

 

近年来, 卷积神经网络(Convolutional neural network, CNNs)在计算机视觉、自然语言处理、语音识别等领域取得了突飞猛进的发展, 其强大的特征学习能力引起了国内外专家学者广泛关注.然而, 由于深度卷积神经网络普遍规模庞大、计算度复杂, 限制了其在实时要求高和资源受限环境下的应用.对卷积神经网络的结构进行优化以压缩并加速现有网络有助于深度学习在更大范围的推广应用, 目前已成为深度学习社区的一个研究热点.本文整理了卷积神经网络结构优化技术的发展历史、研究现状以及典型方法, 将这些工作归纳为网络剪枝与稀疏化、张量分解、知识迁移和精细模块设计4个方面并进行了较为全面的探讨.最后, 本文对当前研究的热点与难点作了分析和总结, 并对网络结构优化领域未来的发展方向和应用前景进行了展望.

 

文章导读

 

卷积神经网络(Convolutional neural network, CNNs)作为最重要的深度模型之一, 由于具有良好的特征提取能力和泛化能力, 在图像处理、目标跟踪与检测、自然语言处理、场景分类、人脸识别、音频检索、医疗诊断诸多领域获得了巨大成功.卷积神经网络的快速发展一方面得益于计算机性能的大幅提升, 使得构建并训练更大规模的网络不再受到硬件水平的限制; 另一方面得益于大规模标注数据的增长, 增强了网络的泛化能力.以大规模视觉识别竞赛(ImageNet large scale visual recognition competition, ILSVRC)的历届优秀模型为例, AlexNet[1]ILSVRC2012上的Top-5识别正确率达到83.6 %, 随后几年卷积神经网络的性能持续提升[2-4], ResNet-50[5]ILSVRC 2015上的Top-5识别正确率达到96.4 %, 已经超过人类平均水平.在此之后, 卷积神经网络被进一步应用于其他领域, 比如由谷歌DeepMind公司开发的人工智能围棋程序AlphaGo2016年战胜世界围棋冠军李世石.

 

卷积神经网络的整体架构大体上遵循着一种固定的范式, 即网络前半部分堆叠卷积层, 间或插入若干池化层以组成特征提取器, 最后连上全连接层作为分类器, 构成一个端到端的网络模型, 如图 1LeNet-5[6]所示.卷积神经网络一般通过增加卷积层数量以增加网络深度, 用这种方式获得的深度模型在分类任务上有更好的表现[7].从表 1可以看出, 卷积神经网络的性能不断增长, 其在ImageNet数据集的识别错误率不断降低, 同时其时间复杂度和空间复杂度也相应上升.具体地, 卷积神经网络的网络层数呈持续增加态势, 其训练参数数量和乘加操作数量也保持在一个较高的水平, 例如VGGNet-16具有高达138 M参数量, 其整体模型规模超过500 M, 需要155亿次浮点数操作才能对一张图片进行分类.

 1  LeNet-5网络结构

 

深度卷积神经网络通常都包含有几十甚至上百卷积层, 训练参数量动辄上百万, GPU加速支持下仍然需要花费几天或几周时间才能完成训练(ResNet需用8GPU训练2 ~ 3周时间), 制约了其在移动设备、嵌入式系统等资源受限场景下的应用.如表 1所示, 过去由于卷积层在网络训练阶段和预测阶段的前向推导过程中涉及大量的浮点数计算操作, 而全连接层的神经元之间采用全连接方式, 拥有绝大多数训练参数, 所以卷积神经网络的时间复杂度主要由卷积层决定, 空间复杂度主要由全连接层决定.随着卷积神经网络逐渐向更深层次发展, 卷积层数量急剧增加, 在前向推导过程中产生的中间变量会占用大量内存空间, 此时卷积层同时决定了网络的时间复杂度和空间复杂度.因此, 降低卷积层和全连接层的复杂度有助于优化卷积神经网络的结构, 对于网络的压缩与加速也有重要的促进作用.

 

针对网络结构优化的相关研究在90年代已被提出[8-9], 然而由于当时神经网络大多属于浅层网络, 对于结构优化的需求尚不强烈, 因此未能引起广泛关注.如今卷积神经网络的规模日益庞大, 而大量应用场景都无法提供相应的必需资源, 因此探讨在保证网络精度的前提下压缩并加速模型是网络结构优化领域的前沿热点.随着对卷积神经网络结构优化研究的逐渐深入, 大量成果不断涌现, 一些学者对这一领域的相关工作进行了归纳与总结, 如文献[10]重点讨论了模型压缩与加速各种方法的优缺点, 文献[11]从硬件和软件两方面整理了网络加速的研究进展, 文献[12]简要介绍了深度网络压缩的典型方法.本文在这些工作的基础上, 结合最新研究进展和成果, 全面地梳理与总结了卷积神经网络结构优化方面的研究工作.其中第1节到第4节分别从网络剪枝与稀疏化、张量分解、知识迁移和精细化结构设计4个方面归纳了相关研究思想和方法, 5节综合卷积神经网络结构优化领域的研究现状, 对其未来研究趋势和应用方向进行了展望.

 2  四种剪枝粒度方式

 3  张量分解过程

 

随着硬件条件的飞速发展和数据集规模的显著增长, 深度卷积神经网络目前已成为计算机视觉、语音识别、自然语言处理等研究领域的主流方法.具体地, 更深的网络层数增强了模型的非线性拟合能力, 同时大规模数据增强了模型的泛化能力, 而较高水平的硬件设施条件则保证了模型运行所需要的计算能力和存储要求.深度卷积神经网络已在诸多领域证明了强大的特征学习和表达能力, 但高昂的时间复杂度和空间复杂度制约其在更广阔领域的实施与应用.在时间维度上, 大型复杂网络计算量巨大, 在图形处理单元(Graphic processing unit, GPU)加速运算的支持下, 仍不能满足自动驾驶汽车等一些强实时场景的要求.在空间维度上, 随着模型规模日益庞大特别是网络深度剧增, 对模型的存储提出了更高的要求, 这制约了深度卷积神经网络在移动手机、嵌入式设备等资源受限环境的应用.

 

为加快以卷积神经网络为代表的深度学习技术的推广及应用, 进一步强化在安防、移动设备、自动驾驶等多个行业的优势, 学术界和工业界对其结构的优化展开了大量研究.现阶段常用的网络结构优化技术包括网络剪枝与稀疏化、张量分解、知识迁移和精细模块设计, 前三种方法通常是在已有高性能模型的基础上改进并加以创新, 在不损害精度甚至有所提高的前提下尽可能降低模型复杂度和计算复杂度.精细模块设计方法从网络构造的角度出发, 创造性地设计高效模块以提升网络性能, 从根本解决深度卷积神经网络面临的时间复杂度和空间复杂度过高的问题.笔者整理了近几年的研究成果, 根据自己的理解总结了该领域以下的难点问题以及发展趋势:

1) 网络剪枝与稀疏化能够稳定地优化并调整网络结构, 以较小精度损失的代价压缩网络规模, 是应用最为广泛的网络结构优化设计方法.目前大多数的方法是剔除网络中冗余的连接或神经元, 这种低层级的剪枝具有非结构化(Non-structural)风险, 在计算机运行过程中的非正则化(Irregular)内存存取方式反而会阻碍网络进一步加速.一些特殊的软硬件措施能够缓解这一问题, 然而会给模型的部署带来额外的花销.另一方面, 尽管一些针对卷积核和卷积图的结构化剪枝方法能够获得硬件友好型网络, CPUGPU上速度提升明显, 但由于剪枝卷积核和卷积通道会严重影响下一隐含层的输入, 有可能存在网络精度损失严重的问题.

2) 目前主流的精细模块设计方法仍然依赖于设计者的工程经验和理论基础, 在网络构造过程中要考虑到大量因素, 如卷积核尺寸、全连接层数、池化层数等超参数(Hyper parameter).不同的选择对于网络最终性能有可能造成完全不同的影响, 需要进行大量的实验来论证不同参数的优劣, 使得网络结构设计耗费大量的人力物力, 不利于深度模型的快速部署及应用.因此, 研究如何自动设计网络有助于卷积神经网络的设计空间探索(Design space exploration, DSE), 对于加快网络设计过程和推动深度学习落地于工程化应用具有重要的促进作用.

3) 网络结构优化设计的评价指标.目前对于深度卷积神经网络的结构优化设计主要侧重于准确率、运行时间、模型大小等方面的评价, 但使用更加全面的评价指标对于发现不同网络的优点和缺点是大有裨益的.除了准确率、运行时间、模型大小等传统指标, 有必要将乘加(Multiply-and-accumulate)操作量、推导时间、数据吞吐量、硬件能耗等指标纳入评价体系, 这为从不同方面评价优化模型提供了更加完备的信息, 也有助于解决了不同网络性能评价指标不统一的问题.

4) 在过去, 深度卷积神经网络的结构优化更多着眼于算法的设计与实现, 而对于模型的具体部署平台和硬件设施欠缺考虑.考虑到硬件条件仍是制约着深度模型部署于移动手机、机器人、自动驾驶等资源受限场景下的主要因素, 若统筹兼顾网络模型和硬件设施的优化与设计, 使算法与硬件相匹配, 不仅能够进一步提高数据吞吐量与运行速度, 还可以减少网络规模与能耗.因此, 设计硬件友好型深度模型将有助于加速推进深度学习的工程化实现, 也是网络结构优化的重点研究方向.

5) 本文归纳与总结的网络结构优化方法有不同的侧重点和局限性, 其中网络剪枝与稀疏化方法能够获得较大的压缩比, 同时对于网络精度的影响较小, 在需要模型稳定运行的场景下较为适用.张量分解能够极大加速模型的运行过程, 而且端到端的逐层优化方式也使其容易实施, 然而该方法不能较好地压缩模型规模, 而且在卷积核尺寸较小时加速效果不明显.知识迁移方法能够利用教师网络的领域知识指导学生网络的训练, 在小样本环境下有较高的使用价值.同时, 知识迁移和精细模块设计都面临网络结构如何构造的问题, 要求设计者具有较高的理论基础和工程经验, 与其他方法相比其调试周期较长.因此, 在使用网络结构优化技术时应考虑实际情况, 综合应用以上方法以压缩并加速网络.

6) 深度神经网络结构优化的迁移应用.本文分析了卷积神经网络目前存在的挑战和问题, 并且探讨了卷积神经网络结构优化领域的主流方法、思想及其应用.由于目前其他主流的深度网络(如循环神经网络、生成对抗网络)同样面临模型规模大、运行速度慢的问题, 因此借鉴卷积神经网络结构优化的思想以优化其模型是一种有效的解决方式.此外, 目前很多优化方法一般都是针对图像分类问题, 若将其应用于目标检测、语义分割等领域也应取得较好效果.

 

作者简介

 

林景栋  

重庆大学自动化学院副教授. 2002年获得重庆大学博士学位.主要研究方向为工业自动化生产线设计, 智能家居控制系统的设计.E-mail: linzhanding@163.com

 

吴欣怡  

重庆大学自动化学院硕士研究生. 2016年获得重庆大学学士学位.主要研究方向为深度学习, 计算机视觉. E-mail: wuxinyi12358@gmail.com

 

柴毅  

重庆大学自动化学院教授.2001年获得重庆大学博士学位.主要研究方向为信息处理, 融合与控制, 计算机网络与系统控制. E-mail:chaiyi@cqu.edu.cn

 

尹宏鹏  

重庆大学自动化学院教授.2009年获得重庆大学博士学位.主要研究方向为模式识别与智能系统.本文通信作者.E-mail:yinhongpeng@gmail.com



https://blog.sciencenet.cn/blog-3291369-1394455.html

上一篇:零样本学习研究进展
下一篇:基于故障传播与因果关系的故障溯源方法及其在牵引传动控制系统中的应用
收藏 IP: 117.114.9.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-23 09:40

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部