技术领域
本发明属于图像处理与识别技术领域,尤其涉及一种基于卷积核形状自动学习的图像分类网络压缩方法。
背景技术
图像分类与识别是机器视觉领域中的一个重要课题,早期的图像识别方法主要依赖人工提取特征,其准确性较低且对不同场景的适用性有限。随着深度学习方法的出现,卷积神经网络在图像识别、目标检测等机器视觉领域取得了巨大的成就,深层神经网络能够有效地提取到图像中的高级语义特征,已经能够达到超越人类的识别能力。
但是在网络性能提高的同时,网络结构也越来越复杂,对计算设备存储能力和运算能力的要求也越来越高,限制了其在资源受限的移动设备中的应用和发展。大规模的神经网络模型内部往往具有较大的冗余性,并不是所有的参数都对网络性能起到有效作用,过多的参数反而会导致网络收敛慢、参数过拟合等问题。为了便于神经网络的部署和应用,神经网络压缩方法越来越受到重视。
参数剪枝是一种有效的神经网络压缩方法,通过剪裁掉网络中冗余或不重要的参数,达到减小模型复杂度的效果。韦越,陈世超,朱凤华等(《基于稀疏卷积神经网络的模型剪枝方法》,计算机工程.DOI.https://doi.org/10.19678/j.issn.1000-3428.0059375)提出了一种基于稀疏卷积神经网络的模型剪枝算法,在训练过程中对卷积层和BatchNormalization(BN)层施加稀疏化正则约束,使网络权重变得稀疏,进而设定剪枝阈值,剪裁掉网络中重要性比较低的滤波器通道,并通过微调训练恢复模型的准确率,从而达到卷积神经网络压缩的目的。这种方法属于结构化剪枝方法,并且以卷积通道为最小的单元进行剪枝,但是不能去除卷积核内部的冗余参数。如果要达到更高的压缩率,则需要采用更小的剪枝单元。
发明内容
要解决的技术问题
已有的卷积神经网络稀疏化剪枝方法对整个卷积通道进行稀疏化训练,不能消除卷积核内部的冗余参数,导致网络模型压缩率较低,从而影响最终的图像分类准确率。本发明提出了一种基于卷积核形状自动学习的图像分类网络压缩方法。
技术方案
一种基于卷积核形状自动学习的图像分类网络压缩方法,其特征在于步骤如下:
步骤1:搭建用于图像分类的卷积神经网络;
步骤2:对传统卷积过程引入系数矩阵F,并在损失函数中加入权重稀疏化正则项
式中,λ
在网络训练过程中求取这三项损失函数关于系数矩阵中各项f
步骤3:根据预期需要达到的模型压缩率设定阈值,将低于该阈值的f
步骤4:使用自动学习得到的具有稀疏形状的卷积核替换原有的常规卷积核,重新进行网络训练,得到最终的图像分类神经网络模型。
优选地:步骤1中的卷积神经网络为VGG。
优选地:步骤1中的卷积神经网络为ResNet。
有益效果
本发明提出的一种基于卷积核形状自动学习的图像分类网络压缩方法,通过对常规卷积核中各位置的参数施加多项稀疏化正则约束,在网络训练过程中使卷积核内部参数稀疏化,根据压缩率设定剪裁阈值即可得到自动学习的卷积核形状,从而能够有效地消除卷积核内部的冗余参数。将其应用于图像分类任务,能够在保证分类准确率的同时进一步提高网络模型的压缩率,减小模型的参数量和计算量,便于在资源受限的移动设备中进行部署应用。
本发明所设计的基于卷积核形状自动学习的图像分类网络压缩方法能够在网络训练过程中自动学习各卷积层的卷积核形状,使卷积核的感受也与网络深度相适应,同时消除卷积核内部的冗余参数,达到良好的网络压缩效果。
本发明所提出的卷积核形状自动学习方法为高效网络结构设计提供了新的思路,将卷积核形状加入神经结构搜索(NAS)的搜索空间中,能够得到更大的搜索空间,从而提取到更加丰富的目标特征,有利于提升网络的性能。
本发明所设计的基于卷积核形状自动学习的图像分类网络压缩方法能够有效地压缩神经网络卷积层中的参数量,如在不降低准确率的前提下能够减少VGG-16网络59.07%的参数量和51.91%的计算量,便于将图像分类网络部署于终端移动设备。
本发明所提出的基于卷积核形状自动学习的图像分类网络压缩方法能够减少卷积层中的冗余参数,从而减小图像分类网络的过拟合风险,有利于提高网络的分类准确率,如在压缩VGG-16网络的同时能够提高0.72%的分类准确率。
附图说明
图1是引入卷积核系数矩阵的卷积计算过程图。
图2是3×3卷积核各参数编号及分组划分图。
图3是卷积核形状自动学习流程图。
图4是使用VGG-16网络在CIFAR-10数据集上自动学习得到的各卷积层的卷积核形状。
具体实施方式
现结合实施例、附图对本发明作进一步描述:
本发明提出一种基于卷积核形状自动学习的图像分类网络压缩方法,卷积核形状自动学习流程如图3所示。下面结合图像分类实例说明本发明的具体实施方式,但本发明的技术内容不限于所述的范围,具体实施方式包括以下步骤:
(1)搭建用于图像分类的卷积神经网络,构建具有大量训练样本及标签的图像数据集。
(2)对于神经网络中卷积层,常规卷积核的卷积计算过程为:
Y=X*w
式中,
将n个输出通道的卷积核平均分为d组,则每组中均包含n/d个卷积通道。为了能够对卷积核内部参数进行稀疏化,引入系数矩阵
Y=X*(F⊙w)
式中,⊙为逐点相乘运算。整个计算过程参考图1。
常规卷积神经网络训练过程中的损失函数为:
式中,
对传统卷积过程引入系数矩阵F,并在损失函数中加入权重稀疏化正则项
为了达到自动学习卷积核形状的目的,对系数矩阵F施加稀疏化正则约束,损失函数为:
式中,
下面分别构造各正则项。以3×3卷积核为例,对卷积核中的9个参数进行编号,并划分为角(G
1)
式中,k
g(·)为正则化范数,如采用L
在训练过程中,由于
式中,sgn(·)是符号函数。
2)
对G
根据链式求导法则,
式中,
3)
式中,F
对d个组中各F
式中,
根据链式求导法则,
式中,
(3)利用(2)中的损失函数对(1)中的系数矩阵F进行稀疏化训练,训练完成后得到稀疏化的F,设定剪裁阈值,将低于该阈值的f
(4)使用自动学习得到的具有稀疏形状的卷积核替换原有的常规卷积核,重新进行网络训练,得到最终的神经网络模型。该模型的网络参数和计算量均低于原始模型,能够在保证正确分类结果的同时达到网络压缩的效果。
基于上述卷积核形状自动学习的方法,可以得到适配各卷积层的卷积核形状,并且能够有效去除卷积核内部的冗余参数,达到模型压缩的目的。
图4是VGG-16网络在CIFAR-10数据集上自动学习得到的各卷积层的卷积核形状,在学习过程中选取了d=2,即每个卷积层n个输出通道的卷积核平均分为2组,剪裁时去掉了网络中60%的参数。最左侧一列(方案一)是仅添加了稀疏化正则项
表1为采用本发明的压缩结果,原始VGG-16模型包含15.0M参数和314M计算量,在CIFAR-10上的准确率为93.45%;采用传统的结构化剪枝方法得到的模型参数量为5.4M,计算量为206M,准确率下降为93.40%;采用本发明的卷积核形状自动学习方法,添加各项正则约束能够在压缩网络的同时提高模型的准确率,说明各项约束能够对压缩结果起到有益作用,最终所得模型(方案四)的参数量为6.14M,计算量为151M,准确率提高为94.17%。
表1本发明网络压缩结果表
机译: 一种用于自动标记培训图像的方法,用于学习分析高精度图像的深度学习网络,以及使用该训练图像的自动标记设备,用于在深度学习网络TOAL图像中使用的自动标记训练图像使用Samem的高精度和自动标记设备}
机译: 一种用于自动标记训练图像以用于学习深度学习网络以分析高精度图像的方法,以及一种使用训练图像的自动标记装置。具有相同精度和自动标记设备的高精度图像}
机译: 一种用于医学图像分类的神经网络机器学习模型的开发方法