一种基于语音合成数据增强的唤醒词训练方法与流程
本发明涉及音频信号处理,语音识别等技术领域,更具体地,涉及一种基于语音合成数据增强的唤醒词训练方法。
背景技术:
随着智能语音助手的出现,唤醒词识别系统在人机交互中发挥着越来越重要的作用。唤醒词识别旨在检测连续音频流中预定义的关键字或一组关键字。因此,设备上的唤醒词系统要求实时响应和低的计算成本,同时限制内存的消耗和计算设备数量。同时,它对不同的复杂词的检测精度和鲁棒性要求很高。
传统的方法中存在以下问题:问题一,传统方法的泛化性能还不足,识别的误报率和虚警率都较高。难以投入使用。问题二,由于与唤醒词相似的混淆词真实样本难以采集,可使用的数据相对较少。训练性能高,鲁棒性强的模型有较高难度。同时,数据不平衡的问题也会影响系统的整体表现。问题三,神经网络的建模单元选择不妥当,当前大部分的神经网络的建模单元为整个唤醒词或者唤醒词中的单独字,这会导致神经网络很可能只会识别唤醒词中的部分特征。在传统方法中,语音合成技术没有得到充分利用。
技术实现要素:
本发明为克服上述现有技术中的至少一个缺陷,提供一种基于语音合成数据增强的唤醒词训练方法,有效提高了系统对混淆词的识别率。
为解决上述技术问题,本发明采用的技术方案是:一种基于语音合成数据增强的唤醒词训练方法,包括以下步骤:
s1.获取语音数据之后,对语音数据进行数据扩充,增加训练数据量;
s2.对扩充后的训练数据进行声学特征提取,将一维的语音序列转换成二维的声学特征序列;
s3.利用步骤s2提取的特征训练神经网络模型:对于卷积神经网络系统,训练卷积神经网络之后,利用该模型计算每一帧是唤醒词的后验概率;
s4.由置信度计算语音数据唤醒词的最后得分;
s5.将步骤s4计算的最后得分与预先设定的阈值进行比较,判定是否触发。
在其中一个实施例中,所述的语音数据扩充采用掩盖语音扩充方法和合成语音数据扩充方法。
在其中一个实施例中,所述的s2步骤中选择对数梅尔频谱特征进行特征提取。
在其中一个实施例中,所述的对数梅尔频谱特征的提取具体包括:
s21.对语音信号序列进行短时傅里叶变换;短时傅里叶变换是一种在音频处理领域常用的时频变换工具,它通过在语音上分帧,加窗,傅里叶变换,取模等操作,将时域的波形转换成频谱图;
s22.对生成的频率频谱图做梅尔变换;
s23.在进行梅尔变换处理完毕之后,进行对数变换,降低特征稀疏性。
在其中一个实施例中,所述的步骤s3中,在进行训练之前,先对提取的特征进行前后若干帧的拼接,从而增加上下文信息。
在其中一个实施例中,所述的步骤s3中所选用的卷积神经网络结构由三个卷积层组成,每个卷积层后面都有一个最大池层;卷积核大小为(3,3),步长为(1,1),最大池大小设置为(2,2);然后,使用两个全连接层和一个最终的softmax激活函数来预测唤醒词的概率;在隐层中用整流线性单元relu作为激活函数。
在其中一个实施例中,计算在卷积神经网络最后全连接层的倒数第二层输出上的coral损失lcoral;将真实正样本、合成负样本、真实正样本三个领域的数据收集在一起进行训练,计算损失的策略如下:
其中,交叉熵损失lce是通过源分布和目标分布的数据逻辑来计算的;ctrue-neg、csynt-neg和ctrue-neg表示用于coral计算的嵌入特征的协方差矩阵;
最后,通过最小化联合损失,使合成负样本与真实负样本的嵌入特征差异最小化,并使合成负样本与真实正样本的嵌入特征差异最大化。
在其中一个实施例中,假设得到了源训练数据ds={xi}和目标数据dt={ui},假设源数据和目标数据的数量分别为ns和nt;x和u都是要学习的输入i的d维深层激活φ(i);假设
其中
在其中一个实施例中,在训练过程中采用有监督的训练,监督的目标为唤醒词语音和其他语音;训练的时候,初始设置较大的学习率,在每个迭代周期当中,累计计算整一轮的损失平均值;若损失平均值下降,则保持学习率继续学习,如果损失平均值提高,或者保持不变,则降低学习率。
在其中一个实施例中,经过训练后,模型将声学特征序列转化为唤醒词的后验概率序列;由于是二元目标模型,置信度计算采用直接判别法进行决策;在输入信号长度为ts的滑动窗口上反复进行唤醒词检测算法,以从连续的音频流中检测关键字;将
其中,pkeyword(x(t),φ)是关键字标签在t帧处的后验概率;该算法的时间复杂度为o(n),适合于实时应用。
本发明提供一种新的基于深度神经网络的唤醒词训练算法,通过一种基于深度学习的唤醒词识别算法对设备采集到的音频流进行分析,达到检测唤醒词的目的。本发明能够通过基于多说话人的语音合成技术来进行数据扩充,减轻混淆词数据量不足带来的性能难以提高问题。通过加入新的损失函数coral的方法,充分加大混淆词与正样本特征之间的统计距离,缩小混淆词与负样本特征之间的统计距离。通过深度学习训练,让系统达到较好的泛化性能。本发明的主要应用在于对唤醒词进行检测,保证智能设备更好的用户体验。
与现有技术相比,有益效果是:
1.本发明通过合成音频和掩盖音频的数据扩充方法,充分利用了已有的数据,使得模型更加稳定,抗噪声性能更强。相较于传统唤醒词识别模型,在含有混淆词的识别环境中展现了99%的性能提高。
2.本发明算法使用了加入coral损失的神经网络模型。相对于只用交叉熵损失的传统神经网络模型能够得到更高的识别准确率。在具体应用中能够更加鲁棒,稳定。
附图说明
图1是本发明方法整体流程图。
图2是本发明卷积神经网络模型结构示意图。
图3是本发明实施例中模型训练阶段结构示意图。
图4是本发明实施例中模型测试阶段结构示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本发明的限制。
如图1所示,本发明提供一种基于语音合成数据增强的唤醒词训练方法,包括以下步骤:
s1.获取语音数据之后,对语音数据进行数据扩充,增加训练数据量;
s2.对扩充后的训练数据进行声学特征提取,将一维的语音序列转换成二维的声学特征序列;
s3.利用步骤s2提取的特征训练神经网络模型:对于卷积神经网络系统,训练卷积神经网络之后,利用该模型计算每一帧是唤醒词的后验概率;
s4.由置信度计算语音数据唤醒词的最后得分;
s5.将步骤s4计算的最后得分与预先设定的阈值进行比较,判定是否触发。
在语音识别和唤醒词识别领域,复杂词汇和语音条件的影响是一个共同关注的问题。在测试数据集上表现良好的模型在现实生活中往往表现不佳。本发明提出两种算法。第一种算法将掩蔽的正数据集作为负样本,以提高模型的鲁棒性。第二种方法是将多说话人语音合成器产生的混淆词样本与负样本混合,并应用coral损失来降低混淆语音模型的失真。
本实施例采用多说话人语音合成器或者掩盖算法生成语音,以提高在含有混淆词环境下的网络性能。该方法的灵感来自于语音识别领域中最大互信息(mmi)准则。首先,进行端到端的无状态时间建模,它可以在限制计算量的同时利用上下文信息。端到端模型指的是一个简单的模型,它具有不需要精确的音素对齐的二元识别模型。进一步证明,在含有混淆词样本的情况下,利用语音合成网络生成的语音样本进行训练,可以使系统的准确率提高99.9%。
在其中一个实施例中,所述的语音数据扩充采用掩盖语音扩充方法和合成语音数据扩充方法。
掩盖语音数据扩充:这种方法的灵感来自于人脸识别。在人脸识别中,掩盖正性样本被当作正样本进行训练。在本文中,我们将这种方法扩展到提高模型鲁棒性的任务中。与人脸识别不同,模型必须在触发前识别出唤醒词的所有特征。因此,屏蔽正样本需要作为负样本去增加已经存在的真实数据。例如,一个正采样音频的40%-60%被高斯白噪声代替。重复上述操作5次,每个正样本可产生5个负样本。
合成语音数据扩充方法:数据不足是训练模型中经常遇到的问题。而对在混淆词环境下的唤醒词识别任务来说,这个问题尤为严重,因为相关的数据采集难度大,成本高。同时,采集来的数据的不平衡问题也会严重影响模型的识别效果。因此,数据扩充在神经网络模型训练当中非常重要。在本实施例中,采用了基于语音合成系统的数据扩充方法。使用基于tacotron2的文本转语音系统,使用10000种不同的声音来合成12个混淆词音频和与唤醒词无关的音频。唤醒词无关音频的文本信息来自开源数据集aishell2。这些示例的质量类似于使用googlecloudtext-to-speechapi生成的音频质量。
在其中一个实施例中,所述的s2步骤中选择对数梅尔频谱特征进行特征提取。将数据扩充完毕之后,接下来进行声学特征的提取,将一维的语音信号转换成二维的声学特征。它能够降低特征的维度,使得信息更容易被模型学习。本专利选择对数梅尔频谱特征。对数梅尔谱频谱特征的提取方法如下:
1.对语音信号序列进行短时傅里叶变换。短时傅里叶变换是一种在音频处理领域常用的时频变换工具,它通过在语音上分帧,加窗,傅里叶变换,取模等操作,将时域的波形转换成频谱图;
2.对生成的频率频谱图做梅尔变换。它等效于让特征通过一组三角滤波器。这组三角滤波器有以下的特点,它在低频位置有较高的幅值,较窄的频宽。随着频率的升高,三角滤波器的幅值逐渐降低,频宽逐渐下降。它的作用是重点突出某些频率的信息,使得后续的模型能够更快地学习到频谱的特征规律;
3.在进行梅尔变换处理完毕之后,进行对数变换,降低特征稀疏性。
在本实施例中采用每50毫秒计算80维对数梅尔谱频谱特征,帧移25ms。
在其中一个实施例中,所述的步骤s3中,在进行训练之前,先对提取的特征进行前后若干帧的拼接,从而增加上下文信息。
另外,所述的步骤s3中所选用的卷积神经网络结构由三个卷积层组成,每个卷积层后面都有一个最大池层;卷积核大小为(3,3),步长为(1,1),最大池大小设置为(2,2);然后,使用两个全连接层和一个最终的softmax激活函数来预测唤醒词的概率;在隐层中用整流线性单元relu作为激活函数。
在其中一个实施例中,计算在卷积神经网络最后全连接层的倒数第二层输出上的coral损失lcoral;将真实正样本、合成负样本、真实正样本三个领域的数据收集在一起进行训练,计算损失的策略如下:
其中,交叉熵损失lce是通过源分布和目标分布的数据逻辑来计算的;ctrue-neg、csynt-neg和ctrue-neg表示用于coral计算的嵌入特征的协方差矩阵;
最后,通过最小化联合损失,使合成负样本与真实负样本的嵌入特征差异最小化,并使合成负样本与真实正样本的嵌入特征差异最大化。
另外,假设得到了源训练数据ds={xi}和目标数据dt={ui},假设源数据和目标数据的数量分别为ns和nt;x和u都是要学习的输入i的d维深层激活φ(i);假设
其中
在其中一个实施例中,在训练过程中采用有监督的训练,监督的目标为唤醒词语音和其他语音;训练的时候,初始设置较大的学习率,在每个迭代周期当中,累计计算整一轮的损失平均值;若损失平均值下降,则保持学习率继续学习,如果损失平均值提高,或者保持不变,则降低学习率。
在其中一个实施例中,经过训练后,模型将声学特征序列转化为唤醒词的后验概率序列;由于是二元目标模型,置信度计算采用直接判别法进行决策;在输入信号长度为ts的滑动窗口上反复进行唤醒词检测算法,以从连续的音频流中检测关键字;将
其中,pkeyword(x(t),φ)是关键字标签在t帧处的后验概率;该算法的时间复杂度为o(n),适合于实时应用。一旦置信度超过预先设定的阈值,系统就会触发。
为了方便理解,这里举例说明。
训练阶段:如图3所示,先准备好采集到的单通道16khz的唤醒词正样本数据以及非唤醒词负样本数据。之后,对数据进行数据扩充。数据扩充的手段包括:掩盖语音数据扩充以及合成语音数据扩充。对于掩盖语音数据扩充,一个正采样音频的40%-60%被高斯白噪声代替。重复上述操作5次,每个正样本可产生5个负样本。对于合成语音数据扩充,使用合成音频质量较好的基于tacotron2的文本转语音系统,使用10000种不同的声音来合成12个混淆词音频和与唤醒词无关的音频。唤醒词无关音频的文本信息可以自定。
数据扩充完之后。可以使用语音识别系统对扩充之后的数据进行字级别的对齐,以唤醒词的第一个字为时间起点,之后的1.4s作为识别单元。提取短时傅里叶频谱特征。可以采取1024个点的短时傅里叶变换,帧长0.05s,帧移0.025s。提取对数梅尔谱的时候,梅尔滤波器数目选择为80,可以得到121帧的频谱特征。
在基于卷积神经网络的系统中,可以使用上述神经网络结构,将频谱特征输入其中,使用是否为唤醒词作为标签监督。使用上述coral损失与交叉熵损失的组合作为整个网络的损失函数。使用nesterov动量随机梯度下降法作为优化器。初始设置较大的学习率,在每个迭代周期当中,累计计算整一轮的损失平均值。若损失平均值下降,则保持学习率继续学习,如果损失平均值提高,或者保持不变,则降低学习率。
测试阶段:如图4所示,对于收音设备采集回来的音频流进行实时的静音检测,若当前音频段为静音则不做任何处理;若当前音频段中存在声音,则对音频段进行上述方法的特征提取。当连续的音频特征满足神经网络结构的输入,使用训练好的网络结构进行识别,随后对识别所得的唤醒词后验概率进行置信度打分,得分超过预先所定阈值则系统触发。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除