一种基于网络结构搜索的模型剪枝方法技术

技术编号:39576428 阅读:7 留言:0更新日期:2023-12-03 19:27
本发明专利技术提出一种基于网络结构搜索的模型剪枝方法

【技术实现步骤摘要】
一种基于网络结构搜索的模型剪枝方法


[0001]本专利技术涉及深度神经网络模型压缩领域,尤其适用于解决深度神经网络模型移植到边缘移动端设备而存在的计算量和参数量过高的问题,具体为一种基于网络结构搜索的模型剪枝方法


技术介绍

[0002]计算机视觉和自然语言处理等人工智能的相关领域得益于深度学习的发展,使其性能到达了前所未有的高度

但是随着神经网络深度宽度不断地增加,带来高性能的同时也带来了高额的存储空间和庞大的计算量,这极大的阻碍了深度学习相关方法的产品化

[0003]随着人工智能技术的日益成熟和边缘端设备计算能力的提升,移动端的
AI
落地也成为了可能

相比于服务器端的深度学习模型,边缘移动端模型可以减轻服务器端压力,响应速度快,稳定性较高且具有安全性

但是在边缘移动端部署深度学习模型存在着很大的挑战,移动端等嵌入式设备并不是为计算稠密任务而设计的,所以在计算能力

存储资源等方面受限,而且深度学习方法要在边缘端进行产品化就要考虑设备电池电量等方面的问题

故移动端的模型必须要满足模型尺寸小

计算复杂度低

电池耗电量低

下发更新部署灵活等条件

模型部署平台的多样性则是另一个挑战,不同移动端的硬件平台差异很大,设备的计算能力和存储能力也大不相同,不同的边缘设备有着自己所能承受的最大计算量和参数量,所以同一个任务针对不同的硬件设备可能需要不同大小的模型

[0004]在这种情况下,亟需一种在保证模型性能的同时对深度神经网络模型进行压缩且可根据移动端平台的参数量和计算量的约束自适应网络结构的方法


技术实现思路

[0005]本专利技术提出了一种基于网络结构搜索的模型剪枝方法,以解决现有技术中存在的不足,本专利技术要解决的技术问题通过以下技术方案来实现

[0006]为实现上述目的,本专利技术采用下述技术方案

[0007]一种基于网络结构搜索的模型剪枝方法,所述方法包括:
[0008]S1 网络结构数据的采集,通过加载,训练改进后的模型;
[0009]S2 基于网络结构搜索得出每个卷积层对剪枝的敏感程度;
[0010]S3 确定每个卷积层对剪枝的敏感度自适应每层的剪枝比例;
[0011]S4 模型剪枝,根据每层的自适应剪枝比率,剪掉每层中重要性相对较低的通道和对应的滤波器;
[0012]S5 剪枝后模型
fine

tuning
,自适应每层的裁剪率,当测试集的效果达到预期目标后,终止迭代;
[0013]S6 模型测试,将满足设备要求和性能需求的模型保存并输出

[0014]进一步地,所述
S1
具体包括:
[0015]S1.1 利用摄像头进行大量拍照,并对其使用随机裁剪

随机反转

左右镜像处理
进行数据增广,扩充数据集;
[0016]S1.2 使用标注软件对数据进行标注,原图像和标注内容存放于同一个文件夹;
[0017]S1.3 模型改进,将加入三明治原则和原地蒸馏以提高网络的性能,并采用共享卷积核的方式加快网络结构信息的采集

[0018]进一步地,所述
S1.3
模型改进具体包括:
[0019](1)首先根据任务定义网络结构,设定一个网络结构搜索范围,在模型的训练中随机独立地对每一层的通道数进行采样;
[0020](2)在对通道的随机采样过程中,着重对设定阈值的上限和下限进行采样,使模型的准确性在预设的范围之内;
[0021](3)在网络结构搜索过程中,采用原地蒸馏的技术,用设定的剪枝上限比例来指导其他比例的训练;
[0022](4)采用共享卷积核的方式加快对网络结构信息的采集,越靠前的卷积核重用的次数就越高

[0023]进一步地,在所述模型的训练中随机对每一层的通道数进行采样,在对通道的随机采样过程中,着重对设定阈值的上限和下限进行采样;单个神经元的输出可用公式(1)表示;公式(2)即为前
k
个通道的输出:
[0024][0025][0026]其中,其中
w

x
分别为上层卷积核权重和输入的特征图,
n
为输入的通道数量,对于
y
满足公式(2)的性质即为前
k
个通道的输出,
k

k0即是结构搜索范围

[0027]进一步地,所述
S2
得出每个卷积层对剪枝的敏感程度具体包括:
[0028]S2.1 对改进后的模型使用训练数据和验证数据进行少量的迭代训练,直至收敛;
[0029]S2.2 加载所述模型,并在设定阈值内随机对每层的卷积核进行删减,最后记录该网络最后的相关数据,对这些数据进行整理和划分,得到不同卷积层对模型输出结果的敏感程度

[0030]进一步地,所述
S4
模型剪枝具体包括:将
L1
正则化施加到
BN
层的缩放因子上,使得
BN
层的缩放因子趋向于零,根据通道的重要性按升序排序,自适应每层的剪枝比率并剪掉每层中重要性相对较低的通道和对应的滤波器
。L1
正则化,又称为
Lasso
正则化,通过在模型的损失函数中增加目标参数的绝对值之和,来对模型的复杂性进行惩罚


L1
正则化施加到批量归一化(
BN
)层的缩放因子上,使得
BN
层的缩放因子趋向于零

根据通道的重要性按升序排序,自适应每层的剪枝比率并剪掉每层中重要性相对较低的通道和对应的滤波器

[0031]进一步地,如下的公式(3)所示,将
BN
层中的缩放因子作为稀疏性惩罚项引入目标函数,联合训练网络权重和这些缩放因子,使其得到的模型中许多缩放因子都会趋于0;
[0032][0033]其中,公式中目标函数的第一项是训练损失函数,采用
L1
正则化
|
γ
|
作为缩放因子
上的稀疏化惩罚项,
(x

y)
是训练输入数据和对应的标签,
w
是可训练参数,
λ
是平衡因子

[0034]进一步地,所述
S5
具体包括:裁剪后模型
fine

tuning
:按照优化目标的绝对差值变化相对于迭代开始时的比值和对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于网络结构搜索的模型剪枝方法,其特征在于,所述方法包括:
S1 网络结构数据的采集,通过加载,训练改进后的模型;
S2 基于网络结构搜索得出每个卷积层对剪枝的敏感程度;
S3 确定每个卷积层对剪枝的敏感度自适应每层的剪枝比例;
S4 模型剪枝,根据每层的自适应剪枝比率,剪掉每层中重要性相对较低的通道和对应的滤波器;
S5 剪枝后模型
fine

tuning
,自适应每层的裁剪率,当测试集的效果达到预期目标后,终止迭代;
S6 模型测试,将满足设备要求和性能需求的模型保存并输出
。2.
根据权利要求1所述的网络结构搜索的模型剪枝方法,其特征在于,所述
S1
具体包括:
S1.1 利用摄像头进行大量拍照,并对其使用随机裁剪

随机反转

左右镜像处理进行数据增广,扩充数据集;
S1.2 使用标注软件对数据进行标注,原图像和标注内容存放于同一个文件夹;
S1.3 模型改进,将加入三明治原则和原地蒸馏以提高网络的性能,并采用共享卷积核的方式加快网络结构信息的采集
。3.
根据权利要求2所述的网络结构搜索的模型剪枝方法,其特征在于,所述
S1.3
模型改进具体包括:(1)首先根据任务定义网络结构,设定一个网络结构搜索范围,在模型的训练中随机独立地对每一层的通道数进行采样;(2)在对通道的随机采样过程中,着重对设定阈值的上限和下限进行采样,使模型的准确性在预设的范围之内;(3)在网络结构搜索过程中,采用原地蒸馏的技术,用设定的剪枝上限比例来指导其他比例的训练;(4)采用共享卷积核的方式加快对网络结构信息的采集,越靠前的卷积核重用的次数就越高
。4.
根据权利要求3所述的网络结构搜索的模型剪枝方法,其特征在于,在所述模型的训练中随机对每一层的通道数进行采样,在对通道的随机采样过程中,着重对设定阈值的上限和下限进行采样;单个神经元的输出可用公式(1)表示;公式(2)即为前
k
个通道的输出:个通道的输出:其中,其中
w

x
分别为上层卷积核权重和输入的特征图,
n
为输入的通道数量,对于
y
满足公式(2)的性质即为前
k
个通道的输出,
k

k0即是结构搜索范围
。5...

【专利技术属性】
技术研发人员:丁晓嵘张新李晓梅聂明杰李楠王柏春张兴业田晓宇高涵项乾
申请(专利权)人:北京市智慧水务发展研究院
类型:发明
国别省市:

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

1