一种基于混合精度量化神经网络的语音唤醒方法及系统技术方案

技术编号:37365171 阅读:7 留言:0更新日期:2023-04-27 07:12
本发明专利技术公开了一种基于混合精度量化神经网络的语音唤醒方法及系统,所述方法包括:利用语音唤醒设备的麦克风采集待处理语音信号;对所述待处理语音信号进行特征提取,得到对数梅尔频谱特征;将所述对数梅尔频谱特征输入混合精度量化神经网络,确定所述对数梅尔频谱特征对应的分类结果;其中,所述混合精度量化指,针对网络中每一层对参数计算精度的要求,对每一层的参数和运算采用不同的量化位数进行参数量化及运算简化;若所述对数梅尔频谱特征对应的分类结果为唤醒词且已超过设定时限,唤醒所述语音唤醒设备。所述语音唤醒设备。所述语音唤醒设备。

【技术实现步骤摘要】
一种基于混合精度量化神经网络的语音唤醒方法及系统


[0001]本申请涉及语音控制技术,尤其涉及一种基于混合精度量化神经网络的语音唤醒方法及系统。

技术介绍

[0002]目前,语音唤醒服务在车载设备、智能家居设备、智能控制设备等多种设备上均有应用。而这些设备的共同点在于内存小、计算力有限,因此语音唤醒服务需同时满足高准确率、运行所用内存小、计算量少的要求。
[0003]而为了保证语音唤醒的准确率,语音唤醒服务需要高性能的神经网络模型来支持,例如高精度的深度卷积神经网络模型。但是,这类模型复杂度高,计算量大,通常需要占用设备大量内存,难以将其部署到内存较小的设备中。
[0004]因此,如何在保证唤醒精度的同时,减小语音唤醒服务的参数量与计算复杂度,是目前亟需解决的问题。

技术实现思路

[0005]本专利技术提供了一种基于混合精度量化神经网络的语音唤醒方法及系统,针对网络中每一层对参数计算精度的要求不同,采用不同的量化位数进行逐层量化,在保证唤醒精度的同时,能够大大减小模型的参数量与计算复杂度,从而降低了语音唤醒服务在内存占用、功耗与唤醒延时方面的缺陷。在实际应用中,可提供一种全新的低功耗语音唤醒思路以及芯片设计思路。
[0006]为解决上述技术问题,本专利技术的第一方面,公开了一种基于混合精度量化神经网络的语音唤醒方法,所述方法包括:
[0007]利用语音唤醒设备的麦克风采集待处理语音信号;
[0008]对所述待处理语音信号进行特征提取,得到对数梅尔频谱特征;/>[0009]将所述对数梅尔频谱特征输入混合精度量化神经网络,确定所述对数梅尔频谱特征对应的分类结果;其中,所述混合精度量化指,针对网络中每一层对参数计算精度的要求,对每一层的参数和运算采用不同的量化位数进行参数量化及运算简化;
[0010]若所述对数梅尔频谱特征对应的分类结果为唤醒词且已超过设定时限,唤醒所述语音唤醒设备。
[0011]优选的,所述混合精度量化神经网络,包括:依次连接的第一卷积层、批标准化BN层、线性整流单元ReLU激活函数、十二个以上的残差块、最大池化层、全连接层;
[0012]每个所述残差块包括:第二卷积层、批标准化BN层、线性整流单元ReLU激活函数以及一条捷径;
[0013]在每个所述残差块中,所述捷径连接当前残差块中的第二卷积层的输入端与所述BN层的输出端,用于复制第二卷积层的输入,并与所述BN层的输出相加得到总和;总和作为当前残差块中的ReLU激活函数的输入以及下一残差块的输入;最后残差块的输出进入所述
最大池化层进行降采样后,输入到所述全连接层计算概率;
[0014]其中,首层卷积层与最后一层全连接层采用8bit量化;所述残差块中的所有第二卷积层采用1bit量化;所述残差块中的所有BN层的特征输入和特征输出采用4bit量化。
[0015]优选的,所述所述首层卷积层与最后一层全连接层采用8bit量化,具体包括:
[0016]针对所述首层卷积层与所述最后一层全连接层,采用公式q=clamp(round(r*S―Z))对全精度输入进行8bit量化,得到无符号8bit特征输入及其量化因子和零点偏移量;其中,所述首层卷积层中的全精度输入为所述语音数据集对应的对数梅尔频谱特征输入;
[0017]其中,q为量化后的无符号参数,比特位跟随clamp为截断函数的范围改变;clamp为截断函数,范围在[0,255]之间;round为四舍五入函数;r为全精度输入,32bit;S为量化因子,S=2
a
,quantize_range为量化后取值范围,float_range为量化前取值范围,float_range=(rmax

rmin),max、rmin分别为32bit全精度输入r的最大值与最小值;Z为零点偏移量,Z=int(rmin*S),Z的范围限制在[0,255]之间,int为取整函数;
[0018]采用所述公式对权重进行8bit量化,得到无符号8bit权重及其量化因子和零点偏移量;其中,所述无符号8bit权重的每个通道均对应有各自的量化因子和零点偏移量。
[0019]优选的,所述所述首层卷积层与最后一层全连接层采用8bit量化之后,所述方法还包括:
[0020]基于所述无符号8bit特征输入及其量化因子和零点偏移量,所述无符号8bit权重及其量化因子和零点偏移量,将所述首层卷积层与最后一层全连接层中的乘法计算简化为:
[0021]((Qa+Za)/Sa)*((Qw+Zw)/Sw)=(Qa*Qw+Za*Zw+Za*Qw+Zw*Qa)/(Sa*Sw);其中,Qa表示所述无符号8bit特征输入,Za表示所述无符号8bit特征输入对应的零点偏移量,Sa表示所述无符号8bit特征输入对应的量化因子,Qw表示所述无符号8bit权重,Zw表示所述无符号8bit权重对应的零点偏移量,Sw表示所述无符号8bit权重对应的量化因子;
[0022]Qa*Qw、Za*Zw、Za*Qw、Zw*Qa均可采用8bit无符号乘法器实现,Sa*Sw利用移位操作来实现,累加计算采用8bit无符号加法器实现。
[0023]优选的,所述所述残差块中的所有第二卷积层采用1bit量化,具体包括:
[0024]针对每个所述第二卷积层,利用符号函数Sign将所述第二卷积层的特征输入与权重中大于0的部分量化为1,且小于0的部分量化为

1,得到1bit特征输入和1bit权重。
[0025]优选的,所述对所述残差块中的所有第二卷积层采用1bit量化之后,所述方法还包括:
[0026]针对每个所述第二卷积层,基于所述1bit特征输入和所述1bit权重,利用公式y
r
=popcount(xnor(a
b
,w
b
))计算出每个所述第二卷积层的特征输出y
r
;其中,a
b
,w
b
分别代表1bit量化后的1bit特征输入、1bit权重;xnor运算为同或运算;popcount运算为位运算。
[0027]优选的,所述残差块中的所有BN层的特征输入和特征输出采用4bit量化,具体包括:
[0028]采用所述公式对所述残差块中的所有BN层的特征输入和特征输出进行4bit量化;此时,clamp的截断范围为[0,63]。
[0029]优选的,所述采用所述公式对所述残差块中的所有BN层的特征输入和特征输出进行4bit量化,具体包括:
[0030]针对每个BN层的特征输入,计算得到所述BN层的特征输入对应的量化因子和零点偏移量,再利用所述公式对所述BN层的特征输入进行4bit量化;
[0031]将所述BN层的特征输入对应的量化因子作为参与计算的参数对应的量化因子,计算出对应的零点偏移量,再利用所述公式对参与计算的参数进行4bit量化,从而对特征输出的计算简化为4b本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于混合精度量化神经网络的语音唤醒方法,其特征在于,所述方法包括:利用语音唤醒设备的麦克风采集待处理语音信号;对所述待处理语音信号进行特征提取,得到对数梅尔频谱特征;将所述对数梅尔频谱特征输入混合精度量化神经网络,确定所述对数梅尔频谱特征对应的分类结果;其中,所述混合精度量化指,针对网络中每一层对参数计算精度的要求,对每一层的参数和运算采用不同的量化位数进行参数量化及运算简化;若所述对数梅尔频谱特征对应的分类结果为唤醒词且已超过设定时限,唤醒所述语音唤醒设备。2.如权利要求1所述的方法,其特征在于,所述混合精度量化神经网络,包括:依次连接的第一卷积层、批标准化BN层、线性整流单元ReLU激活函数、十二个以上的残差块、最大池化层、全连接层;每个所述残差块包括:第二卷积层、批标准化BN层、线性整流单元ReLU激活函数以及一条捷径;在每个所述残差块中,所述捷径连接当前残差块中的第二卷积层的输入端与所述BN层的输出端,用于复制第二卷积层的输入,并与所述BN层的输出相加得到总和;总和作为当前残差块中的ReLU激活函数的输入以及下一残差块的输入;最后残差块的输出进入所述最大池化层进行降采样后,输入到所述全连接层计算概率;其中,首层卷积层与最后一层全连接层采用8bit量化;所述残差块中的所有第二卷积层采用1bit量化;所述残差块中的所有BN层的特征输入和特征输出采用4bit量化。3.如权利要求2所述的方法,其特征在于,所述所述首层卷积层与最后一层全连接层采用8bit量化,具体包括:针对所述首层卷积层与所述最后一层全连接层,采用公式q=clamp(round(r*S―Z))对全精度输入进行8bit量化,得到无符号8bit特征输入及其量化因子和零点偏移量;其中,所述首层卷积层中的全精度输入为所述语音数据集对应的对数梅尔频谱特征输入;其中,q为量化后的无符号参数,比特位跟随clamp为截断函数的范围改变;clamp为截断函数,范围在[0,255]之间;round为四舍五入函数;r为全精度输入,32bit;S为量化因子,S=2
a
,quantize_range为量化后取值范围,float_range为量化前取值范围,float_range=(rmax

rmin),max、rmin分别为32bit全精度输入r的最大值与最小值;Z为零点偏移量,Z=int(rmin*S),Z的范围限制在[0,255]之间,int为取整函数;采用所述公式对权重进行8bit量化,得到无符号8bit权重及其量化因子和零点偏移量;其中,所述无符号8bit权重的每个通道均对应有各自的量化因子和零点偏移量。4.如权利要求3所述的方法,其特征在于,所述所述首层卷积层与最后一层全连接层采用8bit量化之后,所述方法还包括:基于所述无符号8bit特征输入及其量化因子和零点偏移量,所述无符号8bit权重及其量化因子和零点偏移量,将所述首层卷积层与最后一层全连接层中的乘法计算简化为:((Qa+Za)/Sa)*((Qw+Zw)/Sw)=(Qa*Qw+Za*Zw+Za*Qw+Zw*Qa)/(Sa*Sw);其中,Qa表示所述无符号8bit特征输入,Za表示所述无符号8bit特征输入对应的零点偏移量,Sa表示所
述无符号8bit特征输入对应的量化因子,Qw表示所述无符号8bit权重,Zw表示所述无符号8bit权重对应的零点偏移量...

【专利技术属性】
技术研发人员:王啸李郡尚德龙周玉梅
申请(专利权)人:中科南京智能技术研究院
类型:发明
国别省市:

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

1