首页 > 乐器声学 专利正文
一种降噪模型的训练方法、降噪方法、装置和存储介质与流程

时间:2022-02-06 阅读: 作者:专利查询

一种降噪模型的训练方法、降噪方法、装置和存储介质与流程

1.本技术涉及信号处理技术领域,具体涉及一种降噪模型的训练方法、降噪方法、装置和存储介质。


背景技术:

2.语音降噪方法主要分为两大类,一种是基于传统统计信号处理的方法,这类方法对于平稳噪声(比如:白噪声等)具有很好的效果,且算法可控,稳定性高,但是对于非平稳的突发噪声,降噪效果较差,虽然可控性和稳定性较好,但在真实应用场景下效果通常低于预期;另一种语音降噪方法是基于神经网络的有监督回归训练方法,随着模型的复杂和硬件算力的提高,降噪效果越来越难以优化和提升,而且一些语音中的发音音素在信号层面的特征近似于噪声,很难通过网络学习进行区分和解决,导致降噪后语音严重失真。


技术实现要素:

3.本技术提供一种降噪模型的训练方法、降噪方法、装置和存储介质,能够提升语音降噪的效果。
4.为解决上述技术问题,本技术采用的技术方案是:提供一种降噪方法,该方法包括:获取带噪语音数据,将带噪语音数据输入到降噪模型中,得到降噪后的语音数据;其中,降噪模型包括编码器与第一解码器,降噪模型的训练方法包括:获取多个训练样本,训练样本包括样本带噪语音数据以及与样本带噪语音数据对应的第一样本干净语音数据与第一样本干净文本数据;基于编码器对样本带噪语音数据进行处理,得到第一样本特征数据;将第一样本特征数据输入第一解码器,得到估计语音数据;将第一样本特征数据输入第二解码器,得到估计文本数据;基于估计语音数据与第一样本干净语音数据之间的损失以及估计文本数据与第一样本干净文本数据之间的损失,对降噪模型的模型参数进行调整,直至满足预设训练结束条件,得到训练完的降噪模型。
5.为解决上述技术问题,本技术采用的技术方案是:提供一种降噪模型的训练方法,降噪模型包括编码器与第一解码器,该方法包括:获取多个训练样本,训练样本包括样本带噪语音数据以及与样本带噪语音数据对应的第一样本干净语音数据与第一样本干净文本数据;基于编码器对样本带噪语音数据进行处理,得到第一样本特征数据;将第一样本特征数据输入第一解码器,得到估计语音数据;将第一样本特征数据输入第二解码器,得到估计文本数据;基于估计语音数据与第一样本干净语音数据之间的损失以及估计文本数据与第一样本干净文本数据之间的损失,对降噪模型的模型参数进行调整,直至满足预设训练结束条件,得到训练完的降噪模型。
6.为解决上述技术问题,本技术采用的另一技术方案是:提供一种降噪装置,该降噪装置包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的降噪模型的训练方法或上述技术方案中的降噪方法。
7.为解决上述技术问题,本技术采用的另一技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的降噪模型的训练方法或上述技术方案中的降噪方法。
8.通过上述方案,本技术的有益效果是:先获取带噪语音数据,然后将带噪语音数据输入到降噪模型中,得到降噪后的语音数据;降噪模型包括编码器与第一解码器,该降噪模型的训练过程包括:获取训练样本,该训练样本包括样本带噪语音数据、第一样本干净文本数据以及第一样本干净语音数据;然后采用编码器对样本带噪语音数据进行处理,生成第一样本特征数据;采用第一解码器对第一样本特征数据进行处理,得到样本带噪语音数据的估计语音数据;并采用第二编码器对第一样本特征数据进行处理,得到样本带噪语音数据的估计文本数据;本技术所提供的技术方案中训练样本包括样本带噪语音数据、第一样本干净语音数据以及第一样本干净文本数据,由于具有文本的信息,降噪模型可以学会对带噪语音数据进行分类,能够将带噪语音数据中类似噪声的音素片段与真正的噪声区分开,减少降噪模型对辅音片段的误消除,改善语音降噪的效果。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
10.图1是本技术提供的降噪模型的训练方法一实施例的流程示意图;
11.图2是本技术提供的降噪模型的训练方法另一实施例的流程示意图;
12.图3是图2所示的实施例中步骤21的流程示意图;
13.图4是本技术提供的降噪模型的结构示意;
14.图5是图2所示的实施例中步骤23的流程示意图;
15.图6是本技术提供的降噪方法一实施例的流程示意图;
16.图7是本技术提供的降噪装置一实施例的结构示意图;
17.图8是本技术提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
18.下面结合附图和实施例,对本技术作进一步的详细描述。特别指出的是,以下实施例仅用于说明本技术,但不对本技术的范围进行限定。同样的,以下实施例仅为本技术的部分实施例而非全部实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
19.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
20.需要说明的是,本技术中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第
一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.基于神经网络的语音降噪方法需要建立一套网络模型结构,通过有监督训练的方式,让模型逐渐学会带噪语音中干净语音和噪声的某种特征,从而将干净语音的特征从中提取出来,并作为网络模型的输出。常见的模型结构有很多,比如:深度神经网络(deep neural networks,dnn)、卷积神经网络(convolutional neural networks,cnn)、循环神经网络(recurrent neural network,rnn)、长短期记忆网络(long short term memory networks)、门控循环单元(gated recurrent unit,gru)、卷积循环网络(convolutional recurrent network,crn)或时序卷积网络(temporal convolutional network,tcn)等网络结构。
22.但是上述网络结构都是通过对带噪语音和干净语音进行有监督训练,让神经网络(neural network,nn)学习带噪语音与干净语音之间的映射关系,这种映射关系是一一对应的,即每一个输入的数据点存在一个与之相对应的输出,例如:输入1秒含噪的语音信号,输出是等长度的、估计的干净信号。而且,网络训练的目标是希望估计的干净信号与训练数据中的干净信号之间的误差越来越小;因此训练网络使用的代价函数为l1损失(loss)或均方误差(mean square error,mse)等,本质上都是让估计信号和目标信号越来越相近,因此语音降噪任务在nn领域通常被当作一个回归问题进行处理;但是存在基于nn的降噪模型输出的音频中类似“s”、“t”或“f”这种清辅音被消除的情况,导致语音严重失真。
23.基于上述nn所存在的问题,本技术改变训练方式,引入对语音本身文本内容的分类,让模型从语言层面学习音素本身的特征,从而辅助区分噪声特征和语音特征,尤其是一些与噪声相似的语音音素特征之间的差异,从而提高nn的降噪效果,下面对本技术所采用的技术方案进行详细描述。
24.请参阅图1,图1是本技术提供的降噪模型的训练方法一实施例的流程示意图,该方法包括:
25.步骤11:获取多个训练样本。
26.先获取训练样本,该训练样本包括样本带噪语音数据以及与样本带噪语音数据对应的第一样本干净语音数据与第一样本干净文本数据,第一样本干净语音数据与第一样本干净文本数据对应;将第一样本噪声数据与第一样本干净语音数据合成带噪语音数据,以便利用样本带噪语音数据去训练降噪模型,即样本带噪语音数据由第一样本干净语音数据与第一样本噪声数据叠加而成。
27.进一步地,第一样本噪声数据要尽可能地覆盖更多的场景,以提高降噪模型的噪声泛化能力;第一样本干净语音数据为不包含噪声、干净的语音信号,例如:第一样本干净语音数据为信噪比高于阈值(比如:30db或者80db)的语音;第一样本干净文本数据的语言类型可以为中文、英文或者其他语言类型。
28.步骤12:基于编码器对样本带噪语音数据进行处理,得到第一样本特征数据。
29.降噪模型用于对训练样本进行处理,生成第一样本特征数据;对第一样本特征数据进行提取与分类处理,得到样本带噪语音数据的估计语音数据与样本带噪语音数据的估计文本数据。具体地,可将训练样本中的样本带噪语音数据直接输入编码器,以使得编码器对样本带噪语音数据进行编码处理,得到第一样本特征数据;或者对样本带噪干净语音数据进行特征提取处理,得到第三样本特征数据,将第三样本特征数据输入编码器。
30.可以理解地,在训练的过程中降噪模型包括编码器、第一解码器以及第二解码器;但在训练结束后,降噪模型仅包括编码器与第一解码器。
31.步骤13:将第一样本特征数据输入第一解码器,得到估计语音数据。
32.对第一样本特征数据进行特征提取处理,以提取出样本带噪语音数据中的语音特征(即估计语音数据)。
33.步骤14:将第一样本特征数据输入第二解码器,得到估计文本数据。
34.对第一样本特征数据进行分类处理,以获取相应的样本带噪语音数据中的文本特征(即估计文本数据)。
35.步骤15:基于估计语音数据与第一样本干净语音数据之间的损失以及估计文本数据与第一样本干净文本数据之间的损失,对降噪模型的模型参数进行调整,直至满足预设训练结束条件,得到训练完的降噪模型。
36.在获取到估计语音数据与估计文本数据之后,可先计算估计语音数据与第一样本干净语音数据之间的损失以及估计文本数据与第一样本干净文本数据之间的损失,然后基于这两个损失判定是否满足训练结束的条件(即预设训练结束条件),如果不满足预设训练结束条件,则对降噪模型的模型参数进行调整,直至满足预设训练结束条件,得到训练完的降噪模型。通过不断地使用训练样本对降噪模型进行训练并修改该降噪模型的模型参数,最终得到一个训练好的降噪模型。
37.在本实施例所提供的降噪模型的训练方案中,训练样本不仅包括样本带噪语音数据,还包括与样本带噪语音数据中干净的第一样本干净语音数据对应的第一样本干净文本数据,即将与第一样本干净语音数据对应的第一样本干净文本数据也加入训练样本,作为重要的训练目标;由于具有语言/文本的信息,降噪模型可以学会对音素进行分类,能够将样本带噪语音数据中类似噪声的音素片段与真正的噪声特征根据前后文关系区分开,减少降噪模型对待降噪的语音数据中辅音片段的误消除,提升语音降噪的效果。
38.请参阅图2,图2是本技术提供的降噪模型的训练方法另一实施例的流程示意图,该方法包括:
39.步骤21:获取第一样本噪声数据与第一样本干净语音数据。
40.为了获取用于训练降噪模型所需的数据,可先获取第二样本噪声数据与第二样本干净语音数据,第二样本噪声数据为获取到的噪声数据,第二样本干净语音数据为获取到的、不含有噪声的语音数据;然后分别对第二样本噪声数据与第二样本干净语音数据进行预处理,得到第一样本噪声数据与第一样本干净语音数据。
41.在一具体的实施例中,可采用图3所示的方案进行预处理:
42.步骤31:对第二样本干净语音数据进行转写处理,生成第二样本干净字符数据。
43.可先判断第二样本噪声数据与第二样本干净语音数据的格式是否为预设格式,在第二样本干净语音数据的格式不是预设格式时,对第二样本干净语音数据进行格式转换处
理,以使得转换后的第二样本干净语音数据(即第一样本干净语音数据)的格式为预设格式;在第二样本噪声数据的格式不是预设格式时,对第二样本噪声数据进行格式转换处理,以使得转换后的第二样本噪声数据(即第一样本噪声数据)的格式为预设格式。例如,对第二样本噪声数据和干净的第二样本干净语音数据进行格式统一,都转换成采样率为16khz、量化精度为float32(量化后信号的范围在
±
1之间)的单通道脉冲编码调制(pulse code modulation,pcm)数据。然后采用相关技术中的音频转写技术对第二样本干净语音数据进行处理,得到相应的第二样本干净字符数据。
44.步骤32:将第二样本干净字符数据中的标点符号删除,并将第二样本干净字符数据中每个字符的语言类型转换为预设语言类型,得到第一样本干净字符数据。
45.每条干净的第二样本干净语音数据都有对应的文本,为了方便处理,可将第二样本干净字符数据中每个字符的语言类型均转换为预设语言类型,该预设语言类型为根据应用场景或经验设置的语言类型;例如:以预设语言类型为中文为例,可将第二样本干净字符数据中的所有数字规整为相同发音的汉字数字,并将标点符号全部删除。
46.步骤33:对所有第一样本干净字符数据进行去重处理,得到第三样本干净字符数据。
47.将所有第一样本干净字符数据中包含的字符放到一起进行去重,得到第三样本干净字符数据;或者也可以直接用以预设语言类型表示的全部字符的集合作为第三样本干净字符数据,例如,可直接用全部汉字(比如:某词典中的全部汉字)的集合作为第三样本干净字符数据。
48.步骤34:为第三样本干净字符数据中的每个字符分配字典id,以构建文本字典;基于文本字典,为第一样本干净字符数据分配字典id,得到第一样本干净文本数据。
49.在获取到第三样本干净字符数据后,可建立第三样本干净字符数据中的字符与字典标识(identification,id)之间的对应关系,即为第三样本干净字符数据中的每个字符创建一个字典id,以形成文本字典,该文本字典包括第三样本干净字符数据中的每个字符以及与字符对应的字典id,该字典id可以为每个字符的标号,用以区分不同的字符,即字符与字典id一一对应,比如:假设第三样本干净字符数据中总共4个字符,则这4个字符的字典id可以分别为0、1、2以及3。在生成文本字典后,按照文本字典为第一样本干净文本数据中的所有字符分配字典id。
50.进一步地,可以对第三样本干净字符数据中的所有字符、预设句首字符以及预设句尾字符进行排序,生成文本字符序列;为文本字符序列中的每个字符分配字典id,比如:将文本字符序列中每个字符对应的字典id设置为数字,字典id与字符一一对应。
51.在一具体的实施例中,预设句首字符与预设句尾字符分别为“《s》”和“《/s》”,在第一样本干净文本数据对应的字典id加上“《s》”和“《/s》”这两个符号作为句首和句尾,然后将这两个符号和所有汉字进行排序(比如:按照拼音首字母排序),并且从0开始分配字典id,以作为后续训练的分类字典。
52.步骤22:对第一样本噪声数据与第一样本干净语音数据进行叠加处理,得到样本带噪语音数据。
53.从所有第一样本干净语音数据中选择一条第一样本干净语音数据作为待合成语音数据;从所有第一样本噪声数据中选择一条第一样本噪声数据,作为待合成噪声数据;然
后基于预设信噪比与预设信号能量,对待合成语音数据与待合成语音数据进行叠加处理,得到样本带噪语音数据。
54.进一步地,还可判断待合成噪声数据的长度是否大于待合成语音数据;若待合成噪声数据的长度大于待合成语音数据,则对待合成噪声数据进行截取处理,以使得待合成语音数据的长度与截取后的待合成噪声数据的长度相等。若待合成噪声数据的长度小于待合成语音数据,则对待合成噪声数据进行复制处理,并将待合成噪声数据与复制后的待合成噪声数据进行拼接;然后判断拼接后的待合成噪声数据的长度是否大于待合成语音数据的长度;若拼接后的待合成噪声数据的长度大于待合成语音数据的长度,则对拼接后的待合成噪声数据进行截取处理,以使得待合成语音数据的长度与截取后的待合成噪声数据的长度相等,即在待合成噪声数据的长度小于待合成语音数据时,将待合成噪声数据重复几次,使其长度超过待合成语音数据的长度,再随机截取,以与待合成语音数据进行叠加。
55.在一具体的实施例中,假设总共由n条干净的第一样本干净语音数据,可将所有第一样本干净语音数据循环遍历k次,每次按顺序取一条第一样本干净语音数据,记作x(t),一共抽取k*n条;然后从所有的第一样本噪声数据中随机获取一条,再随机从中截取一段与当前第一样本干净语音数据等长度的第一样本噪声数据,记作n(t);然后按照均匀随机分布,指定预设信噪比α和预设信号能量β,然后按如下公式进行信号叠加,获取样本带噪语音数据y(t):
[0056][0057][0058][0059]
y'(t)=x(t)+10
c/10
*n(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0060]
σ
y'
=max(|y'(t)|2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0061][0062]
每一条生成的样本带噪语音数据都有与之对应的第一样本干净语音数据和第一样本干净文本数据;将第一样本干净文本数据中的每个字符根据文本字典映射成相应的字典id,形成label_id,并作为数组保存起来;最终形成包括y(t)、x(t)和label_id的k*n组训练样本,并可将其随机打乱,保存起来。
[0063]
步骤23:基于编码器对样本带噪语音数据进行处理,得到第一样本特征数据。
[0064]
步骤24:将第一样本特征数据输入第一解码器,得到估计语音数据。
[0065]
步骤25:将第一样本特征数据输入第二解码器,得到估计文本数据。
[0066]
步骤23-25与上述实施例中步骤12-14相同,在此不再赘述。
[0067]
在一具体的实施例中,估计语音数据为样本带噪语音数据的幅度谱,如图4所示,本实施例采用编码解码(encoder decoder,ed)结构作为降噪模型,其由一个编码器和2个解码器组成;具体地,该降噪模型包括编码器、第一解码器与第二解码器;先利用第一解码器对第一样本特征数据进行特征提取处理,得到幅度谱;然后利用第二解码器对第一样本
特征数据进行文本分类处理,得到估计文本数据。进一步地,编码器用于接收样本带噪语音数据的特征(比如:幅度谱特征),输出高维的特征信息;第一解码器用于对高维的特征信息进行信号提取,输出估计的干净的语音幅度谱;第二解码器用于对高维的特征信息进行文本分类,输出干净的语音的估计文本数据。
[0068]
步骤26:基于第一样本干净文本数据中的字典id与估计文本数据中的字典id之间的差异度以及第一样本干净语音数据与估计语音数据之间的差异度,计算当前损失值。
[0069]
第一样本干净文本数据与估计文本数据均包括字典id,第一样本干净文本数据包括多帧干净文本信号,估计文本数据包括多帧估计文本信号;第一样本干净语音数据包括多帧干净语音信号,估计语音数据包括多帧估计语音信号。
[0070]
在一具体的实施例中,可采用图5所示的方案进行处理,具体包括以下步骤:
[0071]
步骤51:计算每帧干净文本信号的字典id与估计文本信号的字典id之间的差异度,得到第一损失值。
[0072]
第一损失值可以通过交叉熵(cross entropy,ce)函数计算得到,当前帧对应的时刻记作t,t时刻干净文本信号对应的字典id记作x_id(t),t时刻估计文本信号对应的字典id记作x_id'(t),计算x_id(t)与x_id'(t)之间的ce loss,得到第一损失值。
[0073]
步骤52:计算每帧干净语音信号与估计语音信号之间的差异度,得到第二损失值。
[0074]
第二损失值通过mse函数计算得到,t时刻的干净语音信号记作x(t),t时刻的估计语音信号记作x'(t),计算x(t)与x'(t)之间的mse loss,得到第二损失值。
[0075]
步骤53:对第一损失值与第二损失值进行加权求和得到损失值,并对所有损失值进行平均得到当前损失值。
[0076]
采用以下公式来计算当前损失值:
[0077]
l=(1-λ)*l
mse
+λ*l
ce
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0078]
其中,l为当前损失值,λ表示mse loss与ce loss之间的加权系数,可根据具体应用场景进行设置,比如:0.2。
[0079]
继续参阅图4,降噪模型还包括自注意力(attention)层,attention层与编码器以及第二解码器连接,其用于输出第二样本特征数据;具体地,第一样本特征数据包括多帧第一样本子特征,可先获取第二样本特征数据,第二样本特征数据包括多帧第二样本子特征,第二样本特征数据包括多帧第二样本子特征;然后利用attention层对当前帧第一样本子特征与上一帧第二样本子特征进行处理,生成当前帧状态特征,并将当前帧状态特征输入第二解码器。
[0080]
进一步地,上一帧对应的时刻记作(t-1)时刻,attention层计算的是上一时刻(即t-1时刻)输出的第二样本子特征h_att(t-1)与t时刻的第一样本子特征h_enc(t)之间的attention系数,并输出当前帧状态特征c(t),具体计算过程如下所示:
[0081]
(1)将第一权重矩阵与t时刻的第一样本子特征相乘,得到第一样本特征矩阵:
[0082]hk
(t)=wk*h_enc(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0083]
其中,wk为第一权重矩阵,hk(t)为t时刻的第一样本特征矩阵。
[0084]
(2)将第二权重矩阵与t时刻的第一样本子特征相乘,得到第二样本特征矩阵:
[0085]
hv(t)=wv*h_enc(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0086]
其中,wv为第二权重矩阵,hv(t)为t时刻的第二样本特征矩阵。
[0087]
(3)将第三权重矩阵与(t-1)时刻的第二样本子特征h_att(t-1)相乘,得到第三特征矩阵:
[0088]hq
(t)=wq*h_att(t-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0089]
其中,wq为第三权重矩阵,hq(t)为t时刻的第三特征矩阵。
[0090]
(4)采用逻辑回归模型对第一样本特征矩阵、第二样本特征矩阵、第三特征矩阵以及上一时刻的状态特征进行处理,生成t时刻的状态特征:
[0091][0092]
其中,softmax()为逻辑回归函数,h
kt
(t)由包括t时刻在内的多个时刻(t时刻之前的时刻)的第一样本特征矩阵拼合而成,h
vt
(t)由包括t时刻在内的多个时刻(t时刻之前的时刻)的第二样本特征矩阵拼合而成。
[0093]
可以理解地,图4中其他的参数表示降噪模型内部的特征向量,图4中实线表示模型训练的前向过程,虚线表示模型的梯度反传过程。图4所示的降噪模型只是给出一个基本的模型框架和训练方法,每一部分的内部可灵活调整,比如:编码器使用3层堆叠的双向lstm层;第二解码器使用1层单向lstm和1层cnn层堆叠,最后连接一层线性(liner)输出层;第一解码器使用3层cnn层堆叠,最后连接一层liner输出层。
[0094]
步骤27:基于当前损失值,判断是否满足预设训练结束条件。
[0095]
在计算出当前损失值后,判断当前是否满足预设训练结束条件,该预设训练结束条件包括:损失值无法继续下降或者损失值收敛,比如:上一损失值与当前损失值的差值小于设定值;或者,还可判定当前损失值是否小于预设损失值,该预设损失值为预先设置的损失阈值,若当前损失值小于预设损失值,则确定达到预设训练结束条件;或者,训练次数达到设定值(例如:训练10000次)。
[0096]
在当前不满足预设训练结束条件时,利用当前损失值进行反向传播,通过梯度下降法调整降噪模型的模型参数,继续进行训练,获取新的训练样本,执行上述对新的训练样本进行处理的步骤,且返回执行步骤51,直至满足预设训练结束条件;可以理解地,通过损失值进行反向传播以更新模型参数所采用的方法与相关技术中进行模型参数更新所采用的方法类似,在此不再赘述。
[0097]
本实施例提供了一种基于音素特征分类的nn降噪模型的训练方法,主要分为三部分:首先获取纯噪声数据(不包含语音信息)以及带文本标注的干净语音数据;其次,对于噪声数据和干净语音数据来说,通过数据仿真的方式进行数据增强,产生几倍于原始数据的训练样本;最后,设计降噪网络和loss函数,进行模型训练。本实施例将干净语音的文本也加入训练样本,使用干净语音信号本身和干净语言的文本构造训练样本,用于训练两个任务:针对语音信号本身的统计误差(mse loss)和针对语音内容的语言信息分类(ce loss),为模型训练提供相关但属于不同特征层面的两个约束,由于对mse loss和ce loss同时进行估计,两者共用一个编码器,可以让模型,尤其是编码器更好地学到音素和噪声的特征,提供更好的特征空间区分性,能够改善降噪效果,降低最终输出的语音失真的概率;而且,分类和回归两个任务共用同一个编码器结构,让编码器模拟人脑的听觉特性,即能听得清,又可以听得懂,而不是单纯寻找信号层面的统计误差最小化的特征空间,去噪的效果更好。
[0098]
请参阅图6,图6是本技术提供的降噪方法一实施例的流程示意图,该方法包括:
[0099]
步骤61:获取带噪语音数据。
[0100]
带噪语音数据为需要进行降噪处理、含有噪声的语音数据,可通过音频采集设备(比如:麦克风)来采集带噪语音数据,或者从音频数据库中获取带噪语音数据。
[0101]
步骤62:将带噪语音数据输入到降噪模型中,得到降噪后的语音数据。
[0102]
基于编码器对带噪语音数据进行编码处理,得到当前特征数据;将当前特征数据输入第一解码器,得到降噪后的语音数据;具体地,在获取到带噪语音数据之后,可以采用相关技术中的特征提取方法对带噪语音数据进行特征提取处理,得到带噪语音数据的幅度谱特征;然后将该幅度谱特征输入降噪模型,使得降噪模型对幅度谱特征进行处理,生成相应的降噪后的语音数据,该降噪模型采用上述实施例中的降噪模型的训练方法得到。
[0103]
本实施例所采用的降噪方法对降噪模型进行了改进,在基于有监督回归训练之外,辅助以对样本带噪语音数据的文本内容进行分类,通过两个相关任务同时训练的方式提高了nn降噪效果,能够降低需要降噪的语音数据中某些辅音被消除的几率。
[0104]
请参阅图7,图7是本技术提供的降噪装置一实施例的结构示意图,降噪装置70包括互相连接的存储器71和处理器72,存储器71用于存储计算机程序,计算机程序在被处理器72执行时,用于实现上述实施例中的降噪模型的训练方法或上述实施例中的降噪方法。
[0105]
请参阅图8,图8是本技术提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质80用于存储计算机程序81,计算机程序81在被处理器执行时,用于实现上述实施例中的降噪模型的训练方法或上述实施例中的降噪方法。
[0106]
计算机可读存储介质80可以是服务端、u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0107]
在本技术所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0108]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0109]
另外,在本技术各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0110]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。