一种基于显式权重的卷积神经网络模型压缩方法与流程

    专利2022-07-08  102


    本发明涉及神经网络模型压缩领域,特别涉及一种基于显式权重的卷积神经网络模型压缩方法。



    背景技术:

    卷积神经网络算法已被应用于众多领域的理论实施方案中,卷积神经网络模型在各平台运行的速度以及消耗的资源量大小对其实际应用范围有着重要影响。由于当前许多卷积神经网络模型存在参数量冗余导致的资源消耗量大、运行速度慢等问题,因而无法应用在资源有限的平台上。对卷积神经网络模型进行冗余参数删减,降低模型的资源消耗并加快模型的运行速度,可以拓展卷积神经网络模型的实际应用范围。

    通道剪枝是应用最广泛的卷积神经网络模型压缩方法之一。传统的通道剪枝算法通常是提出一种衡量通道重要性的标准,然后根据此标准计算并衡量各通道的重要性,删去重要程度低的特征图通道及其对应的卷积核以及下一层卷积核相应的通道。然而,现有方法一般是将卷积网络的某项特性作为衡量通道重要性的标准,如通道的绝对值之和、非零数值的比例、梯度平均值等,这些标准都是隐式的,往往需要大量计算得到权重,或者在卷积网络中承担着特定的作用,采用这些标准进行模型压缩具有计算量大,实现复杂且压缩率低等缺点。



    技术实现要素:

    针对现有技术中的上述不足,本发明提供了一种基于显式权重的卷积神经网络模型压缩方法,解决了现有卷积神经网络模型参数量大、资源消耗量大并且运行速度慢的问题,并解决现有的基于通道剪枝的模型压缩方法实现复杂、计算量大且对卷积神经网络模型压缩率低的问题。

    为了达到上述发明目的,本发明采用的技术方案为:

    一种基于显式权重的卷积神经网络模型压缩方法,包括以下步骤:

    s1、获取多个训练图像;

    s2、建立待压缩的卷积神经网络模型,并设定目标压缩率r;

    s3、将卷积神经网络模型的特征图通道增加显式权重;

    s4、根据步骤s3中增加的显式权重大小对卷积神经网络模型各卷积层的特征图通道进行通道剪枝;

    s5、完成通道剪枝后,判断卷积神经网络模型卷积层整体压缩率是否大于或等于目标压缩率;若是,则剪枝结束进入步骤s6;若不是,则调整各层压缩率并返回执行步骤s4;

    s6、删除所有特征图通道增加的显式权重,最后保存压缩后的卷积神经网络模型及参数。

    本发明的有益效果为:首先采用增加显式权重的压缩方法,能有效压缩卷积神经网络模型,使得压缩率更高操作简单直观,同时减小了计算量,无需额外的大量权重计算;并且该方法鲁棒性好,能够很好的应用到各卷积神经网络模型压缩中去;方法最后删除了过程中增加的显式权重,使模型恢复到初始状态,这样不改变模型原始信息流动方式,不增加任何新的参数或结构到压缩后的模型中。

    进一步地,步骤s3的具体过程为:

    首先在卷积神经网络模型每层卷积层中的非线性激活层之后增加和该层输出特征图通道数相等数量的显式权重参数,模型非线性激活层输出的特征图表示为:

    其中,x表示为特征图,下标i表示特征图的通道索引,上标l表示模型非线性激活层的层数,n表示特征图通道总数;增加的显式权重参数表示为:

    其中,w表示增加的显式权重参数,其数量等于该卷积层的特征图通道总数n;

    之后将增加的显式权重与特征图进行逐通道相乘以此计算增加显式权重后的特征图,计算公式表示为:

    其中,y表示经过增加显式权重后的特征图;

    最后将经过增加显式权重后的特征图y输入到下一层进行卷积计算。

    上述进一步方案的有益效果为:增加少量短暂存续期的显式权重即可表征卷积神经网络各通道的重要性,增加的存储、计算等成本非常低,且不影响原始模型的推断结果。

    进一步地,步骤s4中通道剪枝的具体过程为:

    首先将步骤s3中的增加了显式权重的卷积神经网络模型进行训练,待模型收敛后,保存模型及参数;

    之后设第l层输出特征图的通道数为n,目标压缩率为rl,则在第l层要删除的特征图通道数d为:

    d=ceil(n×rl)

    其中,ceil(·)表示取上界函数;

    然后将第l层增加的显式权重w按从小到大的顺序排序并记录每个权值对应的通道索引,选择前d个最小的显式权重对应的通道索引,删除通道索引对应的显式权重、对应的特征图通道、在该卷积层中对应的卷积核和下一层卷积层中的所有卷积核对应通道索引的通道;

    最后按照上述方法对所有卷积层的特征图进行通道剪枝。

    上述进一步方案的有益效果为:可大幅降低卷积神经网络模型的参数量和计算量,进而降低模型对运行平台算力、存储等资源的需求,使卷积神经网络模型可以运行在资源受限的平台上,拓宽了卷积神经网络算法的应用范围。

    进一步地,步骤s4的剪枝过程中,对于有全连接层的卷积神经网络模型,当在最后一层卷积层中进行通道剪枝时,删除该层通道索引对应的显式权值、特征图通道及上一层卷积层的卷积核,并将其下一层卷积层的全连接层中对应通道索引的神经元删除。

    上述进一步方案的有益效果为:增加本发明方法的通用性,进一步降低全连接层的参数量,消除整个卷积神经网络模型的参数冗余性,减少模型参数量的同时加快模型运行速度,使模型变得更加高效。

    附图说明

    图1为本发明中基于显式权重的卷积神经网络模型压缩方法流程图;

    图2为本发明依据显式权重进行卷积神经网络通道剪枝流程图。

    具体实施方式

    下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

    如图1所示,一种基于显式权重的卷积神经网络模型压缩方法,包括以下步骤:

    s1、获取多个训练图像;

    对多个训练图像进行卷积操作和最大池化操作,得到训练图像在各级卷积层上的特征图;

    s2、建立待压缩的卷积神经网络模型,并设定目标压缩率r;

    可以重新建立一个卷积神经网络模型,对模型参数进行随机初始化;也可以采用已经训练好的模型,在此基础上进行模型压缩。设定的目标压缩率r,表示对压缩模型的最大期望压缩率,以此作为模型迭代压缩结束的标志。

    s3、将卷积神经网络模型的特征图通道增加显式权重;

    在卷积神经网络模型每层卷积层中的非线性激活层之后增加和该层输出特征图通道数数量相等的权重参数,将所有增加的权值参数初始化为1,并逐通道将增加的权值参数与对应的特征图通道相乘。

    本发明实施例中,步骤s3的具体过程为:

    首先在卷积神经网络模型每层卷积层中的非线性激活层之后增加和该层输出特征图通道数相等数量的显式权重参数,模型非线性激活层输出的特征图表示为:

    其中,下标i表示特征图的通道索引,上标l表示模型非线性激活层的层数,n表示特征图通道总数;增加的显式权重参数表示为:

    其中,w表示增加的显式权重参数,赋初值为1,其数量等于该卷积层特征图通道总数n,w的增加并不会改变模型的推断;w的值在模型训练过程中会根据梯度下降法进行更新,由于对特征图上的所有值进行加权相乘,能够影响特征图第i个通道的全局大小,故其可以反映特征图第i个通道的重要性。越大,对第i个通道的所有值影响越大,对模型推断值的影响也越大。故本发明假设:卷积神经网络模型特征图通道的重要性与该层增加的权重值大小成正比。

    之后将增加的显示权重与特征图进行逐通道相乘以此计算增加的显示权重后的特征图,计算公式表示为:

    其中,y表示经过增加的显示权重后的特征图;

    最后将经过增加的显示权重后的特征图y输入到下一层进行卷积计算;

    s4、根据步骤s3中增加的显式权重大小对卷积神经网络各卷积层的特征图通道进行通道剪枝;

    本发明实施例中,步骤s4中通道剪枝的具体过程为:

    首先将步骤s3中增加显式权重后的卷积神经网络模型进行训练,使增加的显式权重参数在模型训练中学习到能够表征相应特征图通道重要性的值。

    之后以目标压缩率r为基础,设置卷积神经网络模型每一层的压缩率rl,各层目标压缩率rl是一个超参数,需要在多次实验中进行手工调整,所述目标压缩率rl的经验值为纺锤体分布,在神经网络模型的浅层和深层,所述目标压缩率rl值可设置较大,在模型的中间层,所述目标压缩率rl值可设置较小。设第l层输出特征图的通道数为n,目标压缩率为rl,则在第l层要删除的特征图通道数d为:

    d=ceil(n×rl)

    其中,ceil(·)表示取上界函数;

    然后将第l层增加的显式权重w按从小到大的顺序排序并记录每个权值对应的通道索引,选择前d个最小的显式权重对应的通道索引,删除通道索引对应的显式权重、对应的特征图通道、在该卷积层中对应的卷积核和下一层卷积层中的所有卷积核对应通道索引的通道;

    最后按照上述方法,依据增加的显式权重参数w的值大小,对卷积神经网络模型所有卷积层进行逐层剪枝,剪枝过程如图2所示:

    本发明实施例中,步骤s4中对于有全连接层的卷积神经网络模型,当在最后一层卷积层中进行通道剪枝时,删除该卷积层通道索引对应的权值、特征图通道及上一层的卷积核,并将其下一层的全连接层中对应索引的神经元删除。

    s5、完成通道剪枝后,判断神经网络模型各层压缩率是否大于等于目标压缩率;若是,则剪枝结束进入步骤s6,若不是,则调整各层压缩率并返回s4;

    这一步是对卷积神经网络的训练过程,用于对模型进行微调以恢复精度;

    s6、删除所有特征图增加的显式权重,最后保存压缩后的卷积神经网络模型及参数;

    待模型压缩结束后,将步骤s3在神经网络模型中增加的所有权值删除,并删除涉及该增加的显式权重的相关计算,使图像在神经网络模型中的计算流程恢复到s2的初始状态;经过少许批次的训练后,模型即可恢复步骤s4结束时的精度;在神经网络模型精度恢复后,保存压缩后的神经网络模型及参数,模型压缩结束。

    本发明为每个特征图通道提供一个代表该通道重要性的显式权重,依据此权重值的大小进行通道剪枝,删除较小的权重值,及其对应的特征图通道和卷积核以及下一层卷积核的对应通道。待通道剪枝结束后,删除增加的权重,并对模型进行微调以快速恢复精度。通过这种增加临时显式权重的方法,为卷积神经网络模型压缩提供了判断参数重要性的直接依据,解决现有卷积神经网络模型大量参数冗余导致的资源消耗量大、运行速度慢的问题,并解决现有通道剪枝方法计算量大、剪枝标准隐式、不直观的问题。

    本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。


    技术特征:

    1.一种基于显式权重的卷积神经网络模型压缩方法,其特征在于,包括以下步骤:

    s1、获取多个训练图像;

    s2、建立待压缩的卷积神经网络模型,并设定目标压缩率r;

    s3、将卷积神经网络模型的特征图通道增加显式权重;

    s4、根据步骤s3中增加的显式权重大小对卷积神经网络模型各卷积层的特征图通道进行通道剪枝;

    s5、完成通道剪枝后,判断卷积神经网络模型卷积层整体压缩率是否大于或等于目标压缩率;若是,则剪枝结束进入步骤s6;若不是,则调整各层压缩率并返回执行步骤s4;

    s6、删除所有特征图通道增加的显式权重,继续训练至模型收敛后保存压缩后的卷积神经网络模型及参数。

    2.根据权利要求1所述的基于显式权重的卷积神经网络模型压缩方法,其特征在于,所述步骤s3的具体过程为:

    首先在卷积神经网络模型每层卷积层中的非线性激活层之后增加和该层输出特征图通道数相等数量的显式权重参数,模型非线性激活层输出的特征图表示为:

    其中,x表示为特征图,下标i表示特征图的通道索引,上标l表示模型非线性激活层的层数,n表示特征图通道总数;增加的显式权重参数表示为:

    wil=1,i=1,2,3,…,n

    其中,w表示增加的显式权重参数,其数量等于该卷积层特征图通道总数n;

    之后将增加的显式权重与特征图进行逐通道相乘以此计算加权后的特征图,计算公式表示为:

    其中,y表示经过增加显式权重后的特征图;

    最后将所述经过增加显式权重后的特征图y输入到下一层进行卷积计算。

    3.根据权利要求2所述的基于显式权重的卷积神经网络模型压缩方法,其特征在于,所述步骤s4中通道剪枝的具体过程为:

    首先将步骤s3中的增加了显式权重的卷积神经网络模型进行训练,待模型收敛后,保存模型及参数;

    之后设第l层输出特征图通道的数量为n,目标压缩率为rl,则在第l层要删除的特征图通道数d表示为:

    d=ceil(n×rl)

    其中,ceil(·)表示取上界函数;

    然后将第l层增加的显式权重w按从小到大的顺序排序并记录每个权值对应的通道索引,选择前d个最小的显式权重对应的通道索引,删除通道索引对应的显式权重、对应的特征图通道和在该卷积层中对应的卷积核,以及删除下一层卷积层中的所有卷积核对应通道索引的通道;

    最后按照上述方法对所有卷积层的特征图通道进行通道剪枝。

    4.根据权利要求3所述的基于显式权重的卷积神经网络模型压缩方法,其特征在于,所述步骤s4通道剪枝过程中,对于有全连接层的卷积神经网络模型,当在最后一层卷积层中进行通道剪枝时,删除该层通道索引对应的显式权重、特征图通道及上一层卷积层的卷积核,并将其下一层卷积层的全连接层中对应通道索引的神经元删除。

    技术总结
    本发明公开了一种基于显式权重的卷积神经网络模型压缩方法,包括以下步骤:获取训练图像;建立待压缩的卷积神经网络模型,并给定目标压缩率;将卷积神经网络模型的特征图通道增加显式权重;按照权值大小进行通道剪枝;判断模型整体压缩率是否大于或等于目标压缩率,若是,则进下一步,若不是,则调整各层压缩率并返回上一步;删除所有增加的显式权重,并删除涉及该增加的显式权重的相关计算,在神经网络模型精度恢复后,保存压缩后的神经网络模型及参数;本发明利用通道剪枝方法可生成结构化的压缩模型的优点,解决了现有卷积神经网络模型参数量大、消耗量大且运行速度慢的问题。

    技术研发人员:骆春波;濮希同;罗杨;韦仕才;张赟疆;徐加朗;许燕
    受保护的技术使用者:电子科技大学
    技术研发日:2020.12.10
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-18613.html

    最新回复(0)