基于实时场景下语音信噪比预分级的卷积神经网络计算电路的制作方法

文档序号:19478290发布日期:2019-12-21 03:03阅读:226来源:国知局
基于实时场景下语音信噪比预分级的卷积神经网络计算电路的制作方法

本发明公开了基于实时场景下语音信噪比预分级的卷积神经网络计算电路,涉及人工智能神经网络电路结构的设计,属于计算、推算、计数的技术领域。



背景技术:

不同语音词包含的信息量存在差异且其噪声背景不同,对计算精度的要求也不同。以英文单词为例,其发音音节有长有短,音节的复杂性对于网络的容错率会有一定的影响,在语音识别中,不同噪声环境对网络的精度要求也会有差异。

语音信息的丰富度决定了适用网络模型的复杂度,针对特定任务选择合适的识别模型至关重要。对于比较简单、信息量少、噪声干扰不强的语音信息使用较低精度就可以完成识别任务,对于复杂、信息量多、噪声背景复杂的语音信息使用较高精度才会取得较好的识别效果。实际应用中,输入的语音信息是多种多样的,既包含简单的语音信号又包含复杂的语音信号,如果根据语音复杂度频繁地更换识别模型会花费大量的计算调度时间。实际任务中有时仅仅需要粗粒度的分类,有时又需要细粒度的分类。粗粒度的分类只需要使用较低精度,细粒度分类需要使用较高精度。实际应用中,对于低噪声简单背景下的孤立词识别或者当前任务识别精度要求较低时,运行高精度网络会造成冗余计算,浪费计算资源;固定使用较低精度计算难以实现要求较高的复杂语音的处理。因此,根据输入语音数据的噪声背景复杂度和识别任务的精度要求动态选择卷积神经网络计算电路的工作状态是解决复杂环境下语音识别问题的一种可行方案。



技术实现要素:

本发明的发明目的是针对上述背景技术的不足,实现了基于实时场景下语音信噪比预分级的卷积神经网络计算电路,根据实时语音场景环境复杂度动态地智能感知计算并自适应调节网络运算位宽以及傅里叶变换蝶形运算级数,解决了传统语音识别系统因过饱和运算造成系统资源浪费的技术问题。

本发明为实现上述发明目的采用如下技术方案:

基于实时场景下语音信噪比预分级的卷积神经网络计算电路,包括:位宽可控的卷积网络计算模块、自适应语音特征提取计算模块及动态实时语音信噪比检测模块。工作时,位宽可控的卷积网络计算模块和自适应语音特征提取计算模块的控制信号由系统控制信号以及动态实时语音信噪比检测模块输出的两位控制信号共同决定,并由该控制信号确定当前场景下卷积神经网络的最优计算模式。

位宽可控的卷积网络计算模块由卷积计算子单元以及位宽控制单元构成,其数据位宽控制信号由自适应位宽控制单元产生。当环境信噪比较差时,即对于复杂、信息量多、噪声背景复杂的语音信息输入,则动态实时语音信噪比检测模块输出控制信号c0=1,表明需要动态选择高精度计算模式,自适应位宽控制单元产生16位数据位宽的控制信号并限定各卷积层计算数位位宽为16位;当环境信噪比较好时,即对于低噪声简单背景下的孤立词识别或者当前任务识别精度要求较低时,自适应位宽控制单元产生8位数据位宽的控制信号并限定各卷积层计算数位位宽为8位,这种电路调度方式的计算延时显著优于根据语音复杂度频繁地更换识别模型的传统调度方式。

自适应语音特征提取计算模块,包括:分帧单元、精度可控的fft计算单元和梅尔滤波单元。自适应语音特征提取计算模块根据快速傅里叶变换控制信号c1动态调整快速傅里叶计算的运算级数,其中,精度可控的快速傅里叶计算模块由9级可主动开启的蝶形运算单元构成。工作时,该信号控制方式与位宽控制信号c0类似,c1=1表明当前场景信噪比较差,则动态片选全部9级蝶形运算单元,即选择512点快速傅里叶变换,以此提高当前场景下的语音数据特征信息从而提高网络识别精度;反之,当c1=0时,则表明场景信噪比较好,则动态片选前8级蝶形运算单元以动态选择256点快速傅里叶变换,从而显著降低快速傅里叶变换操作的访存功耗和计算功耗。

动态实时语音信噪比检测模块为本发明的核心控制模块,其作用在于对当前环境输入的语音数据进行预计算判别并动态选择电路工作模式,从而大大提高传统卷积神经网络的可靠性和灵活性。由于实际场景中,网络输出的语音信息往往包含很多噪声,其中,由于电路运行所产生的白噪声最为明显。为了提高带噪声语音识别精度,传统卷积网络通过限定最差情况的数据运算位宽以及语音特征提取计算模块的fft运算节点数来增加整个卷积网络的可靠性。但大多情况下,卷积网络工作在不包含有效语音信息的静默状态,如果仍然采用大数据位宽、大fft节点数必然产生大量的冗余操作,增加了系统实际功耗开销,占用不必要的硬件资源。因此,选定大小合适的前项预分级模块可显著改善目前神经网络运算电路所存在的不足。

本发明所设计的动态实时语音信噪比检测模块包括:短时能量计算模块、过零率计算模块、阈值分级模块以及一个加权计算单元。动态实时语音信噪比检测模块基于短时能量和短时过零率双门限方法检测语音信号以初步判断语音环境的复杂度,并通过阈值分级模块最终确定控制信号c1c0的具体值。其中,阈值分级模块的预设定阈值分别为vth1=1、vth2=0.8、vth3=0.6,控制信号c1c0对应4中不同的电路工作模式,这里4种工作模式对应场景信噪比分级水平,分别为“优”、“良”、“中”和“差”。在“优”的场景下,c1c0输出为00,信噪比预分级的卷积神经网络计算电路工作在256点fft运算模式8位卷积网络运算位宽方式下;在“良”的场景下,c1c0输出为01,信噪比预分级的卷积神经网络计算电路工作在256点fft运算模式,16位卷积网络运算位宽方式下;在“中”的场景下,c1c0输出为10,信噪比预分级的卷积神经网络计算电路工作在512点fft运算模式,8位卷积网络运算位宽方式下;最后,在“差”的场景下,即对应最坏的环境场景,c1c0输出为11,信噪比预分级的卷积神经网络计算电路工作在512点fft运算模式,16位卷积网络运算位宽方式下,为本发明所设计电路的最高运算精度。

本发明采用上述技术方案,具有以下有益效果:本申请提出的用于识别语音的神经网络计算电路在原有电路基础上增设了提高电路可靠性的动态实时语音信噪比检测模块,通过对输入语音的能量进行短时能量和过零率双门限检测环境复杂度,能够敏感感知语音输入环境的变化,进而实现计算电路工作模式的自适应调节。再根据环境的实时复杂度进行信噪比预分类,依据先增大位宽后增大蝶形运算单元级数的原则调节神经网络计算阵列的位宽和语音特征提取计算模块的fft操作数,该电路在感知环境信噪比变化时实现网络运算位宽以及傅里叶变换节点数的自适应调节,从而避免冗余计算和浪费计算资源。特别在语音识别系统中,这种工作方式显著地提高了系统计算的可靠性和稳定性,极大地降低了系统在正常环境下的运行功耗。

附图说明

图1是本发明提出的信噪比预分级的卷积神经网络计算电路框图。

图2是本发明提出的动态实时语音信噪比检测模块框图。

图3是本发明提出的自适应语音特征提取计算模块框图。

图4是本发明提出的位宽可控的卷积网络计算模块框图。

图5是本发明提出的信噪比预分级的卷积神经网络计算工作流程图。

具体实施方式

下面结合具体实施例进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明所做出的各种等价形式的修改均落于本申请所附权利要求限定的范围。

基于实时场景下语音信噪比预分级的卷积神经网络计算电路,对于实时场景输入8位语音数据,动态实时语音信噪比检测模块根据其输入数据特征动态出两位大小的控制信号c1c0,以根据不同场景下的输入语音数据动态调整卷积网络计算模块的工作方式以及自适应语音特征提取计算模块的工作模式。

如图1所示,本发明提出的信噪比预分级的卷积神经网络计算电路,包括:位宽可控的卷积网络计算模块、自适应语音特征提取计算模块和动态实时语音信噪比检测模块。其核心模块为动态实时语音信噪比检测模块,该模块包含实时语音数据的短时能量计算模块、过零率检测模块、加权求和单元以及比较译码器。此外,位宽可控的卷积网络计算模块由卷积计算子单元以及自适应位宽控制单元构成。自适应语音特征提取计算模块包括:分帧单元、精度可控的快速fft计算单元以及梅尔滤波单元。精度可控的快速fft计算单元为该模块的创新设计单元。

如图2所示,动态实时语音信噪比检测模块包括:短时能量计算模块、过零率计算模块、阈值分级模块以及一个加权计算单元。动态实时语音信噪比检测模块的输入为当前场景下的8位语音数据,短时短时能量计算模块和过零率检测模块分别输出短时能量值a和过零率数值b,具体地:

通过短时能量计算模块计算当前输入语音数据信息的短时能量比值a,一般对于输入的一帧长度的实时语音数据,该模块获得每个段的短时平均能量,且每段语音的样本点n=300。其输出短时能量比值a计算公式如式(1)所示。

通过过零率计算模块计算当前输入语音数据能量的过零率比值b。一般地,前10个段通常是背景噪声,因此,我们通过式(2)将过零率的阈值ath设置为前10帧语音的平均能量值作为系统的低噪声能量。显然与正常的过零率不同,这里的幅度阈值不为零。本发明用于实时语音环境复杂度检测的过零率是由300个样本组成的每个段的绝对幅度超过ath的比率,如果速率超过40%,则从过零率的角度检测该段作为正常的语音。式(3)为过零率计算模块输出的过零率比值b。

其中,ath为过零率阈值大小,n为一帧语音时间内每个采样点的绝对幅度超过ath的个数,n=300。

短时能量比值a和过零率比值b输入加权求和单元计算得出对应的环境复杂度数值y,其中,加权求和单元的加权系数为k(k=1.3),如式(4)所示。

y=k*a*(1+b)(4)。

阈值分级模块将实时的环境复杂度数值y与预先设定的三级阈值vth1、vth2、vth3进行比较判别处理并输出两位的控制信号以控制卷积网络计算模块和语音特征提取计算模块的工作模式。具体地,当环境复杂度数值y<vth1,则阈值分级模块译码输出控制信号c1c0=00;当环境复杂度数值vth1≤y<vth2,则阈值分级模块译码输出控制信号c1c0=01;当环境复杂度数值vth2≤y<vth3,则阈值分级模块译码输出控制信号c1c0=10;当环境复杂度数值y≥vth3,则阈值分级模块译码输出控制信号c1c0=11。对于不同语音场景下对于的具体的输出控制信号c1c0,基于实时场景下语音信噪比预分级的卷积神经网络计算电路动态选择不同的电路计算模式以完成不同类型的网络运算。

如图3所示,自适应语音特征提取计算模块包括:分帧单元、精度可控的fft计算单元和梅尔滤波单元。自适应语音特征提取计算模块根据快速傅里叶变换控制信号c1动态调整快速傅里叶计算的运算级数或点数,其中,精度可控的快速傅里叶计算模块由9级可主动开启的蝶形运算单元构成,并且前8级蝶形运算单元开启信号由系统片选信号决定,一般地,在正常工作模式下为高电平有效;最后一级蝶形运算开启信号由系统片选信号和c1或运算结果决定,显然在工作模式下,只有当c1=1才使能最后一级蝶形运算单元。该模块工作时特征为:当c1=1,表明当前场景信噪比较差,则动态片选全部9级蝶形运算单元,即选择512点快速傅里叶变换,提高当前场景下的语音数据特征信息从而提高网络识别精度;当c1=0时,则表明场景信噪比较好,关闭最后一级蝶形运算并动态配置蝶形运算实部虚部系数参数,以选择256点快速傅里叶变换,从而显著降低快速傅里叶变换操作的访存功耗和计算功耗。

如图4所示,位宽可控的卷积网络计算模块由卷积计算子单元以及位宽控制单元构成。自适应位宽控制单元的状态控制信息由动态实时语音信噪比检测模块输出的位宽控制信号c0决定,并实时输出8位或16位网络运算数据位宽控制信号。当c0=1,表明当前场景信噪比很差,自适应位宽控制单元产生16位数据位宽控制信号并限定各卷积层计算数位位宽为16位;当c0=0,表明当前场景信噪比较好,自适应位宽控制单元产生8位数据位宽控制信号并限定各卷积层计算数位位宽为8位,通过限定数据运算位宽,以大大减少卷积网络中大量的乘法运算的计算量。

本实施例基于实时场景下语音信噪比预分级的卷积神经网络计算电路工作流程图如图5所示,具体的实施步骤如下:

1)动态实时语音信噪比检测模块通过其短时能量计算模块和过零率计算模块计算得出短时能量数值a和过零率数值大小b。短时能量数值和过零率数据通过加权求和模块输出当前环境复杂度y。阈值分级模块将当前环境复杂度和设定阈值比较输出最终两位控制信号c1c0。

2)控制信号c1c0动态配置所述电路工作模式,若c1c0=00,则配置256点的基2串行fft操作以及8位的卷积计算数据位宽,否则判断c1c0=01,若是则配置256点fft操作以及16位的卷积计算数据位宽,反之则继续判断c1c0=10,若是,则配置512点fft操作以及8位的卷积计算数据位宽,若果不满足以上所有情况,显然c1c0=11,则配置512点fft操作以及16位的卷积计算数据位宽。

3)基于实时场景下语音信噪比预分级的卷积神经网络计算电路具有智能感知计算及卷积网络计算模式动态可配的特点。根据当前实时语音场景,由动态实时语音信噪比检测模块输出控制并配置当前电路计算模式,进行不同的计算操作,最终输出当前语音数据输入的识别结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1