当前位置: 首页 > 专利查询>同济大学专利>正文

适用于深度卷积网络模型的网络轻量化方法技术

技术编号:39652406 阅读:13 留言:0更新日期:2023-12-09 11:20
本发明专利技术涉及一种适用于深度卷积网络模型的网络轻量化方法

【技术实现步骤摘要】
适用于深度卷积网络模型的网络轻量化方法、装置及介质


[0001]本专利技术涉及深度学习与网络模型轻量化
,尤其是涉及一种适用于深度卷积网络模型的网络轻量化方法

装置及介质


技术介绍

[0002]随着近年来深度学习网络模型的流行,许多诸如智能手机,智能手表,智能家居,自动驾驶汽车等可移动式电子设备上都开始逐渐部署上深度学习网络模型,但是成本和体型的需求限制了其计算资源和计算能力,而产品的需求和实用性又需要这些智能设备具有较高的精度和较快的运算速度

如何在保证深度学习网络模型的精度的同时,减小网络模型所占用的计算资源和运行带宽,即对网络模型的轻量化成为了亟待解决的重要问题

[0003]现有的网络轻量化方法主要集中在改变网络结构上,如模型剪枝方法,其主要通过在对训练好的模型进行继续训练,在继续训练过程中添加批正则化层的
L2
损失进入网络损失函数,通过
L2
损失约束各输出通道的均值,最后将通道均值为0的通道裁剪掉

使用模型剪枝这样的轻量化方法可以对网络结构进行直接的修改,降低深度网络模型的复杂度,但是,通过改变网络结构进行网络轻量化的方法有很强的局限性,无法直接保证网络模型的轻量化,如对于已经设计的紧凑的网络模型无法再进行网络地裁剪,同时过多地改变网络原先结构会破坏网络原有的精度和性能

[0004]当前深度学习网络模型前向计算由大量的矩阵运算组成

现阶段中大量的矩阵运算可以使用一些针对并行计算模块来设计的深度学习计算平台进行并行加速,如我们在实际生活中常用的
GPU。
其运行速度远高于单纯使用
CPU
进行矩阵运算

同时,对于计算机来说整型运算速度通常要远远高于浮点型运算速度

将深度卷积网络模型由原本的浮点型模型转化为整型模型,将极大地压缩模型体积,提高网络前向计算速度,实现深度卷积网络模型的轻量化

但将模型直接转换为整型模型会导致模型精度下降,现有技术中未有能将深度卷积网络模型由浮点型模型转化为整型模型且同时保持模型准确性的方法


技术实现思路

[0005]本专利技术的目的是为了提供一种适用于深度卷积网络模型的网络轻量化方法

装置及介质,在保证网络模型准确性的前提下将模型中的浮点型计算转化为整型计算,实现深度学习网络模型的轻量化

[0006]本专利技术的目的可以通过以下技术方案来实现:
[0007]一种适用于深度卷积网络模型的网络轻量化方法,包括以下步骤:
[0008]S1、
将深度卷积网络模型在浮点型数据精度下进行训练,获得预训练好的深度卷积网络模型;
[0009]S2、
构建网络量化框架,在深度卷积网络模型的卷积操作的特征输入端和权重输入端分别添加线性对称量化器,并使能线性量化器的数据标定功能;
[0010]S3、
选取预设数量的具有代表性的数据样本,对深度卷积网络模型进行后训练量
化处理,进行数据标定;
[0011]S4、
通过后训练量化固定下每层量化器的标定值后,关闭量化器的数据标定功能,使能量化器的梯度反传功能,采用直通估计法作为量化器的梯度反传函数;
[0012]S5、
修改原深度卷积网络训练超参数,设定原浮点型网络训练时学习率的百分之一作为起始学习率,采用余弦下降训练策略,利用梯度反传函数对网络进行量化训练,更新整型精度下的神经网络卷积权重,完成轻量化

[0013]优选地,在
S1
中:深度卷积网络模型需要先在浮点型数据精度下完成模型的预训练,在浮点型精度下,其数值精度为2‑
24
,相当于连续值,适用于所有求导函数进行梯度反传,使深度卷积网络模型达到较高的准确率

[0014]优选地,在
S2
中:对深度卷积神经网络量化需要优先构建网络量化框架,在网络量化框架中会自动实现网络卷积操作向量化卷积操作的转变,其本质在于对网络量化操作的特征输入端和权重输入端加入线性对称量化器

线性对称量化器的计算公式为:
[0015][0016]x
q

quantize(x,b,s)

clip(round(s
·
x),
‑2b
‑1+1,2
b
‑1‑
1)
[0017][0018]其中,
b
表示量化所选定的比特数,
α
表示标定所获得的浮点数数据的范围,
x
表示需要量化的向量特征,
s
表示仿射变化中的比例系数,
round()
函数表示对数据的四舍五入取整运算,
clip()
函数表示裁剪操作,其本质在于将量化误差融入到卷积操作中,使网络在整型精度下进行计算

[0019]优选地,在
S2
中,使用对称量化器进行量化时其比例系数在特征中的共享方式有许多种选择,向量矩阵中比例系数的共享方式称为向量量化粒度

对于深度神经网络中的卷积操作来说,对输入特征的逐行共享量化比例系数是不具有可行性的,因为在卷积层构建乘法运算时,输入特征矩阵的同一行中的值会来自于同一个批次中的不同输入样本,而不同输入样本必然会包含不同的比例系数,因此对于输入特征来说在保持运算速度的情况下只能使用逐向量量化

对于权重矩阵来说,权重矩阵中的每一列元素都来自于卷积权重中独立的一个通道,故可以保证其比例系数的相对独立,因此对于权重量化能够选择逐列量化,又称为逐通道量化

[0020]优选地,选用对称量化器后,对于量化来说唯一需要确定的变量就是浮点型数据的数据范围
[

α
,
α
],在确定了浮点型数据的数据范围后对称量化器的比例系数
s
也能直接确定

因此在后训练量化过程中,需要使能量化器中的数据标定功能,确定卷积操作特征输入和权重的最优数据范围,从而确定比例系数
s
,基于比例系数将原浮点型卷积神经网络转化至整型精度

[0021]优选地,在
S3
中,在后训练量化过程中需要选取一定数量的具有代表性的样本作为标定样本,在浮点型精度下对网络中每层卷积层进行数值标定

为了更加准确的获得网络中每层卷积的范围区间,需要在每个量化器中维护数据统计直方图,并在标定完成后选取数据统计直方图中不同的百分比作为标定值,在验证集中进行精度验证,选用精度最高的标定值作为量化器的比例系数,将原浮点型卷积神经网络转化至整型精度
...

【技术保护点】

【技术特征摘要】
1.
一种适用于深度卷积网络模型的网络轻量化方法,其特征在于,包括以下步骤:
S1、
将深度卷积网络模型在浮点型数据精度下进行训练,获得预训练好的深度卷积网络模型;
S2、
构建网络量化框架,在深度卷积网络模型的卷积操作的特征输入端和权重输入端分别添加线性对称量化器,并使能线性量化器的数据标定功能;
S3、
选取预设数量的具有代表性的数据样本,对深度卷积网络模型进行后训练量化处理,进行数据标定;
S4、
通过后训练量化固定下每层量化器的标定值后,关闭量化器的数据标定功能,使能量化器的梯度反传功能,采用直通估计法作为量化器的梯度反传函数;
S5、
修改原深度卷积网络训练超参数,设定原浮点型网络训练时学习率的百分之一作为起始学习率,采用余弦下降训练策略,利用梯度反传函数对网络进行量化训练,更新整型精度下的神经网络卷积权重,完成轻量化
。2.
根据权利要求1所述的一种适用于深度卷积网络模型的网络轻量化方法,其特征在于,所述
S1
中,深度卷积网络模型在浮点型精度下,其数值精度为2‑
24
。3.
根据权利要求1所述的一种适用于深度卷积网络模型的网络轻量化方法,其特征在于,所述
S2
中,深度卷积网络模型在卷积层构建乘法运算时,输入特征矩阵的同一行中的值来自于同一个批次中的不同输入样本,不同输入样本必然包含不同的比例系数,因此在特征输入端添加逐向量量化的线性对称量化器
。4.
根据权利要求1所述的一种适用于深度卷积网络模型的网络轻量化方法,其特征在于,所述
S2
中,对于权重矩阵来说,权重矩阵中的每一列元素都来自于卷积权重中独立的一个通道,其比例系数的相对独立,因此在权重输入端添加逐通道量化的线性对称量化器
。5.
根据权利要求1所述的一种适用于深度卷积网络模型的网络轻量化方法,其特征在于,所述线性对称量化器的计算公式为:<...

【专利技术属性】
技术研发人员:刘成菊陈启军陆理文
申请(专利权)人:同济大学
类型:发明
国别省市:

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

1