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

一种余弦卷积神经网络量化方法、应用及系统技术方案

技术编号:34456737 阅读:38 留言:0更新日期:2022-08-06 17:03
本发明专利技术涉及一种余弦卷积神经网络量化方法、应用及系统,包括浮点参数池、余弦卷积参数量化计算模块、余弦卷积运算单元及量化参数池。浮点参数池用于存储训练完成的余弦卷积神经网络参数;所述参数量化模块根据量化位数设置生成余弦查找表用于量化余弦卷积核,同时根据浮点参数的统计特征及KL散度计算量化所需参数;余弦卷积运算单元用于获取基于KL散度的自适应量化阈值设置模块所需的激活值;将量化完成后的参数以有符号整数的格式存入到量化参数池中,取代浮点参数形成量化后的余弦卷积神经网络,降低余弦卷积神经网络的计算量。降低余弦卷积神经网络的计算量。降低余弦卷积神经网络的计算量。

【技术实现步骤摘要】
一种余弦卷积神经网络量化方法、应用及系统


[0001]本专利技术涉及一种基于KL散度和余弦查找表的余弦卷积神经网络量化方法、应用及系统,属于神经网络、人工智能


技术介绍

[0002]深度神经网络为一种新型的端到端、可自动学习和提取特征的深度学习模型,尤其是深度卷积神经网络(Convolutional Neural Network,CNN)越来越多地被应用到计算机视觉及信号处理领域。相对于经手工设计和提取的时频域特征与经典分类器结合的方法,深度神经网络更善于从原始信号中自动学习和整合特征。目前,深度神经网络应用研究主要集中于探索和优化不同的网络结构,但网络结构的改变实际上对分类和识别结果的准确性、鲁棒性的提升是有限的,且现有的卷积模块并没有包含先验知识,训练过程缓慢且易过拟合。因此,采用余弦卷积核代替常规卷积核可以学习到周期性特征,通过降低参数规模,提高卷积神经网络的泛化能力。深度卷积神经网络通常具有十几个甚至几十个卷积层,参数量庞大,以32位比特浮点数进行存储将占用大量的内存空间,导致无法移植到手机或边缘计算单元中进行部署。当前解决卷积神经网络部署困难的解决方案主要是对网络参数进行低位宽量化实现,但现有的量化方法并非针对余弦卷积网络而设计,使得量化后参数占用空间压缩不明显,不能满足实际应用需求。

技术实现思路

[0003]针对现有技术的不足,本专利技术提出了一种余弦卷积神经网络参数量化方法。基于余弦查找表及KL散度,对余弦卷积神经网络的所有参数量化至低位宽整数以降低网络计算量,提高网络计算效率。
[0004]本专利技术还提供了一种量化后的余弦卷积神经网络在脑电信号分类方面的应用以及一种余弦卷积神经网络参数量化系统。
[0005]专利技术概述
[0006]一种余弦卷积神经网络量化电路及参数量化方法,包括浮点参数池、余弦卷积参数量化计算模块、余弦卷积运算单元和量化参数池。训练完成的余弦卷积神经网络参数送入浮点参数池;余弦卷积参数量化计算模块基于余弦查找表和KL散度,从浮点参数池中逐层读取浮点参数进行逐层量化得到低位宽的量化参数;将量化完成后的参数取代浮点参数形成量化后的余弦卷积神经网络,降低余弦卷积神经网络的计算量。
[0007]术语解释:
[0008]1、量化:将一组参数通过数学变换映射到另一个值域的过程。通常采用线性映射的方法实现映射变换。参数的原始值通常为浮点数,而量化后的参数值一般为整数。
[0009]2、反量化:将量化后的参数按照之前量化过程,反变换回该组参数原始值域的过程。反量化的目标是使反量化后的参数与原始浮点参数的值尽可能相等以减少量化带来的精度损失。
[0010]3、训练:向神经网络的输入一组数据,将得到的输出结果与这组数据对应的标签进行对比并计算误差,通过反向传播算法得到每个参数的梯度值并对其更新。
[0011]4、余弦卷积神经网络:卷积核为余弦函数Acos(ωx)调制的卷积神经网络,其中幅值A和角速度ω是每个卷积核的两个可学习参数,x为一个间隔为1的等差数列,单调递增,其元素个数与卷积核长度一致。
[0012]5、全连接层:全连接层中包含有一个浮点参数权重矩阵P,不参与量化过程。
[0013]本专利技术的技术方案如下:
[0014]一种余弦卷积神经网络量化方法,包括步骤如下:
[0015]1)训练一个具有N
l
个余弦卷积层的余弦卷积神经网络,统计训练完成的余弦卷积神经网络的参数值,找到余弦卷积神经网络内所有层中角速度参数ω的最大值,并计算它的量化尺度S
ω
:其中,BW
ω
为角速度参数ω的量化位宽,|
·
|
max
为对角速度参数ω取绝对值的最大值;
[0016]2)从训练数据中取一部分数据作为量化校正数据集X
c
,计算输入数据量化尺度
[0017]3)计算量化余弦查找表的量化尺度S
Ω

[0018]4)初始化量化余弦查找表其中,k为余弦卷积神经网络设定的卷积核长度;中第j行第m列被初始化为:其中,cos(
·
)为余弦函数;
[0019]5)开始逐层量化每一个余弦卷积层,从l=1开始进行以下循环迭代:
[0020]a)融合第N
l
层余弦卷积层和与它关联的批归一化层;
[0021]b)量化第N
l
层余弦卷积层的所有角速度参数:其中,|
·
|为对参数取绝对值,[
·
]为四舍五入取整函数;
[0022]c)找到第N
l
层余弦卷积层幅值参数A
l
的最大值,并计算量化尺度其中BW
A
为幅值参数的量化位宽;
[0023]d)量化第N
l
层余弦卷积层的幅值参数:
[0024]e)根据基于KL散度的自适应量化阈值设置算法计算激活量化尺度
[0025]f)计算第N
l
层余弦卷积层输出的量化因子M
l

[0026]g)更新第N
l
层余弦卷积层的偏置项B
l

[0027]h)若l=N
l
,则迭代结束,跳出循环,进入步骤6),否则,令l加1,返回步骤a);
[0028]6)计算最后一个余弦卷积层对应的反量化因子
[0029]7)将得到的量化后的余弦卷积神经网络权重参数包括M
l
、B
l
、M
deQ
存入量化参数池中作为量化后的余弦卷积神经网络的权重,l=1,2,...,N
l

[0030]进一步优选的,步骤2)中,其中,BW
act
为余弦卷积神经网络激活值的量化位宽。
[0031]进一步优选的,步骤3)中,其中,BW
Ω
为余弦查找表的量化位宽。
[0032]根据本专利技术优选的,步骤5)中,融合第l层余弦卷积层和与它关联的批归一化层,实现步骤为:更新幅值参数和偏置参数其中,和μ
B
为余弦卷积神经网络中批归一化层在训练阶段得到的方差和均值,ε为防止方差为零设计的小数,β和γ分别是批归一化层在训练阶段学习到的归一化偏置参数和归一化缩放参数。
[0033]进一步优选的,ε=10
‑5。
[0034]根据本专利技术优选的,步骤5)中,根据基于KL散度的自适应量化阈值设置算法计算激活量化尺度实现步骤包括:
[0035]①
将量化校正数据集X
c
送入余弦卷积神经网络,并获得第N
l
层余弦卷积层的激活值;
[0036]②
取步骤

中激活值的绝对值,将其值域划分为N
H
个等间隔区域,设每个间隔区域宽度为W
H...

【技术保护点】

【技术特征摘要】
1.一种余弦卷积神经网络量化方法,其特征在于,包括步骤如下:1)训练一个具有N
l
个余弦卷积层的余弦卷积神经网络,统计训练完成的余弦卷积神经网络的参数值,找到余弦卷积神经网络内所有层中角速度参数ω的最大值,并计算它的量化尺度S
ω
:其中,BW
ω
为角速度参数ω的量化位宽,|
·
|
max
为对角速度参数ω取绝对值的最大值;2)从训练数据中取一部分数据作为量化校正数据集X
c
,计算输入数据量化尺度3)计算量化余弦查找表的量化尺度S
Ω
;4)初始化量化余弦查找表其中,k为余弦卷积神经网络设定的卷积核长度;中第j行第m列被初始化为:其中,cos(
·
)为余弦函数;5)开始逐层量化每一个余弦卷积层,从l=1开始进行以下循环迭代:a)融合第N
l
层余弦卷积层和与它关联的批归一化层;b)量化第N
l
层余弦卷积层的所有角速度参数:其中,|
·
|为对参数取绝对值,[
·
]为四舍五入取整函数;c)找到第N
l
层余弦卷积层幅值参数A
l
的最大值,并计算量化尺度其中BW
A
为幅值参数的量化位宽;d)量化第N
l
层余弦卷积层的幅值参数:e)根据基于KL散度的自适应量化阈值设置算法计算激活量化尺度f)计算第N
l
层余弦卷积层输出的量化因子M
l
:g)更新第N
l
层余弦卷积层的偏置项B
l
:h)若l=N
l
,则迭代结束,跳出循环,进入步骤6),否则,令l加1,返回步骤a);6)计算最后一个余弦卷积层对应的反量化因子7)将得到的量化后的余弦卷积神经网络权重参数包括M
l
、B
l
、M
deQ
存入量化参数池中作为量化后的余弦卷积神经网络的权重,l=1,2,...,N
l
。2.根据权利要求1所述的一种余弦卷积神经网络量化方法,其特征在于,步骤2)中,其中,BW
act
为余弦卷积神经网络激活值的量化位宽。3.根据权利要求1所述的一种余弦卷积神经网络量化方法,其特征在于,步骤3)中,其中,BW
Ω
为余弦查找表的量化位宽。4.根据权利要求1所述的一种余弦卷积神经网络量化方法,其特征在于,步骤5)中,融合第l层余弦卷积层和与它关联的批归一化层,实现步骤为:更新幅值参数和偏置参数其中,和μ
B
为余弦卷积神经网络中批归一化层在训练阶段得到的方差和均值,ε为防止方差为零设计的小数,β和γ分别是批归一化层在训练阶段
学习到的归一化偏置参数和归一化缩放参数;进一步优选的,ε=10
‑5。5.根据权利要求1所述的一种余弦卷积神经网络量化方法,其特征在于,步骤5)中,根据基于KL散度的自适应量化阈值设置算法计算激活量化尺度实现步骤包括:

将量化校正数据集X
c
送入余弦卷积神经网络,并获得第N
l
层余弦卷积层的激活值;

取步骤

中激活值的绝对值,将其值域划分为N
H
个等间隔区域,设每个间隔区域宽度为W
H
,计算每个间隔区域内的参数数量,得到参数分布直方图H;

从开始进行以下循环迭代:i)取参数分布直方图H的前i个值,设为H
*
,并将这些值归一化到0至1之间;j)将H
*
的定义域量化为0到之间的整数,设为k)通过补零的方式,将扩展为0到i

1之间的整数,并将其归一化到0至1之间,设为l)计算和H
*
之间的KL散度值D
KL...

【专利技术属性】
技术研发人员:周卫东刘国洋
申请(专利权)人:山东大学
类型:发明
国别省市:

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

1