一种用于卷积神经网络的压缩算法制造技术

技术编号:19060847 阅读:30 留言:0更新日期:2018-09-29 12:58
本发明专利技术公开了一种用于卷积神经网络的压缩算法,步骤1:构建压缩标定模块;步骤2:将所述压缩标定模块嵌入到原始卷积神经网络中,构建带压缩标定的卷积神经网络;步骤3:对构建的所述带压缩标定的卷积神经网络进行训练,得到训练好的带压缩标定的卷积神经网络中每个卷积核的标定值;步骤4:将标定值小于阈值的卷积核裁剪掉,得到裁剪后的带压缩标定的卷积神经网络;对裁剪后的带压缩标定的卷积神经网络进行训练,得到第一压缩网络;步骤5:处理所述第一压缩网络,得到压缩后的卷积神经网络。本发明专利技术的方法利用卷积核之间的相互依赖关系,与现有的卷积神经网络压缩方法相比,本发明专利技术方法具有更高的压缩比和更低的精度损失。

【技术实现步骤摘要】
一种用于卷积神经网络的压缩算法
本专利技术属于数字图像处理领域,具体涉及一种用于卷积神经网络的压缩算法,可用于卷积神经网络模型的压缩。
技术介绍
卷积神经网络已经成为解决计算机视觉任务的较先进的技术。尽管如此,卷积神经网络算法中的卷积操作需要大量的计算资源和存储资源的支持,这使得它难以被部署到只有有限硬件资源的嵌入式终端处理系统上。为了解决该技术问题,可通过压缩卷积层的卷积核数量以显著减少神经网络所需要的计算和存储需求。在当前的卷积神经网络训练方式下,所训练好的模型中有严重的特征冗余,因而,在不损失精度的情况下对卷积层的卷积核数量进行压缩可减少卷积神经网络对计算存储资源的需求。现有的卷积神经网络压缩方法主要有两大类,一是通过观察卷积层的数值大小进行的,如果某个特征通道中0的数量较多,则认为该特征通道是冗余的,从而删除此通道以节省计算时间和存储空间;二是通过观察卷积核在网络的作用,如果将某个卷积核裁掉而对后续的卷积层不会差生较大影响,就可以认为该卷积核是可裁剪的。但是上述两种卷积神经网络压缩方法并不能利用到卷积核之间的关联性,因而其难以同时保证高的压缩比和精度。综上所述,寻找一种能够利用卷积核之间的关联性进行卷积神经网络压缩的算法是很有必要的。
技术实现思路
为了解决现有技术中存在的上述问题,本专利技术提供了一种用于卷积神经网络的压缩算法,相较于其他方法,该方法具有更高的压缩比和更低的精度损失。为了实现上述目标,本专利技术采用如下的技术方案:本专利技术实施例提供一种用于卷积神经网络的压缩算法,包括如下步骤:步骤1:构建压缩标定模块;步骤2:将所述压缩标定模块嵌入到原始卷积神经网络中,构建带压缩标定的卷积神经网络;步骤3:对构建的所述带压缩标定的卷积神经网络进行训练,得到训练好的带压缩标定的卷积神经网络中每个卷积核的标定值;步骤4:将标定值小于阈值的卷积核裁剪掉,得到裁剪后的带压缩标定的卷积神经网络;对裁剪后的带压缩标定的卷积神经网络进行训练,得到第一压缩网络;步骤5:处理所述第一压缩网络,得到压缩后的卷积神经网络。在一个具体的实施例中,所述压缩标定模块包括依次连接的平均池化层、全连接层、ReLU激活层、恢复压缩的全连接层和Sigmoid激活层,其中,所述平均池化层的大小为c×h×w,输出维度为c×1×1,其中c为特征图的通道数,h为卷积操作所形成特征图的高,w为卷积操作所形成的特征图的宽;所述全连接层一个压缩比为16的全连接层组成,输出维度为其中c为特征图的通道数;所述ReLU激活层的输出维度为其中c为特征图的通道数,ReLU激活层的数学表示为:f(x)=max(0,x)其中,x是所述压缩标定模块的全连接层的输出;所述恢复压缩的全连接层的输出维度为c×1×1,其中c为特征图的通道数;所述Sigmoid激活层的输出维度为c×1×1,其中c为特征图的通道数,Sigmoid激活层的数学表示为:其中,y是所述压缩标定模块的恢复压缩的全连接层的输出,e为自然底数。在一个具体的实施例中,所述步骤2包括:将所述原始卷积神经网络中的卷积层的输出端连接到所述压缩标定模块的输入端,构建带压缩标定的卷积神经网络。在一个具体的实施例中,所述步骤3包括:步骤31:选取训练样本集和测试样本集;步骤32:利用所述训练样本集对所述带压缩标定的卷积神经网络按照设定的优化策略进行网络训练;步骤33:将所述测试样本集输入至训练好的带压缩标定的卷积神经网络中,检测训练好的带压缩标定的卷积神经网络的可靠性;步骤34:从训练好的带压缩标定的卷积神经网络中获取每个卷积核的标定值。在一个具体的实施例中,所述原始卷积神经网络为已训练好的卷积神经网络。在一个具体的实施例中,所述步骤4包括:步骤41:依次判断每个卷积核的标定值是否小于所述阈值;若是,则将标定值对应的所述卷积核裁剪掉,并记录裁剪计数为1;若否,则保留所述标定值对应的卷积核,并记录裁剪计数为0;步骤42:将所述裁剪计数累加,获取裁剪总数,判断所述裁剪总数是否大于0,若大于,则重复执行步骤4;若等于,则将执行步骤5。在一个具体的实施例中,所述步骤5包括:将所述压缩标定模块从所述第一压缩网络中去除,获取压缩后的卷积神经网络;其中,所述压缩后的卷积神经网络中的卷积层的输出为每个卷积核的输出值。本专利技术与现有技术相比,具有以下优点:本专利技术的方法在卷积神经网络的压缩过程中利用了卷积核之间的相互依赖关系,与现有的卷积神经网络压缩方法相比,本专利技术方法具有更高的压缩比和更低的精度损失。附图说明图1为本专利技术实施例提供的一种用于卷积神经网络的压缩算法的流程图;图2(a)为原始卷积神经网络的示意图;图2(b)为本专利技术实施例提供的带压缩标定的卷积神经网络的示意图;图3为仿真实验2的示意图。具体实施方式下面结合具体实施例对本专利技术做进一步详细的描述,但本专利技术的实施方式不限于此。实施例一为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地描述。参照图1,图1为本专利技术实施例提供的一种用于卷积神经网络的压缩算法的流程图;本专利技术的实例提供了一种用于卷积神经网络的压缩算法,包括以下步骤:步骤1:构建压缩标定模块;具体的,所述压缩标定模块包括依次连接的平均池化层、全连接层、ReLU激活层、恢复压缩的全连接层和Sigmoid激活层,其中,所述平均池化层的大小为c×h×w,输出维度为c×1×1,其中c为特征图的通道数,h为卷积操作所形成特征图的高,w为卷积操作所形成的特征图的宽;其中,平均池化层的输出端连接至全连接层的输入端,hw为卷积操作所形成特征图的像素值。所述全连接层一个压缩比为16的全连接层组成,输出维度为其中c为特征图的通道数;其中,就是输入特征的数量:输出特征的数量=16:1,需要说明的是,压缩比还可以是其他数值,例如18或者25,具体按照实际需求进行设定。所述ReLU激活层的输出维度为其中c为特征图的通道数,ReLU激活层的数学表示为:f(x)=max(0,x)其中,x是所述压缩标定模块的全连接层的输出;ReLU激活层具体为修正线性单元(RectifiedLinearUnit,简称ReLU),其能够加速收敛。所述恢复压缩的全连接层的输出维度为c×1×1,其中c为特征图的通道数;所述Sigmoid激活层的输出维度为c×1×1,其中c为特征图的通道数,Sigmoid激活层的数学表示为:其中,y是所述压缩标定模块的恢复压缩的全连接层的输出,e为自然底数。需要说明的是,Sigmoid激活层也称为S型激活层。步骤2:将所述压缩标定模块嵌入到原始卷积神经网络中,构建带压缩标定的卷积神经网络;具体的,所述原始卷积神经网络为已训练好的卷积神经网络;将所述原始卷积神经网络中的卷积层的输出端连接到所述压缩标定模块的输入端,构建带压缩标定的卷积神经网络。这样压缩标定模块就可以对带压缩标定的卷积神经网络中的每一个卷积核赋值。步骤3:对构建的所述带压缩标定的卷积神经网络进行训练,得到训练好的带压缩标定的卷积神经网络中每个卷积核的标定值;具体的为:步骤31:选取训练样本集和测试样本集;步骤32:利用所述训练样本集对所述带压缩标定的卷积神经网络按照设定的优化策略进行网络训练;步骤33:将所述测试样本集输入至训练好的带压缩标定的卷积本文档来自技高网...

【技术保护点】
1.一种用于卷积神经网络的压缩算法,其特征在于,包括如下步骤:步骤1:构建压缩标定模块;步骤2:将所述压缩标定模块嵌入到原始卷积神经网络中,构建带压缩标定的卷积神经网络;步骤3:对构建的所述带压缩标定的卷积神经网络进行训练,得到训练好的带压缩标定的卷积神经网络中每个卷积核的标定值;步骤4:将标定值小于阈值的卷积核裁剪掉,得到裁剪后的带压缩标定的卷积神经网络;对裁剪后的带压缩标定的卷积神经网络进行训练,得到第一压缩网络;步骤5:处理所述第一压缩网络,得到压缩后的卷积神经网络。

【技术特征摘要】
1.一种用于卷积神经网络的压缩算法,其特征在于,包括如下步骤:步骤1:构建压缩标定模块;步骤2:将所述压缩标定模块嵌入到原始卷积神经网络中,构建带压缩标定的卷积神经网络;步骤3:对构建的所述带压缩标定的卷积神经网络进行训练,得到训练好的带压缩标定的卷积神经网络中每个卷积核的标定值;步骤4:将标定值小于阈值的卷积核裁剪掉,得到裁剪后的带压缩标定的卷积神经网络;对裁剪后的带压缩标定的卷积神经网络进行训练,得到第一压缩网络;步骤5:处理所述第一压缩网络,得到压缩后的卷积神经网络。2.根据权利要求1所述的用于卷积神经网络的压缩算法,其特征在于,所述压缩标定模块包括依次连接的平均池化层、全连接层、ReLU激活层、恢复压缩的全连接层和Sigmoid激活层,其中,所述平均池化层的大小为c×h×w,输出维度为c×1×1,其中c为特征图的通道数,h为卷积操作所形成特征图的高,w为卷积操作所形成的特征图的宽;所述全连接层一个压缩比为16的全连接层组成,输出维度为其中c为特征图的通道数;所述ReLU激活层的输出维度为其中c为特征图的通道数,ReLU激活层的数学表示为:f(x)=max(0,x)其中,x是所述压缩标定模块的全连接层的输出;所述恢复压缩的全连接层的输出维度为c×1×1,其中c为特征图的通道数;所述Sigmoid激活层的输出维度为c×1×1,其中c为特征图的通道数,Sigmoid激活层的数学表示为:其中,y是所述压缩标定模块的恢复压缩的全连接层的输出,e为自然底数。...

【专利技术属性】
技术研发人员:赖睿徐昆然官俊涛王松松李奕诗王东
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1