CN111079781B - 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 - Google Patents
基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 Download PDFInfo
- Publication number
- CN111079781B CN111079781B CN201911079625.0A CN201911079625A CN111079781B CN 111079781 B CN111079781 B CN 111079781B CN 201911079625 A CN201911079625 A CN 201911079625A CN 111079781 B CN111079781 B CN 111079781B
- Authority
- CN
- China
- Prior art keywords
- sparse
- neural network
- rank
- convolutional neural
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明属于图像识别领域,涉及一种基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法。低秩与稀疏分解的轻量化卷积神经网络的构建过程包括:在结构设计阶段,将权重矩阵分解为低秩矩阵和稀疏矩阵的和,并将低秩矩阵根据秩的大小分解为两个小矩阵的乘积;在训练阶段,在损失函数中添加正则化项对稀疏矩阵进行约束;在后处理阶段,根据稀疏矩阵的能量分布删除不重要参数。优选地,还包括:对低秩与稀疏分解的轻量化卷积神经网络进行微调。本发明结合低秩分解和稀疏压缩方法,从头训练一个轻量化的卷积神经网络,在保留图像识别精度的同时,实现了卷积神经网络的压缩和加速。
Description
技术领域
本发明属于图像识别领域,涉及一种基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法。
背景技术
随着科技的日益发展,计算机硬件的存储空间越来越大,运算速度不断提升,研究人员可以使用更丰富的数据资源、尝试更复杂更先进的神经网络来实现图像识别。实验也表明,增加神经网络的深度或宽度可以在一定程度上提高图像识别的精度。但是,更大更深的神经网络意味着对硬件的存储功能和运算功能有更高要求,不利于其在移动手机和嵌入式设备等轻量级设备上的应用。
神经网络的高性能与高设备要求之间的矛盾激发了研究人员纷纷尝试压缩神经网络,让深度学习算法的应用更为普遍化、日常化。由于神经网络往往存在过参数化、网络神经元的功能具有较大重复性的问题,使得可以在保证神经网络精度的前提下,最大程度地压缩神经网络。神经网络的压缩能够释放冗余参数,消除不必要的运算,大大地节省功耗、空间和时间资源,并促进使用深度学习模型的图像识别算法在轻量级设备上的应用,使人工智能更接近于日常生活,成为能为人们生活提供便利,提高生活质量的技术,而不仅仅局限于高性能设备。
目前,图像识别的神经网络压缩主要有四种方法,分别为低秩分解、剪枝、参数量化以及知识蒸馏。
(1)低秩分解
利用矩阵分解的思想,将原始矩阵分解为多个形式更简单、尺寸更小的矩阵,通过这些小矩阵的参数来重建原始矩阵,从而到达降低存储空间以及运算量的目的。低秩分解经常用于去除高维数据的冗余信息。在压缩神经网络方面,它常被用于近似预训练模型的权重参数,然后利用不同方式来最小化其重建误差,以重获神经网络精度。
(2)剪枝/稀疏
基于剪枝的神经网络压缩本质上是将网络中的冗余参数移除,从而减少网络的参数量和不必要的计算。剪枝按细粒度可分为神经元连接级剪枝、卷积核级剪枝和层级剪枝。神经元连接级剪枝通过分析单个矩阵权重参数的重要性,对不重要的权值参数进行剪枝,使得神经网络更“稀疏”;卷积核级剪枝的剪枝对象是单个卷积核,使得神经网络每层网络层的通道数减少;层级剪枝的裁减对象是整个网络层,使得神经网络模型网络层的层数减少,这主要适合于网络层数较多的模型。
(3)量化
量化实际上是用多个离散值来替代连续实数集的方法。可通过聚类方法实现,或用更少的比特数来表示高精度参数。量化的方法一般减少网络存储开销的同时也可以提高运算速度。
(4)知识蒸馏
在神经网络学习中,更深更大的网络往往有更强的能力去学习更复杂的任务,也取得更好的效果,但对于资源受限的嵌入式和移动端设备而言,这些复杂网络的参数量和延时性难以适用。所以,知识蒸馏主张将训练好的复杂模型的能力迁移到一个结构更为简单的模型中,即让简单模型来模仿复杂模型,逼近复杂模型的表现。其中,复杂模型称为教师网络,简单模型为学生网络。
由于大多数的神经网络压缩研究都基于低秩分解、剪枝、参数量化及知识蒸馏中的单一方法展开,神经网络的压缩效果还有待进一步提高。尤其在移动手机和嵌入式设备等轻量级设备上进行图像识别时,更有必要研究一种压缩率更高的轻量化神经网络实现图像识别。
发明内容
针对现有技术的不足,本发明提供一种基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法。通过构建基于低秩与稀疏分解的轻量化卷积神经网络,来进行图像识别。
本发明采用如下技术方案实现:
基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法,包括:
对原始图像进行预处理,得到预处理后的图像;
对卷积神经网络进行低秩与稀疏分解、训练与剪枝,构建低秩与稀疏分解的轻量化卷积神经网络;
基于低秩与稀疏分解的轻量化卷积神经网络对预处理后的图像进行图像识别。
优选地,低秩与稀疏分解的轻量化卷积神经网络的构建过程包括:
①、在结构设计阶段,将权重矩阵分解为低秩矩阵和稀疏矩阵的和,并将低秩矩阵根据秩的大小分解为两个小矩阵的乘积;
②、在训练阶段,在损失函数中添加正则化项对稀疏矩阵进行约束;
③、在后处理阶段,根据稀疏矩阵的能量分布删除不重要参数。
优选地,将低秩与稀疏分解的轻量化卷积神经网络的卷积层和全连接层分别分解成两条并行支路,两条并行支路的权重矩阵分别为低秩矩阵和稀疏矩阵。
优选地,通过调整低秩矩阵的秩的取值,实现低秩与稀疏分解的轻量化卷积神经网络精度和压缩率的平衡。
优选地,低秩矩阵的秩越小,则低秩分解后的总参数量越少。
优选地,在训练阶段,对稀疏矩阵的参数进行约束,不重要的参数被约束为接近0的数,得到约束后的稀疏矩阵。
优选地,后处理阶段还包括:对约束后的稀疏矩阵进行剪枝,即将接近于0的参数置为0。
优选地,利用能量比作为剪枝准则,自动确定稀疏率。
优选地,低秩与稀疏分解的轻量化卷积神经网络构建过程还包括:对低秩与稀疏分解的轻量化卷积神经网络进行微调。
优选地,微调只针对稀疏矩阵进行微调,或对低秩与稀疏分解的轻量化卷积神经网络的部分或全部参数进行微调。
与现有技术相比,本发明包括以下有益效果:
(1)申请人发现:在某种意义上,低秩分解、剪枝、参数量化以及知识蒸馏这四种神经网络压缩方法对于神经网络压缩是互补的,它们分别从不同角度度量神经网络的冗余性。如果可以合理地结合其中的任意两种或多种方法,即有可能进一步提高神经网络的压缩效果,故本发明结合低秩分解和稀疏压缩方法,从头训练一个轻量化的卷积神经网络,在保留图像识别精度的同时,实现了卷积神经网络的压缩和加速。
(2)申请人发现:如果在卷积神经网络的预训练模型上进行压缩操作,不可避免地对模型精度造成一定程度上的损失。所以,重训练或者微调是这类压缩方法重获图像识别精度的必要步骤。本发明提出的基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法,从头训练一个压缩模型,即在模型训练的过程中,提高模型图像识别精度的同时学习模型的稀疏化参数。因此,在一定的压缩率范围内,本发明可获得图像识别精度无丢失的压缩模型。
(3)本发明能压缩与加速目前常用的卷积神经网络,实现卷积神经网络轻量化,促进图像识别算法在轻量级设备上的应用。
附图说明
图1为本发明一个实施例中基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法流程图;
图2为本发明一个实施例中基于低秩分解的轻量化卷积替代结构;
图3为本发明一个实施例中基于低秩分解的轻量化全连接层替代结构;
图4为本发明一个实施例中基于低秩与稀疏分解的卷积层替代结构;
图5为本发明一个实施例中基于低秩与稀疏分解的全连接层替代结构;
图6为本发明一个实施例中低秩与稀疏分解的轻量化卷积神经网络的构建过程。
具体实施方式
下面通过具体实施方式对本发明作进一步详细地描述,但本发明的实施方式并不限于此。
本发明的原理包括:通过低秩和稀疏方法分别提取矩阵的全局信息和局部信息,将这两个压缩方法结合到一个统一压缩框架中,充分利用了两者的互补特性。现有的利用低秩或稀疏压缩方法大多是通过逼近预训练模型来压缩神经网络,不可避免地降低了神经网络性能。本发明提供一种低秩和稀疏学习框架,从零开始训练压缩卷积神经网络,可以在保持卷积神经网络性能的同时,实现卷积神经网络的压缩和加速,使其能在移动端上应用。
基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法(如图1所示),包括:
S1、对原始图像进行零填充、随机裁剪、随机翻转以及归一化等预处理,得到预处理后的图像。
S2、对卷积神经网络进行低秩与稀疏分解、训练与剪枝,得到低秩与稀疏分解的轻量化卷积神经网络;
低秩与稀疏分解的轻量化卷积神经网络结合了低秩与稀疏两种压缩方法,可以更好地获得原网络结构的全局与局部信息,在压缩卷积神经网络的同时更好地保留卷积神经网络的性能。
低秩与稀疏分解的轻量化卷积神经网络获得过程包括:对原始卷积神经网络的结构进行分解,对原始损失函数添加正则化项,训练后得到包括低秩成分与稀疏成分的卷积神经网络结构;根据能量分布对稀疏成分进行剪枝,得到剪枝后的轻量化卷积神经网络;对轻量化卷积神经网络进行参数微调,进一步提升轻量化卷积神经网络性能。具体地,包括以下步骤:
①、在低秩与稀疏分解的轻量化卷积神经网络结构设计阶段,将权重矩阵分解为低秩矩阵和稀疏矩阵的和,并将低秩矩阵进一步分解为两个小矩阵的乘积。
原本的卷积和全连接操作被分解成两条并行支路,其权重矩阵分别为低秩矩阵L和稀疏矩阵S。
根据低秩矩阵L的秩r,将低秩矩阵L分解为两个低秩矩阵U和V,则低秩矩阵L的卷积和全连接操作分别被分解为串行的两个卷积操作和串行的两个全连接操作。
低秩矩阵的秩r的大小可以根据原始矩阵大小的一定比例来设定,也可以直接设定为一个较小的值。秩r越小,则低秩分解后的总参数量越少。通过调整超参数r的取值,实现卷积神经网络精度和压缩率的平衡。
②、在训练阶段,在损失函数中添加正则化项对稀疏矩阵进行约束,使得稀疏矩阵在训练后变得稀疏,方便后续剪枝。
在训练过程对稀疏矩阵添加稀疏约束,从头训练一个压缩网络。
③、在后处理阶段,根据稀疏矩阵的能量分布删除不重要参数,即将其置零,使其不参与存储与计算。
后处理阶段的修剪过程保留了卷积神经网络的大部分参数能量,在很大程度上保持了卷积神经网络的性能。
训练结束后,稀疏矩阵S的参数被自动选择,不重要的参数被约束为接近0的数。在后处理阶段,根据稀疏矩阵的能量分布删除不重要参数,即将其置零,使其不参与存储与计算。
进一步地,对约束后的稀疏矩阵S进行剪枝。计算矩阵S每个参数的能量,根据所设的能量比α剪枝低能量参数,直至剪枝后的稀疏矩阵S与剪枝前的总能量比例为α。能量比α为超参数,实现卷积神经网络精度和压缩率的平衡。
需要说明的是,可以将稀疏矩阵S的每一个参数的绝对值定义为能量,按能量值大小对参数进行排序,保留能量值大的参数,使得剪枝后的总能量占剪枝前的总能量的比例大于能量比α。
④、可选地,为进一步提高压缩模型的图像识别精度,可对压缩后的网络进行微调。
通过简单的微调,可以进一步提高卷积神经网络的压缩性能。对剪枝后的轻量化卷积神经网络进行微调,可以只针对稀疏成分进行微调,也可以对整个轻量化卷积神经网络的参数进行微调。
S3、基于低秩与稀疏分解的轻量化卷积神经网络对预处理后的图像进行图像识别。
为方便描述,先对涉及到的符号进行约定。统一使用大写手写体字母表示张量,大写斜体字母表示二维矩阵。对于任一卷积层,卷积层输入特征图卷积矩阵 其中,C为输入通道数,H和W为输入特征图尺寸,K为卷积核个数,d为卷积核大小,/>为全体实数的集合。通过将特征图/>和卷积矩阵/>的卷积核向量化,可以将输入和权重表示为矩阵/>和/>卷积运算可以转化为乘法运算。为了方便,本发明统一使用/>表示卷积层和全连接层权重矩阵,其中,当其表示全连接层时,m为输出神经元个数,当其表示卷积矩阵时,m=Cd2。
具体地,将预处理后的图像输入到低秩与稀疏分解的轻量化卷积神经网络中。
低秩与稀疏分解的轻量化卷积神经网络的第一层网络层提取的是图像的具体特征,为了保持低秩与稀疏分解的轻量化卷积神经网络的图像识别精度,本发明不对第一层卷积层进行压缩分解,所以,在第一层,输入图像只需进行一次卷积操作。对于第二层及之后的卷积层,本发明将其按图4进行分解,将原本的一个d×d的卷积层分解为两个支路,分别为低秩支路和稀疏支路,上一层的输出特征图分别输入这两个支路。对于低秩支路,输入与低秩卷积核/>卷积,输出/> 再与低秩卷积核卷积,输出/>对于稀疏支路,输入/>与稀疏卷积核卷积,输出/>应注意的是,低秩与稀疏分解的轻量化卷积神经网络的稀疏卷积核/>中大部分参数为0;最后,将两个支路的输出/>和/>相加,得到该层的输出特征图/>以此类推,特征图逐层经过本发明的低秩与稀疏分解模块的层级传播以及非线性层的处理(如ReLU、Maxpool),压缩的轻量化卷积神经网络最终输出特征图这实际上是一个从输入图像提取特征的过程。最后,将压缩的轻量化卷积神经网络提取到的特征/>输入稀疏全连接层和softmax分类器,得到最终的图像识别结果。
下面结合附图,对本发明的低秩与稀疏分解的轻量化卷积神经网络的结构及其训练与剪枝过程进行进一步地详细描述。
首先,将原始卷积神经网络的权重矩阵W分解为低秩矩阵L和稀疏矩阵S的和,即W=L+S。卷积层与全连接层的计算可以表示为两个支路:
WX=LX+SX
低秩矩阵L的秩r按W的短边的一定比例设置(如0.1)或直接设置为一个较小的值(如2)。
当低秩矩阵L的秩r<<min(K,m)时,Kr+rm<<Km,即矩阵的低秩分解将会大大减少模型的参数量。对于矩阵乘法运算LX,其运算复杂度为O(KmHW),而U(VX)的运算复杂度为O(KrHW+rmHW),则当Kr+rm<<Km时,有O(KrHW+rmHW)<<O(KmHW)。所以矩阵的低秩分解不仅减少卷积神经网络参数量还降低了计算量。特别是,当矩阵的秩r=1时,参数量和计算量达到最小值。
由LX=U(VX)可以得到卷积层和全连接层对应的简化结构。针对卷积层,把U(VX)替换为卷积操作其中/>原本的一层卷积层将被分解为两层卷积层(如图2所示)。第一层卷积层V,其卷积核大小以及输入通道数和低秩矩阵L一样,分别为(d,d)和C,但输出通道数更小,为r;第二层为卷积层U,卷积核尺寸为(1,1),卷积核个数与低秩矩阵L一样,为K,输入通道数为r。对全连接层,原来的一层全连接被分解为两层较小的全连接层,其权重分别对应矩阵V和U(如图3所示)。在压缩过程中,秩r为超参数,用于权衡卷积神经网络精度和压缩率。
对于稀疏矩阵S,通过在损失函数中添加L1正则化来约束矩阵S的稀疏结构,即约束矩阵S的参数趋于0,通过训练得到稀疏的结构。
具体来说,将卷积神经网络参数的学习过程以及稀疏化过程将转化最小化损失函数的问题:
其中,f(W)为损失函数,l为网络层数,Wi、Si分别表示第i层的原始卷积矩阵和稀疏矩阵,Ui、Vi表示第i层的两个串行低秩矩阵,||*||1为L1范数,则||Si||1表示对稀疏矩阵Si施加L1范数约束。超参数λ用于平衡卷积神经网络精度与稀疏率之间的矛盾关系。λ越大,则稀疏矩阵Si越稀疏,压缩效率越高,但可能导致卷积神经网络性能下降。
结合低秩与稀疏分解,本发明将原始卷积神经网络的卷积层与全连接层分别转化为对应的分解结构(如图4,图5),利用带稀疏约束的损失函数进行训练。
对于卷积神经网络,位于低层次的卷积层,面对的是底层特征,产生的特征图将会包含大部分的输入图片信息。而随着特征自下而上的传播,高层次的卷积层接收到的信息更多是降采样后的抽象化特征,是对底层特征的多次组合和压缩。所以,一般来说,卷积神经网络中低层次网络层参数比较紧凑,隐含着更多特征信息,而高层次参数则更为稀疏。如果对全部网络层使用一个全局稀疏率虽然方便但又很难实现较高的压缩率。最好的选择是根据每一层网络层的冗余度选择不同的稀疏率,但是手动设置每一层网络层的稀疏率不仅过程繁琐且很难调至最优。
基于上述考虑,本发明提出基于每个网络层稀疏矩阵S的参数能量统计分布自适应地选择稀疏率。对重要性低的网络层使用高的稀疏率,重要性高的网络层使用低的稀疏率,这可以较好的权衡模型精度和压缩率之间的矛盾,在不丢失模型精度的同时提高网络的压缩率。这个基于能量的剪枝准则实际上是基于量级的剪枝准则的一种变体,但与之不同的是,它可以自动学习每一层网络层的最佳剪枝比例。
对于某个特定的网络层,为方便定义稀疏矩阵S的总能量,本发明将稀疏矩阵S变换成稀疏向量s(只是进行简单的维数变化,参数不改变)。本发明定义稀疏向量s的总能量如下:
E(s)=∑i|si|
剪枝后的矩阵在参数尽可能少的情况下保持大部分能量。假设按能量比α剪枝稀疏向量s,即保留能量值αE(s),则剪枝问题表示为寻找索引的最优子集的优化问题,即:
card(I)表示集合I的元素个数。|si|表示稀疏向量s第i个元素的绝对值。
这个优化问题的求解过程为:将稀疏向量s的参数能量从大到小排序,然后一个接一个添加参数能量值,直到总和大于αE(s)。求和过程中添加的最后一个通道的索引是目标值,用k表示,然后通过保持k个最大能量的参数不变并将剩余的参数值置为0,以此剪枝稀疏向量s。本发明利用能量比作为剪枝准则,自动确定稀疏率,不需要手动一层一层地设置稀疏率。
在卷积神经网络的后处理阶段,基于稀疏向量s的能量比分布,移除稀疏向量s中能量低的参数,再转变稀疏向量s维数到稀疏矩阵S,获得最终真正意义上的稀疏矩阵。当压缩率较低时,本发明所提的低秩与稀疏压缩框架不需要重训练便可获得与原始网络相当的表现;而当压缩率较高时,也只需要简单的微调就能重获卷积神经网络精度。
本发明低秩与稀疏分解的轻量化卷积神经网络的结构及其训练与剪枝过程具体如图6所示。
下面分别基于卷积神经网络VGG-19和卷积神经网络ResNet-56对本发明方法进行实验验证。
实施例1
本实施例在常用数据集CIFAR-10上对卷积神经网络VGG-19进行压缩,并验证压缩后的轻量化网络对图像识别的精度。针对本实施例,全连接层的低秩矩阵分量作用不明显,这里对全连接层仅采用稀疏约束。实验对比结果如表1,其中Slimming来自文献1(详见:LiuZ,Li J,Shen Z,et al.Learning Efficient Convolutional Networks through NetworkSlimming[J].Proceedings of the IEEE International Conference on ComputerVision,2017:2755-2763.),DCP、DCP-Adapt来自文献2(详见:Zhuang Z,Tan M,Zhuang B,et al.Discrimination-aware channel pruning for deep neural networks[C].Advances in Neural Information Processing Systems,2018:875-886.)。
表1、2中,压缩率=(剪枝后网络模型的参数量/原始网络模型的参数量)*100%,“剪枝后精度”表示经过低秩与稀疏分解、约束、剪枝后的压缩网络的精度,“微调后精度”表示经过微调后的压缩网络的精度。
本实施的其他超参数设置为:λ=2e-6,r=1。
表1
由表1可得,本发明的低秩与稀疏压缩框架可以将VGG-19的参数量压缩到原卷积神经网络的5.11%,而低秩与稀疏分解的轻量化卷积神经网络的精度损失可忽略不计,再加以微调,低秩与稀疏分解的轻量化卷积神经网络将高于原始卷积神经网络的精度。
实施例2
本实施例在常用数据集CIFAR-10上对卷积神经网络ResNet-56进行压缩,并验证压缩后的轻量化卷积神经网络对图像识别的精度。针对本实施例,全连接层的低秩矩阵分量作用不明显,这里对全连接层仅采用稀疏约束。实施例2的参数设置如实施例1。实验结果如表2。
表2
本发明(α=0.9) | 本发明(α=0.7) | Slimming[1] | DCP[2] | DCP-Adapt[2] | |
压缩率 | 49.75% | 29.78% | 40.08% | 50.33% | 86.73% |
剪枝后精度 | 93.20% | 85.64% | 11.46% | 88.29% | 88.75% |
微调后精度 | 94.00% | 93.89% | 91.31% | 92.87% | 93.28% |
由表2可得,本发明的低秩与稀疏框架可以将ResNe-56的参数量压缩到原卷积神经网络的49.75%,而低秩与稀疏分解的轻量化卷积神经网络图像识别的精度损失可忽略不计,再加以微调,低秩与稀疏分解的轻量化卷积神经网络图像识别的精度将高于原始卷积神经网络的精度。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法,其特征在于,包括:
对原始图像进行预处理,得到预处理后的图像;
对卷积神经网络进行低秩与稀疏分解、训练与剪枝,构建低秩与稀疏分解的轻量化卷积神经网络;
基于低秩与稀疏分解的轻量化卷积神经网络对预处理后的图像进行图像识别,包括:
先对涉及到的符号进行约定,统一使用大写手写体字母表示张量,大写斜体字母表示二维矩阵;对于任一卷积层,卷积层输入特征图卷积矩阵/>其中,C为输入通道数,H和W为输入特征图尺寸,K为卷积核个数,d为卷积核大小,/>为全体实数的集合;通过将特征图/>和卷积矩阵/>的卷积核向量化,将输入和权重表示为矩阵/> 和/>卷积运算转化为乘法运算;使用/>表示卷积层和全连接层权重矩阵,当W表示全连接层时,m为输出神经元个数,当其表示卷积矩阵时,m=Cd2;
具体地,将预处理后的图像输入到低秩与稀疏分解的轻量化卷积神经网络中;
低秩与稀疏分解的轻量化卷积神经网络的第一层网络层提取的是图像的具体特征,为了保持低秩与稀疏分解的轻量化卷积神经网络的图像识别精度,不对第一层卷积层进行压缩分解,所以,在第一层,输入图像只进行一次卷积操作;对于第二层及之后的卷积层,将原本的一个d×d的卷积层分解为两个支路,分别为低秩支路和稀疏支路,上一层的输出特征图分别输入这两个支路;对于低秩支路,输入与低秩卷积核/>卷积,输出/> 再与低秩卷积核/>卷积,输出/>对于稀疏支路,输入/>与稀疏卷积核/>卷积,输出/>应注意的是,低秩与稀疏分解的轻量化卷积神经网络的稀疏卷积核/>中大部分参数为0;最后,将两个支路的输出/>和/>相加,得到该层的输出特征图/>特征图逐层经过低秩与稀疏分解模块的层级传播以及非线性层的处理,压缩的轻量化卷积神经网络最终输出特征图是一个从输入图像提取特征的过程;最后,将压缩的轻量化卷积神经网络提取到的特征/>输入稀疏全连接层和softmax分类器,得到最终的图像识别结果。
2.根据权利要求1所述的图像识别方法,其特征在于,低秩与稀疏分解的轻量化卷积神经网络的构建过程包括:
①、在结构设计阶段,将权重矩阵分解为低秩矩阵和稀疏矩阵的和,并将低秩矩阵根据秩的大小分解为两个小矩阵的乘积;
②、在训练阶段,在损失函数中添加正则化项对稀疏矩阵进行约束;
③、在后处理阶段,根据稀疏矩阵的能量分布删除不重要参数。
3.根据权利要求2所述的图像识别方法,其特征在于,将低秩与稀疏分解的轻量化卷积神经网络的卷积层和全连接层分别分解成两条并行支路,两条并行支路的权重矩阵分别为低秩矩阵和稀疏矩阵。
4.根据权利要求2所述的图像识别方法,其特征在于,通过调整低秩矩阵的秩的取值,实现低秩与稀疏分解的轻量化卷积神经网络精度和压缩率的平衡。
5.根据权利要求4所述的图像识别方法,其特征在于,低秩矩阵的秩越小,则低秩分解后的总参数量越少。
6.根据权利要求2所述的图像识别方法,其特征在于,在训练阶段,对稀疏矩阵的参数进行约束,不重要的参数被约束为接近0的数,得到约束后的稀疏矩阵。
7.根据权利要求6所述的图像识别方法,其特征在于,后处理阶段还包括:对约束后的稀疏矩阵进行剪枝,即将接近于0的参数置为0。
8.根据权利要求7所述的图像识别方法,其特征在于,利用能量比作为剪枝准则,自动确定稀疏率。
9.根据权利要求2所述的图像识别方法,其特征在于,低秩与稀疏分解的轻量化卷积神经网络构建过程还包括:对低秩与稀疏分解的轻量化卷积神经网络进行微调。
10.根据权利要求9所述的图像识别方法,其特征在于,微调只针对稀疏矩阵进行微调,或对低秩与稀疏分解的轻量化卷积神经网络的部分或全部参数进行微调。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911079625.0A CN111079781B (zh) | 2019-11-07 | 2019-11-07 | 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911079625.0A CN111079781B (zh) | 2019-11-07 | 2019-11-07 | 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111079781A CN111079781A (zh) | 2020-04-28 |
CN111079781B true CN111079781B (zh) | 2023-06-23 |
Family
ID=70310717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911079625.0A Active CN111079781B (zh) | 2019-11-07 | 2019-11-07 | 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111079781B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111667399B (zh) * | 2020-05-14 | 2023-08-25 | 华为技术有限公司 | 风格迁移模型的训练方法、视频风格迁移的方法以及装置 |
CN111612144B (zh) * | 2020-05-22 | 2021-06-15 | 深圳金三立视频科技股份有限公司 | 一种应用于目标检测的剪枝方法及终端 |
CN111985641B (zh) * | 2020-07-20 | 2024-02-13 | 华南理工大学 | 一种基于低秩重构的神经网络训练方法 |
CN111931914A (zh) * | 2020-08-10 | 2020-11-13 | 北京计算机技术及应用研究所 | 一种基于模型微调的卷积神经网络通道剪枝方法 |
CN112613559B (zh) * | 2020-12-23 | 2023-04-07 | 电子科技大学 | 基于相互学习的图卷积神经网络节点分类方法、存储介质和终端 |
CN112288046B (zh) * | 2020-12-24 | 2021-03-26 | 浙江大学 | 一种用于神经网络的基于混合粒度的联合稀疏方法 |
CN113033309B (zh) * | 2021-02-25 | 2023-12-19 | 北京化工大学 | 一种基于信号下采样及一维卷积神经网络的故障诊断方法 |
CN113033318B (zh) * | 2021-03-01 | 2023-09-26 | 深圳大学 | 人体动作的检测方法、装置及计算机可读存储介质 |
CN113095356B (zh) * | 2021-03-03 | 2023-10-31 | 北京邮电大学 | 一种轻量型神经网络***及图像处理方法及装置 |
CN113052258B (zh) * | 2021-04-13 | 2024-05-31 | 南京大学 | 基于中间层特征图压缩的卷积方法、模型及计算机设备 |
CN113420651B (zh) * | 2021-06-22 | 2023-05-05 | 四川九洲电器集团有限责任公司 | 深度卷积神经网络的轻量化方法、***及目标检测方法 |
CN113920469A (zh) * | 2021-09-15 | 2022-01-11 | 国网浙江省电力有限公司电力科学研究院 | 一种安全帽佩戴检测方法 |
CN114970853A (zh) * | 2022-03-16 | 2022-08-30 | 华南理工大学 | 一种跨范围量化的卷积神经网络压缩方法 |
CN117540774A (zh) * | 2022-07-28 | 2024-02-09 | 华为技术有限公司 | 数据处理方法及装置 |
CN116503671B (zh) * | 2023-06-25 | 2023-08-29 | 电子科技大学 | 基于有效秩张量近似的残差网络压缩的图像分类方法 |
CN117351299A (zh) * | 2023-09-13 | 2024-01-05 | 北京百度网讯科技有限公司 | 图像生成及模型训练方法、装置、设备和存储介质 |
CN117033641A (zh) * | 2023-10-07 | 2023-11-10 | 江苏微皓智能科技有限公司 | 一种大型预训练语言模型的网络结构优化微调方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919942A (zh) * | 2017-01-18 | 2017-07-04 | 华南理工大学 | 用于手写汉字识别的深度卷积神经网络的加速压缩方法 |
CN109460788A (zh) * | 2018-10-29 | 2019-03-12 | 西安电子科技大学 | 基于低秩-稀疏信息组合网络的高光谱图像分类方法 |
-
2019
- 2019-11-07 CN CN201911079625.0A patent/CN111079781B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919942A (zh) * | 2017-01-18 | 2017-07-04 | 华南理工大学 | 用于手写汉字识别的深度卷积神经网络的加速压缩方法 |
CN109460788A (zh) * | 2018-10-29 | 2019-03-12 | 西安电子科技大学 | 基于低秩-稀疏信息组合网络的高光谱图像分类方法 |
Non-Patent Citations (1)
Title |
---|
郭锴凌.低秩分解及其在计算机视觉中的应用.《中国博士学位论文全文数据库》.2018,第I138-77页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111079781A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079781B (zh) | 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 | |
Liu et al. | Frequency-domain dynamic pruning for convolutional neural networks | |
CN110852439B (zh) | 数据处理方法及装置、存储介质 | |
CN107516129B (zh) | 基于维度自适应的Tucker分解的深度网络压缩方法 | |
CN110659725B (zh) | 神经网络模型的压缩与加速方法、数据处理方法及装置 | |
CN111461322B (zh) | 一种深度神经网络模型压缩方法 | |
CN113159173B (zh) | 一种结合剪枝与知识蒸馏的卷积神经网络模型压缩方法 | |
Tang et al. | Automatic sparse connectivity learning for neural networks | |
CN110751265A (zh) | 一种轻量型神经网络构建方法、***及电子设备 | |
CN112613610B (zh) | 一种基于联合动态剪枝的深度神经网络压缩方法 | |
CN111160524A (zh) | 一种两阶段的卷积神经网络模型压缩方法 | |
CN114970853A (zh) | 一种跨范围量化的卷积神经网络压缩方法 | |
CN111461978A (zh) | 一种基于注意力机制的逐分辨率提升图像超分辨率复原方法 | |
Liu et al. | Computation-performance optimization of convolutional neural networks with redundant kernel removal | |
CN113837376A (zh) | 基于动态编码卷积核融合的神经网络剪枝方法 | |
CN115797835A (zh) | 一种基于异构Transformer的无监督视频目标分割算法 | |
CN114943335A (zh) | 一种三值神经网络逐层优化方法 | |
Alnemari et al. | Efficient deep neural networks for edge computing | |
CN117151178A (zh) | 一种面向fpga的cnn定制网络量化加速方法 | |
CN114677545B (zh) | 一种基于相似性剪枝和高效模块的轻量化图像分类方法 | |
Parajuli et al. | Generalized ternary connect: end-to-end learning and compression of multiplication-free deep neural networks | |
Chai et al. | Low precision neural networks using subband decomposition | |
CN111614358B (zh) | 基于分通道量化的特征提取方法、***、设备及存储介质 | |
Zhen et al. | A Secure and Effective Energy-Aware Fixed-Point Quantization Scheme for Asynchronous Federated Learning. | |
CN113570037A (zh) | 神经网络压缩方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |