一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于特征图响应的通道自适应分段动态网络剪枝方法

2022-09-15 06:11:58 来源:中国专利 TAG:

1.本发明涉及基于特征图响应的通道自适应分段动态网络剪枝方法,属于深度学习领域,尤其适用于基于特征图响应的通道自适应动态网络剪枝。


背景技术:

2.深度卷积神经网络的出现在计算机视觉和自然语言处理等许多研究领域引起了人们的极大兴趣并取得了实质性进展。然而,基于深度卷积神经网络的模型(例如resnet-50)中的参数数量通常超过数百兆字节,因此需要数十亿个浮点数乘法来处理输入数据。这不可避免地给网络模型在资源有限的设备(如移动电话和嵌入式设备)上的部署带来了巨大挑战。因此,巨大的存储空间和昂贵的计算成本已成为阻碍深度卷积神经网络在复杂现实场景中实际应用的主要问题。为了解决这个问题,需要对神经网络进行压缩,即在不显著降低模型性能的情况下压缩深层卷积神经网络,减少参数量。模型压缩的主要研究方向包括:剪枝、知识蒸馏、量化和低秩分解。而剪枝能从深层卷积神经网络中剪枝冗余的网络结构,是实现紧凑型神经网络的最直观方法之一。通常情况下,剪枝对深层卷积神经网络的影响可以做到非常的小。
3.关于神经网络剪枝的分类除了常见的非结构化剪枝和结构化剪枝之外还有一种是静态剪枝和动态剪枝,静态剪枝是剪枝算法执行完毕之后得到一个剪枝网络,在后续的检测与实用中就不再改变剪枝网络的结构,而动态剪枝则可以根据输入数据自适应地选择网络结构。对神经网络剪枝的研究在上世纪90年代初左右就已经出现了,比如汉森提出了基于重要性的剪枝方法[1],就是对神经网络中每个隐藏单元添加与其权重绝对值相关的权重衰减来最小化隐藏单元数量。又比如上世纪90年代初提出的obd[2]和obs[3]方法,计算损失函数对于权重的二阶导数,也就是hessian矩阵,用二阶导数对神经网络中权重进行重要程度排序,然后根据剪枝率对神经网络行裁剪。2018年amc自动压缩的方法[4]被提出,根据不同的实际需求(保证精度或限制计算量),该方法利用强化学习来自主学习每一层最优的稀疏比。训练和压缩两步交替优化的剪枝算法[5]也被提出,不需要计算量较大的相关性分析,且能够减少人工设置超参数的过程。
[0004]
而在实践中存在个别输入在剪枝网络迭代了数次之后计算出来的相关性(采用的是阶段特征图之间的相似度)极弱的现象,这种现象是会导致默认数据集中的所有数据都强制性遵循同一个剪枝子网,限制了网络的表征能力、推理效率和可解释性。
[0005]
[1]hanson,stephen jose,l.y.pratt.comparing biases for minimal network construction with back-propagation[c]//advances in neural information processing systems 1.1989.
[0006]
[2]lecun y.optimal brain damage[j].neural information proceeding systems 2,(279)1990:598-605.
[0007]
[3]hassibi b.second order derivatives for network pruning:optimal brain surgeon[j].advances in neural information processing systems 5,1992:
164
‑‑
171.
[0008]
[4]he y.amc:automl for model compression and acceleration on mobile devices[j].2018.
[0009]
[5]carreira-perpinan m a y.idelbayev.learning-compression algorithms for neural net pruning[c]//ieee/cvf conference on computer vision and pattem recognition(cvpr)ieee.2018.
[0010]
[6]he y,liu p,wang z,et al.filter pruning via geometric median for deep convolutional neural networks acceleration[c]//the ieee/cvf conference on computer vision and pattern recognition.2019,4340-4349.
[0011]
[7]dong x,yang y.network pruning via transformable architecture search[c]//the conference on neural information processing systems(neurips).2019,760-771.


技术实现要素:

[0012]
有鉴于此,本发明提供基于特征图响应的通道自适应分段动态网络剪枝方法,根据输入的图像自适应地选择每个网络层的卷积核通道,不会让数据集中所有的图片强制性遵循同一个剪枝子网,从而达到加速推理和减小运算成本的目的。
[0013]
为达到上述目的,本发明提供如下技术方案:
[0014]
基于特征图响应的通道自适应分段动态网络剪枝方法,其特征在于,包含以下步骤:
[0015]
s1:根据实际应用需要,搭建n层的卷积神经网络;
[0016]
s2:将该n层的卷积神经网络按照特征图尺度大小及网络抽象程度分为前端浅层网络和后端深层网络这两个分段网络;其中,前m层为前端浅层网络,主要是提取输入图像的轮廓及纹理信息;后n-m层为后端深层网络,主要提取输入图像的高层语义特性;
[0017]
s3:在前端浅层网络层每一层的激活函数后与下一层卷积神经网络层之间,串联一个由霍夫变换和感知哈希算法串联构成的特征图信息分布响应模型;
[0018]
s4:在后端深层网络层每一层的激活函数后与下一层卷积神经网络层之间,串联一个由灰度共生矩阵和灰度直方图串联构成的特征图信息分布响应模型;
[0019]
s5:从输入层开始,利用数据集,按照前端浅层网络和后端深层网络的剪枝次序,分别对整个卷积神经网络开始训练;
[0020]
s6:分别针对完成训练的分段网络,根据每层特征图的信息分布模型输出计算卷积通道的相似度;
[0021]
s7:分别针对完成训练的分段网络,按照设定的剪除率,根据相似度依次序剪除步骤s6中计算得到的相似度低的神经元分支;
[0022]
s8:重复步骤s5~s7,分别完成整个卷积神经网络的剪枝,并将剪枝后的卷积神经网络应用到实际问题中。
[0023]
进一步,步骤s2所述的特征图尺度大小取决于采样操作;所述的网络抽象程度取决于卷积神经网络的节点数以及它们之间的连接关系;具体的将卷积神经网络分为前端浅层网络和后端深层网络,分段依据可以通过判断提取的卷积层所提取的特征信息是否为具
体轮廓及纹理信息还是抽象高层语义特性进行界定。
[0024]
进一步,步骤s3所述的霍夫变换是用来提取直线、圆的方法,和其他检测方法相比可以更好地降低噪音的干扰,对轮廓信息的提取是有利的。霍夫变换在matlab中实现需要进行以下三步:
[0025]
(1)采用hough()函数执行霍夫变换,得到霍夫矩阵;
[0026]
(2)采用houghpeaks()函数在霍夫矩阵中寻找峰值点;
[0027]
(3)采用houghlines()函数在之前两步结果的基础上得到原图像中的轮廓信息。
[0028]
在应用中,可先采用matlab编写霍夫变换的程序,再通过python调用matlab文件。
[0029]
进一步,步骤s3所述的感知哈希算法的步骤如下:
[0030]
(1)采用的是离散余弦变换来降低频率;
[0031]
(2)缩小尺寸:为了简化了离散余弦变换的计算,感知哈希从小图片开始;
[0032]
(3)简化色彩:与均值哈希相同,需要将图片转化成灰度图像,进一步简化计算量;
[0033]
(4)计算离散余弦变换:离散余弦变换是把图片分解频率聚集和梯状形,如公式

所示:
[0034][0035]
其中,fd(i)为原始的信号,fd(u)是离散余弦变换后的系数,r为原始信号的点数,c(u)为一个补偿系数,可以使离散余弦变换矩阵为正交矩阵;
[0036]
(5)缩小离散余弦变换,呈现出图像中的低频信息;
[0037]
(6)计算离散余弦变换的均值;
[0038]
(7)进一步减小离散余弦变换,大于等于离散余弦变换均值的设为”1”,小于离散余弦变换均值的设为“0”;
[0039]
(8)组合64个字节位生成哈希值;
[0040]
(9)计算两幅图片的指纹,计算汉明距离。
[0041]
进一步,步骤s4所述的灰度共生矩阵是一种通过研究灰度空间的相关特性来表述图像纹理信息的常用方法,生成一幅灰度图。
[0042]
步骤s4所述的灰度直方图是反映一幅图像中各灰度级像素出现的频率与灰度级之间的关系,以灰度级为横坐标,频率为纵坐标,绘制频率同灰度级的关系图像就是一幅灰度图像的直方图,可以根据灰度直方图查看特征图纹理特征信息的分布状态。可参考:
[0043]
刘健庄,栗文青.灰度图像的二维otsu自动阈值分割法[j].自动化学报,1993(01):101-105.
[0044]
进一步,步骤s3和步骤s4所述的串联的特征图信息分布响应模型在剪枝完成后也需要移除。
[0045]
进一步,步骤s5所述的训练的终止条件为:按照剪枝次序确定训练的分段网络,通过比较迭代训练中,本轮该分段网络与下一轮该分段网络最后一层输出的特征图之间差异性是否满足设定阈值的要求来决定本分段网络的训练是否结束。
[0046]
进一步,步骤s6所述的相似度的计算过程为:
[0047]
s601:根据每层特征图的信息分布模型输出确定分布类型和分布参数;
[0048]
s602:给下一层的每一个卷积核生成一个与s601相同分布和参数的灰度图;
[0049]
s603:利用下一层的每一个卷积核对灰度图进行卷积运算,分别得到每个卷积核对应生成的新特征图,来表示该卷积核在该分布下的特征提取能力;
[0050]
s604:对每个新特征图计算图像熵;其中,熵对应相似度,熵越大,相似度越高。
[0051]
其中,图像熵h的计算公式如下:
[0052][0053]
其中,qi是灰度值为i的像素点值,n为图像像素点个数。
[0054]
进一步,步骤s2所述的前端浅层网络和后端深层网络还可以根据输出的特征图缩放大小分布的多尺度特征进一步分别再分段为若干个子网络,每一个子网络为一个分段网络;此时,对应的步骤s5~步骤s7中训练和剪枝过程需要从前端浅层网络和后端深层网络的次序改为从前端浅层网络逐子网络和后端深层网络逐子网络的次序。
[0055]
本发明的有益效果在于:本发明提供了基于特征图响应的通道自适应分段动态网络剪枝方法,提出了一种网络层卷积通道自适应选择的框架,即特征图信息分布响应模型,根据阶段特征图是有信息分布规律的,按照输入图像的不同,信息分布也会变化,以此来选择卷积神经网络推理路径,根据重要度的高低来决定剪枝,不会让数据集中所有的图片强制性遵循同一个剪枝子网,实现了分段加速推理和减小运算成本的目的。
附图说明
[0056]
为了使本发明的目的、技术方案更加清晰明白,本发明提供如下附图进行说明:
[0057]
图1为基于特征图响应的通道自适应分段动态网络剪枝方法流程图。
具体实施方式
[0058]
为使本发明的目的和技术方案更加清晰明白,下面结合附图及实施例对本发明进行详细的描述。
[0059]
实施例:
[0060]
现有两个现实世界中的各种对象的rgb图像数据集——cifar-10和cifar-100。其中:cifar-10有10个类别,每个类别有5000个训练图片和1000个验证图片;cifar-100有100个类别,每个类别有500张训练图片和100张验证图片。现采用卷积神经网络对其对象进行分类,考虑到网络压缩,本实施例提供基于特征图响应的通道自适应分段动态网络剪枝方法。
[0061]
结合图1,包含以下步骤:
[0062]
步骤一:对数据集图像采用了一些典型的数据增强方法进行预处理,包括随机调整大小、裁剪、亮度变化和水平翻转。并将数据集按8∶2的比例分为训练集和测试集。
[0063]
步骤二:为了更好的进行对比实验和显示本发明的效果,本实施例搭建了resnet-32、resnet-56卷积神经网络进行分类处理。其中,初始学习率都设定为0.1,内含1x1的卷积核和3x3的卷积核。
[0064]
步骤三:将resnet-32、resnet-56卷积神经网络按照特征图尺度大小及网络抽象程度分为前端浅层网络和后端深层网络,具体地,整个卷积神经网络可根据输出的特征图缩放大小分布为[4
×
、8
×
、16
×
、32
×
]的多尺度特征,映射为4个分段的子网络,其中,[4
×
、8
×
]用于提取体轮廓及纹理信息属于前端浅层网络,[16
×
、32
×
]用于提取抽象高层语义特性属于后端深层网络。
[0065]
步骤四:在每一层前端浅层网络层的激活函数与下一层卷积神经网络层之间串联一个由霍夫变换和感知哈希算法串联构成的特征图信息分布响应模型;
[0066]
步骤五:在每一层后端深层网络层的激活函数与下一层卷积神经网络层之间串联一个由灰度共生矩阵和灰度直方图串联构成的特征图信息分布响应模型。
[0067]
步骤六:从输入层开始,利用数据集,按照前端浅层网络[4
×
、8
×
]子网络和后端深层网络[16
×
、32
×
]子网络的剪枝次序,分别对整个卷积神经网络开始训练,共计需要依次进行4段网络的训练,每段进行多轮迭代。训练的终止条件为:按照剪枝次序确定训练的子网络,通过比较迭代训练中,本轮该子网络与下一轮该子网络最后一层输出的特征图之间差异性是否满足设定阈值的要求来决定本子网络的训练是否结束。
[0068]
本实施例,在cifar-10数据集上,对原始网络进行了至少150次的训练,数据集批量大小为128;在cifar100上,对原始网络进行了200次训练,数据集批量大小为128;设置剪枝率为50%和70%。
[0069]
步骤七:依次分别针对完成训练的子网络,根据每层特征图的信息分布模型输出计算卷积通道的相似度。
[0070][0071]
具体地,包含以下步骤:
[0072]
(1)根据每层特征图的信息分布模型输出确定分布类型和分布参数;
[0073]
(2)给下一层的每一个卷积核生成一个与(1)相同分布和参数的灰度图;
[0074]
(3)利用下一层的每一个卷积核对灰度图进行卷积运算,分别得到每个卷积核对应生成的新特征图,来表示该卷积核在该分布下的特征提取能力;
[0075]
(4)对每个新特征图计算图像熵;其中,熵对应相似度,熵越大,相似度越高。
[0076]
其中,图像熵h的计算公式如下:
[0077][0078]
其中,qi是灰度值为i的像素点值,n为图像像素点个数。
[0079]
步骤八:依次分别针对完成训练的分段网络,按照设定的剪除率,根据相似度依次序剪除步骤s6中计算得到的相似度低的神经元分支。
[0080]
步骤九:重复步骤六到步骤八,完成整个卷积神经网络的剪枝,将冗余的部分移出后,利用剪枝完成后的卷积神经网络对测试集数据进行测试,得到实验结果如表1、表2所示。
[0081]
为了更好的进行实验结果的对比,本实施例引入了两种现有的剪枝方法,其中,参考文献[6]提出的fpgm为一种基于几何中值的滤波器剪枝算法,用以删除冗余过滤器,而不是手动设置剪枝率来删除相对不太重要的过滤器。参考文献[7]提出的tas为一个可转换的架构搜索模型,通过通道概率分布和知识转移来剪枝网络。
[0082]
表1在cifar-10上不同剪枝方法的对比结果
[0083][0084]
表2在cifar-100上不同剪枝方法的对比结果
[0085][0086]
通过表1和表2,可见剪除率相近的情况下,本发明方法的精度更好。当然,大幅度增大剪除率会导致精度的下降,但下降的程度还是比较平缓的,较优于现有方法,能够满足大多数情况的使用要求。
[0087]
本发明方法可以在剪枝的同时保证测试精度的,说明该了方法的有效性。这样不强制所有的输入图像都遵循同一个剪枝子网,大大提高了卷积神经网络的表达能力,无论从哪一个数据集分类的实验结果来说,本发明方法都能够自适应地寻找到了输入图像需求地卷积核通道,这对卷积神经网络机理地探索是有帮助的。
[0088]
同时,实验结果再一次证明了卷积神经网络具有的逐级优化特性的正确性,同时也证明了传递输入图像信息的阶段特征图的重要性,并且数据集的种类越多,实验的效果会越好,未来可以往大类别延伸至小类别的动态网络上考虑,继续探索卷积神经网络的奥秘。
[0089]
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献