一种基于模型剪枝的轻量化图像分类方法、系统及设备转让专利

申请号 : CN202011553183.1

文献号 : CN112668630B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈靓影徐如意杨宗凯柏宝

申请人 : 华中师范大学

摘要 :

本发明公开了一种基于模型剪枝的轻量化图像分类方法、系统及设备。该方法包括步骤:计算互信息评价通道的重要性;根据通道的重要性排序并分组;根据分组设置注意力正则化损失函数并优化模型;剪枝不重要的通道;再次优化模型,恢复模型的精度。本发明对深度神经网络的压缩效果明显,在降低大型深度网络模型的存储和计算消耗的同时,也减少了由于剪枝带来的精度损失,可以更好地应用于移动端设备进行图像分类。

权利要求 :

1.一种基于模型剪枝的轻量化图像分类方法,其特征在于,包括步骤:获取训练集,将所述训练集输入到卷积神经网络中,通过预先训练获得图像分类模型;

获取评价集,所述评价集中的评价样本被标记有样本标签,将所述评价集输入到所述图像分类模型,获取所述图像分类模型的每个卷积层的每个通道输出的提取特征,根据所述图像分类模型的每个卷积层的每个通道的提取特征与样本标签的互信息计算所述图像分类模型的每个卷积层的每个通道的重要性指标;

根据所述重要性指标对所述图像分类模型的卷积层的通道进行剪枝,利用剪枝后的所述图像分类模型进行图像分类;

所述根据所述重要性指标对所述图像分类模型的卷积层的通道进行剪枝包括步骤:根据所述重要性指标和预设的剪枝比例,将所述图像分类模型的同一卷积层的通道分为保留组和冗余组;

对所述图像分类模型的每个卷积层的每个通道在输出时引入尺度因子,使得所述图像分类模型的每个卷积层的每个通道的提取特征乘以该通道对应的尺度因子后再输入到下一卷积层;

根据每个卷积层的通道分组以及尺度因子计算每个卷积层的注意力正则化函数,根据所述注意力正则化函数和预先训练所述图像分类模型的原损失函数构建新的总损失函数,利用所述总损失函数再次对所述图像分类模型的参数进行优化;

将所述图像分类模型的每个卷积层的属于冗余组的通道移除;

利用所述原损失函数对剪枝后的所述图像分类模型的参数再次进行优化;

所述重要性指标的计算包括步骤:所述评价集的评价样本记为xi,xi∈S,i=1,…,N,N表示所述评价集中评价样本的个数,所述图像分类模型的卷积层的个数记为L,所述图像分类模型的每个卷积层的通道数为Cl,l=1,…,L,所述图像分类模型的第l层输出的提取特征记为Fl;

将特征Fl输入一个全局平均池化层,得到第l个卷积层Cl个通道输出的提取特征重复N次,得到N个评价样本在第l个卷积层Cl个通道输出的提取特征集合 将所述评价集的评价样本的样本标签记为yi,样本标签集合记为Y,Y={y1,…,yN};

计算 在集合 中出现的概率 表示出现的次数,计算yi在Y中出现的概率 为两者的联合分布概率,则得到第l个卷积层第k个通道的重要性指标 的计算方法为:

2.如权利要求1所述的一种基于模型剪枝的轻量化图像分类方法,其特征在于,所述分为保留组和冗余组包括步骤:

根据所述重要性指标从大到小,对所述图像分类模型的同一个卷积层中的通道进行排序,为第k个通道赋予顺序索引J(k);

按照所述剪枝比例将所述图像分类模型的同一个卷积层的通道分为保留组和冗余组,保留组表示为GH={k|J(k)≤βCl},冗余组表示为GL={k|J(k)>βCl},其中β为所述剪枝比例。

3.如权利要求2所述的一种基于模型剪枝的轻量化图像分类方法,其特征在于,所述注意力正则化函数为: 其中,

δ为预设的参数。

4.如权利要求3所述的一种基于模型剪枝的轻量化图像分类方法,其特征在于,所述总损失函数为: 其中 为预先训练所述图像分类模型的交叉熵损失函数。

5.如权利要求1所述的一种基于模型剪枝的轻量化图像分类方法,其特征在于,所述图像分类模型的输入为32*32位的图像。

6.如权利要求1所述的一种基于模型剪枝的轻量化图像分类方法,其特征在于,将所述图像分类模型部署在移动终端上。

7.一种基于模型剪枝的轻量化图像分类系统,其特征在于,包括:预训练模块,用于获取训练集,将所述训练集输入到卷积神经网络中,通过预先训练获得图像分类模型;

互信息计算模块,用于获取评价集,所述评价集中的评价样本被标记有样本标签,将所述评价集输入到所述图像分类模型,获取所述图像分类模型的每个卷积层的每个通道输出的提取特征,根据所述图像分类模型的每个卷积层的每个通道的提取特征与样本标签的互信息计算所述图像分类模型的每个卷积层的每个通道的重要性指标;

剪枝模块,用于根据所述重要性指标对所述图像分类模型的卷积层的通道进行剪枝,利用剪枝后的所述图像分类模型进行图像分类;

所述根据所述重要性指标对所述图像分类模型的卷积层的通道进行剪枝包括步骤:根据所述重要性指标和预设的剪枝比例,将所述图像分类模型的同一卷积层的通道分为保留组和冗余组;

对所述图像分类模型的每个卷积层的每个通道在输出时引入尺度因子,使得所述图像分类模型的每个卷积层的每个通道的提取特征乘以该通道对应的尺度因子后再输入到下一卷积层;

根据每个卷积层的通道分组以及尺度因子计算每个卷积层的注意力正则化函数,根据所述注意力正则化函数和预先训练所述图像分类模型的原损失函数构建新的总损失函数,利用所述总损失函数再次对所述图像分类模型的参数进行优化;

将所述图像分类模型的每个卷积层的属于冗余组的通道移除;

利用所述原损失函数对剪枝后的所述图像分类模型的参数再次进行优化;

所述重要性指标的计算包括步骤:所述评价集的评价样本记为xi,xi∈S,i=1,…,N,N表示所述评价集中评价样本的个数,所述图像分类模型的卷积层的个数记为L,所述图像分类模型的每个卷积层的通道数为Cl,l=1,…,L,所述图像分类模型的第l层输出的提取特征记为Fl;

将特征Fl输入一个全局平均池化层,得到第l个卷积层Cl个通道输出的提取特征重复N次,得到N个评价样本在第l个卷积层Cl个通道输出的提取特征集合 将所述评价集的评价样本的样本标签记为yi,样本标签集合记为Y,Y={y1,…,yN};

计算 在集合 中出现的概率 表示出现的次数,计算yi在Y中出现的概率 为两者的联合分布概率,则得到第l个卷积层第k个通道的重要性指标 的计算方法为:

8.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。

说明书 :

一种基于模型剪枝的轻量化图像分类方法、系统及设备

技术领域

[0001] 本发明属于计算机视觉和深度学习技术领域,更具体地,涉及一种基于模型剪枝的轻量化图像分类方法、系统及设备。

背景技术

[0002] 近年来深度卷积神经网络以其良好的性能在计算机视觉等机器学习领域得到广泛应用。为了提升深度卷积神经网络在图像分类的性能,常采用极深的网络结构,即含有大
量的卷积层级联而成,这导致深度神经网络模型中参数量巨大,需要消耗大量的计算和存
储资源,这限制了其在智能移动终端等边缘设备的部署与应用。
[0003] 为了解决这一问题,一个有效的解决方案是使用轻量化的神经网络模型,即对卷积层中不重要的特征通道进行剪枝,使得模型参数大量减少的同时仍然保持模型原有的性
能。一种现有的方法提出基于信息熵裁剪卷积通道的方法,利用信息熵来排序卷积通道的
重要性,进而删减掉不重要的卷积通道达到压缩的目的。但是,信息熵仅能度量特征通道提
取特征所含的信息量,不能度量所提特征与分类任务之间的相关性。此外,这种方法虽然可
以很好地压缩卷积神经网络,但是却不能很好地避免因为剪枝造成的精度损失。

发明内容

[0004] 针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于模型剪枝的轻量化图像分类方法、系统及设备,利用互信息进行深度神经网络模型的剪枝,使得剪枝后模
型的图像分类性能更好。
[0005] 为实现上述目的,按照本发明的第一方面,提供了一种基于模型剪枝的轻量化图像分类方法,包括步骤:
[0006] 获取训练集,将所述训练集输入到卷积神经网络中,通过预先训练获得图像分类模型;
[0007] 获取评价集,所述评价集中的评价样本被标记有样本标签,将所述评价集输入到所述图像分类模型,获取所述图像分类模型的每个卷积层的每个通道输出的提取特征,根
据所述图像分类模型的每个卷积层的每个通道的提取特征与样本标签的互信息计算所述
图像分类模型的每个卷积层的每个通道的重要性指标;
[0008] 根据所述重要性指标对所述图像分类模型的卷积层的通道进行剪枝,利用剪枝后的所述图像分类模型进行图像分类。
[0009] 优选的,所述根据所述重要性指标对所述图像分类模型的卷积层的通道进行剪枝包括步骤:
[0010] 根据所述重要性指标和预设的剪枝比例,将所述图像分类模型的同一卷积层的通道分为保留组和冗余组;
[0011] 对所述图像分类模型的每个卷积层的每个通道在输出时引入尺度因子,使得所述图像分类模型的每个卷积层的每个通道的提取特征乘以该通道对应的尺度因子后再输入
到下一卷积层;
[0012] 根据每个卷积层的通道分组以及尺度因子计算每个卷积层的注意力正则化函数,根据所述注意力正则化函数和预先训练所述图像分类模型的原损失函数构建新的总损失
函数,利用所述总损失函数再次对所述图像分类模型的参数进行优化;
[0013] 将所述图像分类模型的每个卷积层的属于冗余组的通道移除;
[0014] 利用所述原损失函数对剪枝后的所述图像分类模型的参数再次进行优化。
[0015] 优选的,所述重要性指标的计算包括步骤:
[0016] 所述评价集的评价样本记为xi,xi∈S,i=1,…,N,N表示所述评价集中评价样本的个数,所述图像分类模型的卷积层的个数记为L,所述图像分类模型的每个卷积层的通道数
为Cl,l=1,…,L,所述图像分类模型的第l层输出的提取特征记为Fl;
[0017] 将特征Fl输入一个全局平均池化层,得到第l个卷积层Cl个通道输出的提取特征重复N次,得到N个评价样本在第l个卷积层Cl个通道输出的提取特
征集合 将所述评价集的评价样本的样本标签记为yi,样本标签
集合记为Y,Y={y1,…,yN};
[0018] 计算 在集合 中出现的概率 表示出现的次数,计算yi在Y中出现的概率 为两者的联合
分布概率,则得到第l个卷积层第k个通道的重要性指标 的计算方法为:
[0019]
[0020] 优选的,所述分为保留组和冗余组包括步骤:
[0021] 根据所述重要性指标从大到小,对所述图像分类模型的同一个卷积层中的通道进行排序,为第k个通道赋予顺序索引J(k);
[0022] 按照所述剪枝比例将所述图像分类模型的同一个卷积层的通道分为保留组和冗余组,保留组表示为GH={k|J(k)≤βCl},冗余组表示为GL={k|J(k)>Cl},其中β为所述剪枝
比例。
[0023] 优选的,所述注意力正则化函数为: 其中,δ为预设的参数。
[0024] 优选的,所述总损失函数为: 其中 为预先训练所述图像分类模型的交叉熵损失函数。
[0025] 优选的,所述图像分类模型的输入为32*32位的图像。
[0026] 优选的,将所述图像分类模型部署在移动终端上。
[0027] 按照本发明的第二方面,提供了一种基于模型剪枝的轻量化图像分类系统,包括:
[0028] 预训练模块,用于获取训练集,将所述训练集输入到卷积神经网络中,通过预先训练获得图像分类模型;
[0029] 互信息计算模块,用于获取评价集,所述评价集中的评价样本被标记有样本标签,将所述评价集输入到所述图像分类模型,获取所述图像分类模型的每个卷积层的每个通道
输出的提取特征,根据所述图像分类模型的每个卷积层的每个通道的提取特征与样本标签
的互信息计算所述图像分类模型的每个卷积层的每个通道的重要性指标;
[0030] 剪枝模块,用于根据所述重要性指标对所述图像分类模型的卷积层的通道进行剪枝,利用剪枝后的所述图像分类模型进行图像分类。
[0031] 按照本发明的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步
骤。
[0032] 总体而言,本发明与现有技术相比,具有有益效果:
[0033] (1)不同于基于信息熵的方法,本发明采用互信息来评价各卷积层通道的重要性,所保留的卷积层具有更好的特征表示能力,剪枝后的模型具有轻量化优点的同时,对图像
分类的性能更好,可以更好地在智能移动终端等边缘设备部署与应用。
[0034] (2)本发明提出加入注意力正则化损失对模型进行优化,降低由于剪枝带来的图像分类精度损失,使得在大幅度压缩网络规模的同时,降低了网络的精度损失,进一步保证
了模型对图像分类任务的预测性能。

附图说明

[0035] 图1是本发明实施例的一种基于模型剪枝的轻量化图像分类方法的流程示意图。

具体实施方式

[0036] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不
用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼
此之间未构成冲突就可以相互组合。
[0037] 术语解释:
[0038] 卷积神经网络:卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。
[0039] 特征通道:通道的含义是每个卷积层中卷积核。
[0040] 互信息:互信息是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而
减少的不肯定性。
[0041] AlexNet:2012年,Alex等人提出的AlexNet网络在ImageNet大赛上以远超第二名的成绩夺冠,卷积神经网络乃至深度学习重新引起了广泛的关注。AlexNet具有更深的网络
结构,并使用Relu替换之前的sigmoid的作为激活函数,并采用多GPU训练,可以学习到更丰
富更高维的图像特征。
[0042] VGG16:VGG是Simonyan和Zisserman提出的卷积神经网络模型,该模型参加2014年的ImageNet图像分类与定位挑战赛,取得了优异成绩:在分类任务上排名第二,在定位任务
上排名第一。VGG16为其中结构的一种,具有13个卷积层,3个全链接层。
[0043] ResNet:ResNet由微软研究院的何恺明等人提出,通过使用残差学习训练出的一种卷积神经网络。传统神经网络在参数传递的过程中存在梯度消失或者梯度爆炸,导致无
法训练很深的网络。而ResNet以跳跃连接的方式通过旁路将输入直接连接到后面的层,从
而解决了这个问题。
[0044] 全局平均池化:将特征图所有像素值相加求平局,得到一个数值,即用该数值表示对应特征图。
[0045] 如图1所示,本发明实施例的一种基于模型剪枝的轻量化图像分类方法包括以下步骤:
[0046] (S1)预训练模型
[0047] 获取训练集,将训练集输入到卷积神经网络中,通过预先训练获得图像分类模型。图像分类模型优选为一个32位的全精度模型。
[0048] (S2)计算互信息评价通道的重要性
[0049] 通过步骤(S1)给定一个预训练好的图像分类模型,将评价集中的样本输入图像分类模型中,计算样本在不同卷积层每个通道提取的特征。对卷积神经网络中任意一层卷积
层,分别计算不同通道提取特征与样本标签之间的互信息作为当前层各通道的重要性指
标。对卷积神经网络的每一层,重复此步骤。
[0050] 进一步地,各通道的重要性指标的具体步骤如下:
[0051] (S21)评价集中任意一个样本xi∈S,i=1,…,N(N表示评价集中样本的个数)输入预训练好的图像分类模型,在卷积神经网络第l层的输出的特征为 其
中W和H分别表示输出特征的宽和高,Cl,l=1,…,L表示第l个卷积层的通道数,L表示卷积
神经网络含有的卷积层的总个数。
[0052] (S22)将特征Fl输入一个全局平均池化层,可得到一个特征向量表示第k个通道的特征,k=1,...,Cl。重复以上步骤N次,计算所有样本在第l层的特
征,得到第l个卷积层第k个通道的特征集合 特征向量对应的标
签为Y={y1,…,yN}。图像分类模型在每一个通道输出的是一个矩阵,利用全局平均池化将
这个矩阵转化为一个数值才能和标签的维度保持一致,才能继续计算互信息。
[0053] (S23)计算 与Y之间的互信息,求 在集合 中出现的概率表示 出现的次数;同理求yi在Y中出现的概率
为两者的联合分布概率,则互信息的计算方法为:
[0054]
[0055] 得到第l个卷积层第k个通道的重要性指标 重复该步骤L次,逐层计算得到每一层每一个通道的重要性指标。
[0056] 优选地,评价集的选取方法为从n分类的数据集中,在每一分类中随机选取m张图片,组成评价集S,mn=N。以cifar10为例,在数据集的十个类别中各随机选取500张图片组
成评价集。
[0057] 根据计算得到的重要性指标可以对图像分类模型的卷积层的通道进行剪枝,利用剪枝后的图像分类模型进行图像分类。根据重要性指标进行剪枝的优选实现方法如步骤S3
至S7所示。
[0058] (S3)根据通道的重要性排序并分组
[0059] 根据步骤(S2)计算的重要性指标,对同一个卷积层中的通道按从大到小进行排序。根据预设的剪枝比例将通道分为两组。对卷积神经网络的每一层,重复此步骤。
[0060] 进一步地,排序过程可表示为 即给k个通道赋予一个从大到小排列的顺序索引J(k)。
[0061] 进一步地,按预设的剪枝比例将通道分为两组可表示为,保留组GH={k|J(k)≤βCl}和冗余组GL={k|J(k)>Cl},其中β为剪枝比例。
[0062] (S4)根据分组设置注意力正则化损失函数并优化模型
[0063] 对每一个通道在输出时引入一个尺度因子,使得每一个通道提取的特征乘以该尺度因子后再输入卷积神经网络的下一层。按照步骤(S3)给出的分组,设置注意力正则化函
数,将该正则化函数加入到模型优化的总损失函数中,利用卷积神经网络模型优化算法对
模型中的参数进行优化。
[0064] 进一步地,尺度因子定义为 将其初始化为1,使得在模型优化开始前,该尺度因子不起任何作用。
[0065] 进一步地,注意力正则化函数为 其中,δ为预设的参数。优选地,δ=0.15。
[0066] 进一步地,总的损失函数 其中 为原优化任务的交叉熵损失函数,即得到预训练模型时所用的损失函数。
[0067] (S5)剪枝不重要的通道
[0068] 将每一层属于冗余组的通道从模型中移除。
[0069] (S6)再次优化模型,恢复模型的精度
[0070] 通过优化原任务的损失函数,微调保留通道中的参数,使模型因为剪枝而导致的模型性能下降得以恢复。
[0071] (S7)将测试集的样本输入步骤(S6)得到模型进行分类
[0072] 测试样本输入模型会输出样本属于每一类的概率,最大概率对应的类别为测试样本的分类结果。
[0073] 实例
[0074] 本实例在标准数据集CIFAR‑10上进行了实验。CIFAR‑10是一个图像分类数据集,所有的图像都是大小为32×32的三通道彩色图像,包含60000张图片,其中训练集的为
50000,验证集为10000。本实例在实验中所采用的深度神经网络是AlexNet、VGG16和残差网
络ResNet。
[0075] 为了清晰地看到压缩前和压缩后的变化,本实例先使用不同的卷积神经网络训练了全精度32位的模型。在压缩过程中,使用预训练好的32位模型作为量化模型的初始化。在
预训练和剪枝过程中,数据预处理都使用了数据增强的方法,在原32*32的图像边界上填补
0扩充为36*36的图像,再随机的裁剪为32*32的图像,然后随机左右翻转。
[0076] 表1加入注意力正则化的优化结果
[0077]
[0078] 表2剪枝后的结果
[0079]
[0080] 表3使用信息熵剪枝的结果
[0081]
[0082] 表1是在不同的卷积神经网络上加入注意力正则化的优化结果,可以发现经过优化后的网络在测试集上的表现要优于未经过优化的网络。从表2可以看到,本发明实施例提
出的剪枝方法能有效将深度神经网络模型进行剪枝,而模型的性能只有微弱的下降,表3为
采用信息熵剪枝的方法,可以发现在剪枝后的精确度上不如本发明的方法。
[0083] 本发明实施例的一种基于模型剪枝的轻量化图像分类系统,包括:
[0084] 预训练模块,用于获取训练集,将训练集输入到卷积神经网络中,通过预先训练获得图像分类模型;
[0085] 互信息计算模块,用于获取评价集,评价集中的评价样本被标记有样本标签,将评价集输入到图像分类模型,获取图像分类模型的每个卷积层的每个通道输出的提取特征,
根据所述图像分类模型的每个卷积层的每个通道的提取特征与样本标签的互信息计算所
述图像分类模型的每个卷积层的每个通道的重要性指标;
[0086] 剪枝模块,用于根据所述重要性指标对所述图像分类模型的卷积层的通道进行剪枝,利用剪枝后的所述图像分类模型进行图像分类。
[0087] 系统的实现原理、技术效果与上述方法类似,此处不再赘述。
[0088] 本实施例还提供了一种电子设备,其包括至少一个处理器、以及至少一个存储器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行上述方
法实施例中的步骤,此处不再赘述。本实施例中,处理器和存储器的类型不作具体限制,例
如:处理器可以是微处理器、数字信息处理器、片上可编程逻辑系统等;存储器可以是易失
性存储器、非易失性存储器或者它们的组合等。
[0089] 必须说明的是,上述任一实施例中,方法并不必然按照序号顺序依次执行,只要从执行逻辑中不能推定必然按某一顺序执行,则意味着可以以其他任何可能的顺序执行。
[0090] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含
在本发明的保护范围之内。