HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种基于分离卷积神经网络的语音唤醒方法及系统与流程

2021-01-28 12:01:07|280|起点商标网
一种基于分离卷积神经网络的语音唤醒方法及系统与流程

本发明涉及语音识别领域,特别是涉及一种基于分离卷积神经网络的语音唤醒方法及系统。



背景技术:

一个卷积神经网络提供在时间和空间上的平移不变性卷积,将卷积神经网络的思想应用到语音识别的声学建模中,则可以利用卷积的不变性来克服语音信号本身的多样性。从这个角度来看,则可以认为是将整个语音信号分析得到的时频谱当作一张图像一样来处理,采用图像中广泛应用的深层卷积网络对其进行唤醒。但是通过训练神经网络得到的语音唤醒模型存在着高计算量与高功耗的问题;由于数以千万计的计算量,将语音唤醒模型部署到硬件上时会造成硬件面积过大,功耗过高等问题。这使得深层的卷积神经网络严重依赖于gpu等高性能硬件,导致语音唤醒模块在设备上应用的局限性较大。



技术实现要素:

本发明的目的是提供一种基于分离卷积神经网络的语音唤醒方法及系统,减少识别处理任务量,减小硬件面积和硬件损耗。

为实现上述目的,本发明提供了如下方案:

一种基于分离卷积神经网络的语音唤醒方法,所述语音唤醒方法包括:

获取待识别音频文件并提取所述待识别音频文件的语音特征;

将所述待识别音频文件的语音特征输入到音频唤醒模型中,得到音频识别结果;其中,所述音频唤醒模型是依据二值化、批量正则化以及深度可分离卷积神经网络模型建立而成;所述音频唤醒模型的建立方法具体包括:

获取训练样本;所述训练样本包括多个样本对;每个样本对均包括一个输入、一个输出;所述输入为已知识别结果的音频文件的语音特征,所述输出为所述已知识别结果的音频文件对应的识别结果;

利用对所述深度可分离卷积神经网络模型的所有参数权重和所有参数激活值进行二值化处理,得到二值化分离卷积神经网络模型;其中xb为二值化后的参数,x表示参数权重或参数激活值;

将所述已知识别结果的音频文件的语音特征输入到所述二值化分离卷积神经网络模型,利用批量正则化、二值化对所述二值化分离卷积神经网络模型进行处理,得到二值化分离卷积神经网络模型的输出;

根据所述二值化分离卷积神经网络模型的输出和所述已知识别结果的音频文件对应的识别结果,利用损失函数对所述二值化分离卷积神经网络模型进行优化,得到损失函数对于全精度权重的导数;

根据所述损失函数对于全精度权重的导数对所述二值化分离卷积神经网络模型的权值进行更新,进而更新所述二值化分离卷积神经网络模型;更新后的二值化分离卷积神经网络模型为所述音频唤醒模型。

可选的,所述将所述已知识别结果的音频文件的语音特征输入到所述二值化分离卷积神经网络模型,利用批量正则化、二值化对所述二值化分离卷积神经网络模型进行处理,得到二值化分离卷积神经网络模型的输出具体包括:

s1:获取所述已知识别结果的音频文件的语音特征;

s2:将所述已知识别结果的音频文件的语音特征作为所述二值化分离卷积神经网络模型第一层的输入,将所述已知识别结果的音频文件的语音特征与第一权值相乘,得到第一层未处理的输出;

s3:将所述第一层未处理的输出依次进行批量正则化处理和二值化处理,得到所述二值化分离卷积神经网络模型第一层输出;

s4:将所述二值化分离卷积神经网络模型第一层输出作为第二层的输入,与第二权值相乘,得到第二层未处理的输出;

s5:将所述第二层未处理的输出依次进行批量正则化处理和二值化处理,得到所述二值化分离卷积神经网络模型第二层输出;

s6:重复步骤s4-s5至所有层的处理均完成,得到所述二值化分离卷积神经网络模型的输出。

可选的,所述批量正则化的公式为:μb为数据的均值,m为数据量,为数据的方差,为批量正则化后的参数,ε为常数。

可选的,所述根据所述二值化分离卷积神经网络模型的输出和所述已知识别结果的音频文件对应的识别结果,利用损失函数对所述二值化分离卷积神经网络模型进行优化,得到损失函数对于全精度权重的导数具体包括:

获取所述已知识别结果的音频文件对应的识别结果和所述二值化分离卷积神经网络模型的输出;

将所述已知识别结果的音频文件对应的识别结果与所述二值化分离卷积神经网络模型的输出做差,得到损失函数;所述损失函数为:

其中dr为损失函数对参数的梯度,max为对梯度张量所有维度的统计,quantize为对所述二值化分离卷积神经网络模型进行二值化处理的过程;表示对dr的k位量化,k表示量化后的梯度的位宽;

利用对所述损失函数进行处理,得到所述损失函数对于全精度权重的导数其中r0为二值化后的权重。

可选的,所述根据所述损失函数对于全精度权重的导数对所述二值化分离卷积神经网络模型的权值进行更新,进而更新所述二值化分离卷积神经网络模型具体包括:

获取所述损失函数对于全精度权重的导数和所述二值化分离卷积神经网络模型全精度未更新的权值ri;

利用对所述二值化分离卷积神经网络模型的权值进行更新,得到所述二值化分离卷积神经网络模型更新后的权值ri’。

一种基于分离卷积神经网络的语音唤醒系统,所述语音唤醒系统包括:

语音特征获取模块,用于获取待识别音频文件并提取所述待识别音频文件的语音特征;

识别模块,用于将所述待识别音频文件的语音特征输入到音频唤醒模型中,得到音频识别结果;其中,所述音频唤醒模型是依据二值化、批量正则化以及深度可分离卷积神经网络模型建立而成;所述音频唤醒模型的建立模块具体包括:

训练样本获取单元,用于获取训练样本;所述训练样本包括多个样本对;每个样本对均包括一个输入、一个输出;所述输入为已知识别结果的音频文件的语音特征,所述输出为所述已知识别结果的音频文件对应的识别结果;

二值化处理单元,用于利用对所述深度可分离卷积神经网络模型的所有参数权重和所有参数激活值进行二值化处理,得到二值化分离卷积神经网络模型;其中xb为二值化后的参数,x表示参数权重或参数激活值;

输出单元,用于将所述已知识别结果的音频文件的语音特征输入到所述二值化分离卷积神经网络模型,利用批量正则化、二值化对所述二值化分离卷积神经网络模型进行处理,得到二值化分离卷积神经网络模型的输出;

优化单元,用于根据所述二值化分离卷积神经网络模型的输出和所述已知识别结果的音频文件对应的识别结果,利用损失函数对所述二值化分离卷积神经网络模型进行优化,得到损失函数对于全精度权重的导数;

更新单元,用于根据所述损失函数对于全精度权重的导数对所述二值化分离卷积神经网络模型的权值进行更新,进而更新所述二值化分离卷积神经网络模型;更新后的二值化分离卷积神经网络模型为所述音频唤醒模型。

可选的,所述输出单元具体包括:

第一获取子单元,用于获取所述已知识别结果的音频文件的语音特征;

第一处理子单元,用于将所述已知识别结果的音频文件的语音特征作为所述二值化分离卷积神经网络模型第一层的输入,将所述已知识别结果的音频文件的语音特征与第一权值相乘,得到第一层未处理的输出;

第一输出子单元,用于将所述第一层未处理的输出依次进行批量正则化处理和二值化处理,得到所述二值化分离卷积神经网络模型第一层输出;

第二处理子单元,用于将所述二值化分离卷积神经网络模型第一层输出作为第二层的输入,与第二权值相乘,得到第二层未处理的输出;

第二输出子单元,用于将所述第二层未处理的输出依次进行批量正则化处理和二值化处理,得到所述二值化分离卷积神经网络模型第二层输出;

迭代子单元,用于重复步骤s4-s5至所有层的处理均完成,得到所述二值化分离卷积神经网络模型的输出。

可选的,所述批量正则化的公式为:μb为数据的均值,m为数据量,为数据的方差,为批量正则化后的参数,ε为常数。

可选的,所述优化单元具体包括:

第二获取子单元,用于获取所述已知识别结果的音频文件对应的识别结果和所述二值化分离卷积神经网络模型的输出;

损失函数获得子单元,用于将所述已知识别结果的音频文件对应的识别结果与所述二值化分离卷积神经网络模型的输出做差,得到损失函数;所述损失函数为:

其中dr为损失函数对参数的梯度,max为对梯度张量所有维度的统计,quantize为对所述二值化分离卷积神经网络模型进行二值化处理的过程;表示对dr的k位量化,k表示量化后的梯度的位宽;

损失函数对于全精度权重的导数获得子单元,用于利用对所述损失函数进行处理,得到所述损失函数对于全精度权重的导数其中r0为二值化后的权重。

可选的,所述更新模块具体包括:

第三获取子单元,用于获取所述损失函数对于全精度权重的导数和所述二值化分离卷积神经网络模型全精度未更新的权值ri;

更新子单元,用于利用对所述二值化分离卷积神经网络模型的权值进行更新,得到所述二值化分离卷积神经网络模型更新后的权值ri’。

根据本发明提供的具体实施例,本发明公开了以下技术效果:在分离卷积神经网络训练阶段使用二值化的权重和激活值以及量化后的低位宽反向传播梯度,通过这样的优化方式,可以在硬件上实现语音唤醒的任务,便于布置在可嵌入式设备上,便于边缘计算的部署。并且利用批量正则化对数据进行归一化处理,使数据同分布,提高了网络的训练速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于分离卷积神经网络的语音唤醒方法的示意图;

图2为本发明基于分离卷积神经网络的语音唤醒体统的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书以及上述附图中的术语“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应当理解,这样描述的对象在适当情况下可以互换。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。

在本专利文档中,下文论述的附图以及用来描述本发明公开的原理的各实施例仅用于说明,而不应解释为限制本发明公开的范围。所属领域的技术人员将理解,本发明的原理可在任何适当布置的系统中实施。将详细说明示例性实施方式,在附图中示出了这些实施方式的实例。此外,将参考附图详细描述根据示例性实施例的终端。附图中的相同附图标号指代相同的元件。

本发明说明书中使用的术语仅用来描述特定实施方式,而并不意图显示本发明的概念。除非上下文中有明确不同的意义,否则,以单数形式使用的表达涵盖复数形式的表达。在本发明说明书中,应理解,诸如“包括”、“具有”以及“含有”等术语意图说明存在本发明说明书中揭示的特征、数字、步骤、动作或其组合的可能性,而并不意图排除可存在或可添加一个或多个其他特征、数字、步骤、动作或其组合的可能性。附图中的相同参考标号指代相同部分。

本发明的目的是提供一种基于分离卷积神经网络的语音唤醒方法及系统,利用二值化对模型进行处理,加少了数据量,缩小了数据存储的空间,同时也缩小了硬件的功耗;并且对梯度进行低位宽量化,减少由于量化引起的精度损失。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

一种基于分离卷积神经网络的语音唤醒方法,所述语音唤醒方法包括:

步骤101:获取待识别音频文件并提取所述待识别音频文件的语音特征。

步骤102:将所述待识别音频文件的语音特征输入到音频唤醒模型中,得到音频识别结果;其中,所述音频唤醒模型是依据二值化、批量正则化以及深度可分离卷积神经网络模型建立而成。所述音频唤醒模型的建立方法具体包括:

获取训练样本;所述训练样本包括多个样本对;每个样本对均包括一个输入、一个输出;所述输入为已知识别结果的音频文件的语音特征,所述输出为所述已知识别结果的音频文件对应的识别结果。

利用对所述深度可分离卷积神经网络模型的所有参数权重和所有参数激活值进行二值化处理,得到二值化分离卷积神经网络模型;其中xb为二值化后的参数,x表示参数权重或参数激活值;例如将32位浮点数类型的权重定点为+1或者-1。

将所述已知识别结果的音频文件的语音特征输入到所述二值化分离卷积神经网络模型,利用批量正则化、二值化对所述二值化分离卷积神经网络模型进行处理,得到二值化分离卷积神经网络模型的输出。

根据所述二值化分离卷积神经网络模型的输出和所述已知识别结果的音频文件对应的识别结果,利用损失函数对所述二值化分离卷积神经网络模型进行优化,得到损失函数对于全精度权重的导数。

根据所述损失函数对于全精度权重的导数对所述二值化分离卷积神经网络模型的权值进行更新,进而更新所述二值化分离卷积神经网络模型;更新后的二值化分离卷积神经网络模型为所述音频唤醒模型。

本发明基于分离卷积神经网络模型,将权值与激活值二值化为+1、-1,并将反向传播梯度量化为低比特来训练模型,最终进行语音唤醒,减少由于量化引起的精度损失。

以上内容是将语音唤醒与分离卷积神经网络模型结合,上述方式还可用于图像识别和图像检测等诸多任务处理过程中,这种方式的优势是可以在不降低太多精度的情况下很大程度上减少了计算量以及硬件面积,并且降低很大的功耗。这样的处理方式们可以减小硬件的体积,便于硬件在卡嵌入式设备上的安装,便于边缘计算的部署。

具体实施过程中,对分离卷积神经网络模型进行综合处理并得到相应输出的方法具体包括:

s1:获取所述已知识别结果的音频文件的语音特征;得到语音特征具体方法是利用梅尔倒谱系数进行提取,基本步骤是:连续语音-预加重-分帧-加窗-fft-mel滤波器组-对数运算-dct,得到的语音特征为矩阵形式。

s2:将所述已知识别结果的音频文件的语音特征作为所述二值化分离卷积神经网络模型第一层的输入,将所述已知识别结果的音频文件的语音特征与第一权值相乘,得到第一层未处理的输出。

s3:将所述第一层未处理的输出依次进行批量正则化处理和二值化处理,得到所述二值化分离卷积神经网络模型第一层输出。

s4:将所述二值化分离卷积神经网络模型第一层输出作为第二层的输入,与第二权值相乘,得到第二层未处理的输出。

s5:将所述第二层未处理的输出依次进行批量正则化处理和二值化处理,得到所述二值化分离卷积神经网络模型第二层输出。

s6:重复步骤s4-s5至所有层的处理均完成,得到所述二值化分离卷积神经网络模型的输出。

批量正则化的公式为:μb为数据的均值,m为数据量,为数据的方差,为批量正则化后的参数,ε为常数。

批量正则化即通过计算数据的期望与方差将数据进行归一化的处理,目的为了将数据同分布,解决了由于分批次训练的数据的分布各不相同导致网络在每次训练时都要去学习适应不同的分布的问题;也就是本发明采用批量正则化处理可以大大提高网络的训练速度。

根据所述二值化分离卷积神经网络模型的输出和所述已知识别结果的音频文件对应的识别结果,利用损失函数对所述二值化分离卷积神经网络模型进行优化,得到损失函数对于全精度权重的导数具体过程为:

获取所述已知识别结果的音频文件对应的识别结果和所述二值化分离卷积神经网络模型的输出。

将所述已知识别结果的音频文件对应的识别结果与所述二值化分离卷积神经网络模型的输出做差,得到损失函数;深度神经网络中的的损失函数用来度量我们的模型得到的的预测值和数据真实值之间差距,也是一个用来衡量训练出来的模型泛化能力好坏的重要指标。对模型进行优化的最终目的是尽可能地在不过拟合的情况下降低损失值。

所述损失函数为:其中dr为损失函数对参数的梯度,max为对梯度张量所有维度的统计,quantize为对所述二值化分离卷积神经网络模型进行二值化处理的过程;表示对dr的k位量化,k表示量化后的梯度的位宽;将梯度进行了k位量化,最大值是对梯度张量所有维度的统计,然后在梯度上用来放缩变化将结果映射到[0,1]之间,然后在量化之后又放缩回去。

梯度的量化仅仅在反向传播时完成利用对所述损失函数进行处理,得到所述损失函数对于全精度权重的导数其中r0为二值化后的重。

根据所述损失函数对于全精度权重的导数对所述二值化分离卷积神经网络模型的权值进行更新,进而更新所述二值化分离卷积神经网络模型具体包括:

获取所述损失函数对于全精度权重的导数和所述二值化分离卷积神经网络模型全精度未更新的权值ri。

利用对所述二值化分离卷积神经网络模型的权值进行更新,得到所述二值化分离卷积神经网络模型更新后的权值ri’。

本发明请求保护的基于分离卷积神经网络的语音唤醒方法,在模型优化过程中对模型的权重以及激活值进行了二值化,并在反向传播中对梯度进行了低位宽量化。

二值化处理后,可以把矩阵乘法代替为xnor(异或非操作),这样就节省了大量的加法以及乘法计算,因此从执行时间来看,二值化神经网络是最快的;另一方面二值化将32位宽的权重转化为了1位的+1或-1,减少了数据的存储空间。相比于全精度神经网络内存大小减少了32倍,随之访问存储器也少了32倍;功耗和内存大小成正比,缩减了功耗,给移动端的部署提供了有效的可行性。

对梯度进行低位宽量化的优势为:同样减少了数据的存储空间,并可以类似的在反向传播中减少由于梯度与权重的矩阵乘法引起的乘加运算,需要强调的是,本发明没有直接将其量化为+1或者-1,而是将其量化为低位宽,这样做的目的是减少由于量化引起的精度损失。

与基于分离卷积神经网络的语音唤醒方法对应的是基于分离卷积神经网络的语音唤醒系统,该语音唤醒系统包括:语音特征获取模块201和识别模块202。

语音特征获取模块201用于获取待识别音频文件并提取所述待识别音频文件的语音特征。

识别模块202用于将所述待识别音频文件的语音特征输入到音频唤醒模型中,得到音频识别结果;其中,所述音频唤醒模型是依据二值化、批量正则化以及深度可分离卷积神经网络模型建立而成;所述音频唤醒模型的建立模块具体包括:

训练样本获取单元,用于获取训练样本;所述训练样本包括多个样本对;每个样本对均包括一个输入、一个输出;所述输入为已知识别结果的音频文件的语音特征,所述输出为所述已知识别结果的音频文件对应的识别结果。

二值化处理单元,用于利用对所述深度可分离卷积神经网络模型的所有参数权重和所有参数激活值进行二值化处理,得到二值化分离卷积神经网络模型;其中xb为二值化后的参数,x表示参数权重或参数激活值。

输出单元,用于将所述已知识别结果的音频文件的语音特征输入到所述二值化分离卷积神经网络模型,利用批量正则化、二值化对所述二值化分离卷积神经网络模型进行处理,得到二值化分离卷积神经网络模型的输出。

优化单元,用于根据所述二值化分离卷积神经网络模型的输出和所述已知识别结果的音频文件对应的识别结果,利用损失函数对所述二值化分离卷积神经网络模型进行优化,得到损失函数对于全精度权重的导数。

更新单元,用于根据所述损失函数对于全精度权重的导数对所述二值化分离卷积神经网络模型的权值进行更新,进而更新所述二值化分离卷积神经网络模型;更新后的二值化分离卷积神经网络模型为所述音频唤醒模型。

所述输出单元具体包括:

第一获取子单元,用于获取所述已知识别结果的音频文件的语音特征。

第一处理子单元,用于将所述已知识别结果的音频文件的语音特征作为所述二值化分离卷积神经网络模型第一层的输入,将所述已知识别结果的音频文件的语音特征与第一权值相乘,得到第一层未处理的输出。

第一输出子单元,用于将所述第一层未处理的输出依次进行批量正则化处理和二值化处理,得到所述二值化分离卷积神经网络模型第一层输出。

第二处理子单元,用于将所述二值化分离卷积神经网络模型第一层输出作为第二层的输入,与第二权值相乘,得到第二层未处理的输出。

第二输出子单元,用于将所述第二层未处理的输出依次进行批量正则化处理和二值化处理,得到所述二值化分离卷积神经网络模型第二层输出。

迭代子单元,用于重复步骤s4-s5至所有层的处理均完成,得到所述二值化分离卷积神经网络模型的输出。

所述批量正则化的公式为:μb为数据的均值,m为数据量,为数据的方差,为批量正则化后的参数,ε为常数。

所述优化单元具体包括:

第二获取子单元,用于获取所述已知识别结果的音频文件对应的识别结果和所述二值化分离卷积神经网络模型的输出。

损失函数获得子单元,用于将所述已知识别结果的音频文件对应的识别结果与所述二值化分离卷积神经网络模型的输出做差,得到损失函数;所述损失函数为:

其中dr为损失函数对参数的梯度,max为对梯度张量所有维度的统计,quantize为对所述二值化分离卷积神经网络模型进行二值化处理的过程;表示对dr的k位量化,k表示量化后的梯度的位宽。

损失函数对于全精度权重的导数获得子单元,用于利用对所述损失函数进行处理,得到所述损失函数对于全精度权重的导数其中r0为二值化后的权重。

更新模块具体包括:

第三获取子单元,用于获取所述损失函数对于全精度权重的导数和所述二值化分离卷积神经网络模型全精度未更新的权值ri。

更新子单元,用于利用对所述二值化分离卷积神经网络模型的权值进行更新,得到所述二值化分离卷积神经网络模型更新后的权值ri’。

本说明书中实施例采用递进的方式描述。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips