首页 / 专利库 / 人工智能 / 机器学习 / 人工神经网络 / 玻尔兹曼机 / 基于深度神经网络的单通道语音分离算法

基于深度神经网络的单通道语音分离算法

阅读:1014发布:2020-05-26

专利汇可以提供基于深度神经网络的单通道语音分离算法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于 深度神经网络 的单通道语音分离 算法 ,主要包括以下步骤:对训练语音样本进行预处理,并提取其特征信息;使用损失函数对深度神经网络进行训练,以获得深度神经网络模型;将待测试语音样本进行预处理,提取其特征信息,并通过训练后的深度神经网络模型进行语音分离,再通过语音重构得到分离结果。本发明利用输入输出之间的非线性关系来训练深度神经网络,与传统基于单输出深度神经网络的分离方法相比,它充分挖掘了输出之间的联合关系,且分离效率较高,一次可分离两个源语音 信号 ,有效地降低了语音的失真率,同时提高了分离语音的可懂性。,下面是基于深度神经网络的单通道语音分离算法专利的具体信息内容。

1.一种基于深度神经网络的单通道语音分离算法,其特征在于,主要包括以下步骤:
步骤1:对训练语音样本进行预处理,并提取其特征信息;
步骤2:使用损失函数对深度神经网络进行训练,以获得深度神经网络模型;
步骤3:将待测试语音样本进行预处理,提取其特征信息,并通过训练后的深度神经网络模型进行语音分离,再通过语音重构得到分离结果。
2.根据权利要求1所述的基于深度神经网络的单通道语音分离算法,其特征在于,步骤
1具体包括:
步骤11:对训练语音样本的时域信号在25kHz下采样加窗,得到T帧分帧后的语音信号
步骤12:对分帧后的语音信号进行短时傅里叶变换,得到混合语音信号和干净语音信号的幅度谱、相位谱及幅度最大值;
步骤13:对混合语音信号和干净语音信号的幅度谱进行归一化,并计算理想浮值掩蔽,将归一化后的混合语音信号的幅度谱作为深度神经网络的输入,理想浮值掩蔽作为深度神经网络的训练目标。
3.根据权利要求1所述的基于深度神经网络的单通道语音分离算法,其特征在于,步骤
2具体包括:
步骤21:对深度神经网络参数进行随机初始化;
步骤22:根据步骤21初始化后的参数,使用玻尔兹曼机对深度神经网络进行无监督的预训练;
步骤23:预训练完成后,对深度神经网络进行微调,即使用损失函数通过梯度下降法来反向传播更新权重和偏置,以获得深度神经网络模型。
4.根据权利要求3所述的基于深度神经网络的单通道语音分离算法,其特征在于:所述步骤23中包括前向传播阶段和反向传播阶段。
5.根据权利要求4所述的基于深度神经网络的单通道语音分离算法,其特征在于,前向传播阶段包括:
对网络神经元节点之间的权重和偏置进行初始化;
深度神经网络进行前向传播。
6.根据权利要求5所述的基于深度神经网络的单通道语音分离算法,其特征在于:深度神经网络的前向传播过程中,使用激活函数增加网络之间的非线性关系,最后生成输入输出之间的非线性映射。
7.根据权利要求4所述的基于深度神经网络的单通道语音分离算法,其特征在于,反向传播阶段包括:
计算深度神经网络的损失函数;
通过梯度下降法更新深度神经网络的参数。
8.根据权利要求7所述的基于深度神经网络的单通道语音分离算法,其特征在于,损失函数为:
其中,Mit和 分别是在t帧时,第i个源的理想浮值掩蔽向量和估计浮值掩蔽向量。
9.根据权利要求8所述的基于深度神经网络的单通道语音分离算法,其特征在于,通过梯度下降法更新深度神经网络的参数的具体步骤包括:
a、构建双输出深度神经网络,该双输出深度神经网络包括:输入层输出层和三个隐藏层
b、计算输出层损失函数的梯度;
c、计算深度神经网络层数l=L-1,L-2,…,2时每一层所对应的梯度;
d、更新权重和偏置。
10.根据权利要求1所述的基于深度神经网络的单通道语音分离算法,其特征在于,步骤3中的语音重构步骤为:将待测试语音样本的幅度谱输入到训练后的深度神经网络模型,得到估计的训练目标 将训练目标 与待测试语音样本的幅度谱相乘,然
后与相位谱结合经由短时傅里叶变换、恢复帧重叠后得到分离结果。

说明书全文

基于深度神经网络的单通道语音分离算法

技术领域

[0001] 本发明涉及一种基于深度神经网络的单通道语音分离算法,属于语音分离领域。

背景技术

[0002] 单通道语音分离(Single channel speech separation,SCSS)是从一维混合语音中恢复出多个语音的过程。单通道语音分离技术被广泛应用于语音增强,语音识别的预处理,助听器或智能家居等领域。在这些领域中,通常传感器接收的是来自一个麦克的混合语音,人可以很容易从这种混合语音中获取有用信息,而对于计算机而言,准确得到所需语音比较困难。因此,准确而高效地得到目的语音有着非常重要的实用意义。
[0003] 深度神经网络(Deep neural network,DNN)具有强大的数据挖掘,在语音分离领域,它主要用于模拟输入特征与输出目标之间的非线性关系。基于DNN的语音分离方法包括特征提取和DNN训练两部分。用于分离的语音特征主要包括梅尔倒谱系数(Mel-frequency cepstral coefficient,MFCC)、幅度谱(Amplitude modulation spectrogram,AMS)、傅里叶幅度谱和傅里叶对数谱等,其中较为常用的是幅度谱以及傅里叶幅度谱,常用的输出目标有语音的幅度谱和理想浮值掩蔽(Ideal ratio mask,IRM)。而深度神经网络的训练作为语音分离过程中至关重要的部分,其网络准确性很大程度地影响着语音分离的质量。根据输出数目的不同,DNN可以分为单输出DNN和多输出DNN。使用单输出DNN对混合语音进行分离时,每次仅能分离出一个语音,使用该方法分离多个语音时,耗时较长;传统基于多输出深度神经网络的方法可以同时分离多个语音,但是也由于这个原因,多输出DNN所映射的输出不如单输出DNN具有针对性,分离效果相对于单输出的DNN较差。以上两个深度神经网络均需要通过损失函数来训练,传统基于双输出DNN所使用的基本损失函数仅仅用于映射输入输出之间的关系,但忽略了输出之间的联合关系,而这种联合关系对最终的语音分离性能有很大的影响。
[0004] 有鉴于此,确有必要提出一种基于深度神经网络的单通道语音分离算法,以解决上述问题。

发明内容

[0005] 本发明的目的在于提供一种基于深度神经网络的单通道语音分离算法,与传统基于单输出DNN的分离方法相比,它充分挖掘了输出之间的联合关系,且分离效率较高,一次可分离两个源语音信号,有效地降低了语音的失真率,同时提高了分离语音的可懂性。
[0006] 为实现上述目的,本发明提供了一种基于深度神经网络的单通道语音分离算法,主要包括以下步骤:
[0007] 步骤1:对训练语音样本进行预处理,并提取其特征信息;
[0008] 步骤2:使用损失函数对深度神经网络进行训练,以获得深度神经网络模型;
[0009] 步骤3:将待测试语音样本进行预处理,提取其特征信息,并通过训练后的深度神经网络模型进行语音分离,再通过语音重构得到分离结果。
[0010] 可选的,步骤1具体包括:
[0011] 步骤11:对训练语音样本的时域信号在25kHz下采样加窗,得到T帧分帧后的语音信号
[0012] 步骤12:对分帧后的语音信号进行短时傅里叶变换,得到混合语音信号和干净语音信号的幅度谱、相位谱及幅度最大值;
[0013] 步骤13:对混合语音信号和干净语音信号的幅度谱进行归一化,并计算理想浮值掩蔽,将归一化后的混合语音信号的幅度谱作为深度神经网络的输入,理想浮值掩蔽作为深度神经网络的训练目标。
[0014] 可选的,步骤2具体包括:
[0015] 步骤21:对深度神经网络参数进行随机初始化;
[0016] 步骤22:根据步骤21初始化后的参数,使用玻尔兹曼机对深度神经网络进行无监督的预训练;
[0017] 步骤23:预训练完成后,对深度神经网络进行微调,即使用损失函数通过梯度下降法来反向传播更新权重和偏置,以获得深度神经网络模型。
[0018] 可选的,所述步骤23中包括前向传播阶段和反向传播阶段。
[0019] 可选的,前向传播阶段包括:
[0020] 对网络神经元节点之间的权重和偏置进行初始化;
[0021] 深度神经网络进行前向传播。
[0022] 可选的,深度神经网络的前向传播过程中,使用激活函数增加网络之间的非线性关系,最后生成输入输出之间的非线性映射。
[0023] 可选的,反向传播阶段包括:
[0024] 计算深度神经网络的损失函数;
[0025] 通过梯度下降法更新深度神经网络的参数。
[0026] 可选的,损失函数为:
[0027]
[0028] 其中,Mit和 分别是在t帧时,第i个源的理想浮值掩蔽向量和估计浮值掩蔽向量。
[0029] 可选的,通过梯度下降法更新深度神经网络的参数的具体步骤包括:
[0030] a、构建双输出深度神经网络,该双输出深度神经网络包括:输入层输出层和三个隐藏层
[0031] b、计算输出层损失函数的梯度;
[0032] c、计算深度神经网络层数l=L-1,L-2,…,2时每一层所对应的梯度;
[0033] d、更新权重和偏置。
[0034] 可选的,步骤3中的语音重构步骤为:将待测试语音样本的幅度谱输入到训练后的深度神经网络模型,得到估计的训练目标 将训练目标 与待测试语音样本的幅度谱相乘,然后与相位谱结合经由短时傅里叶变换、恢复帧重叠后得到分离结果。
[0035] 本发明的有益效果是:本发明利用输入输出之间的非线性关系来训练DNN,与传统基于单输出DNN的分离方法相比,它充分挖掘了输出之间的联合关系,且分离效率较高,一次可分离两个源语音信号,有效地降低了语音的失真率,同时提高了分离语音的可懂性。附图说明
[0036] 图1是本发明基于深度神经网络的单通道语音分离算法示意图。
[0037] 图2是本发明双输出深度神经网络的基本结构图。
[0038] 图3是图1中语音重构步骤的示意图。
[0039] 图4是本发明在不同批量下的平均语音分离性能。
[0040] 图5是本发明在不同隐藏层节点数下的平均语音分离性能。
[0041] 图6是本发明与基本损失函数关于信号失真比(SDR)性能的对比结果图。
[0042] 图7是本发明与基本损失函数关于人造干扰成分比(SAR)性能的对比结果图。
[0043] 图8是本发明与基本损失函数关于信号干扰比(SIR)性能的对比结果图。
[0044] 图9是本发明与基本损失函数关于主观语音质量评估(PESQ)性能的对比结果图。

具体实施方式

[0045] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0046] 如图1所示,本发明提供了一种基于深度神经网络的单通道语音分离算法,主要包括以下步骤:
[0047] 步骤1:对训练语音样本进行预处理,并提取其特征信息;
[0048] 步骤2:使用损失函数对深度神经网络进行训练,以获得深度神经网络模型;
[0049] 步骤3:将待测试语音样本进行预处理,提取其特征信息,并通过训练后的深度神经网络模型进行语音分离,再通过语音重构得到分离结果。
[0050] 以下将对步骤1-步骤3进行详细说明。
[0051] 其中,步骤1具体包括:
[0052] 步骤11:对训练语音样本的时域信号进行25kHz下采样,加窗分帧,分帧后得到T帧语音信号;
[0053] 步骤12:对第t帧混合信号y(t),以及第i个源信号xi(t),(i=1,2)进行短时傅里叶变换,得到混合语音信号、干净语音信号的幅度谱Y(t,f)、Xi(t,f)(i=1,2)、相位谱及幅度最大值;
[0054] 步骤13:对混合语音信号和干净语音信号的幅度谱进行归一化,并计算理想浮值掩蔽,将归一化后的混合语音信号的幅度谱作为深度神经网络的输入,理想浮值掩蔽作为深度神经网络的训练目标。
[0055] 步骤2具体包括:
[0056] 步骤21:对深度神经网络参数进行随机初始化;
[0057] 步骤22:根据步骤21初始化后的参数,使用玻尔兹曼机对深度神经网络进行无监督的预训练;
[0058] 步骤23:预训练完成后,对深度神经网络进行微调,即使用损失函数通过梯度下降法来反向传播更新权重和偏置,以获得深度神经网络模型。
[0059] 如图2所示,步骤23中包括前向传播阶段和反向传播阶段。
[0060] 前向传播阶段包括:对网络神经元节点之间的权重和偏置进行初始化;深度神经网络进行前向传播。深度神经网络的前向传播的过程中,使用激活函数增加网络之间的非线性关系,最后生成输入输出之间的非线性映射。
[0061] 具体来说,前向传播是从输入层逐层向上计算每一层的状态和激活值,直至输出层。第l层的状态表示如下:
[0062]
[0063] 其中,Wi和b分别是第l层初始化的权重和偏置,sl是第l层网络的神经节点数,xi是DNN的输入,z为第i层的输出。同时,在每层的输出使用激活函数σ(z)并将其作为输入馈送到下一个层:
[0064] σ(Z)=1/(1+ez)
[0065] 激活函数用于生成输入输出之间的非线性映射。此处的z、1、ez均为向量。
[0066] 反向传播阶段包括:计算深度神经网络的损失函数;通过梯度下降法更新深度神经网络的参数。
[0067] 具体来说,神经网络的反向传播根据损失函数从DNN的最后一层逐层向下计算误差,并通过梯度下降法更新参数。
[0068] 损失函数为:
[0069]
[0070] 其中,Mit和 分别是在t帧时,第i个源的理想浮值掩蔽向量(Ideal ratio mask,IRM)和估计浮值掩蔽(Ratio mask,RM)向量。损失函数的前两项用来惩罚输入特征和输出目标之间的预测误差,第三项用于挖掘输出之间的联合关系。
[0071] Mit作为训练目标,定义为:
[0072]
[0073]
[0074] 其中,Xit是第i个源的幅度谱向量,为了防止分母等于0,ε向量中的每一个元素设为同一个极小值, 是第i个源对应的输出,即 在t帧时,M1t+M2t=1,因此若估计值足够准确, 中的每个元素也应当趋近于1,即双输出之间的对应节点之和趋近1。通过利用这种联合关系,可以有效提高分离信号的可懂性。
[0075] 通过梯度下降法更新深度神经网络的参数的具体步骤包括:
[0076] a、构建双输出深度神经网络,该双输出深度神经网络包括:输入层、输出层和三个隐藏层;在t帧时,根据神经网络的节点数,损失函数可具体化为:
[0077]
[0078] 其中,W和b分别是权重和偏置向量,M1:512和M513:1024分别是第一个和第二个源的IRM, 和 则为对应的估计值。这是因为双输出DNN的神经节点数设为1024,前512个节点设为信号源1的输出,后512个节点设为信号源2的输出。
[0079] b、计算输出层损失函数的梯度;对于第L层(输出层)的每个输出单元i,我们根据以下公式计算梯度:
[0080]
[0081] c、计算深度神经网络层数l=L-1,L-2,…,2时每一层所对应的梯度;当神经网络层数l=L-1,L-2,…,2时,每一层所对应的梯度可表示为:
[0082]
[0083]
[0084] 用l-1代替l,以上公式可以表示为:
[0085]
[0086] d、更新权重和偏置;得到残差后,权重和偏置的导数可以通过以下公式进行计算:
[0087]
[0088]
[0089] 最后,参数可以根据以下公式更新:
[0090]
[0091]
[0092] 其中,α是学习率。
[0093] 如图3所示,步骤3中的语音重构步骤具体为:将待测试语音样本的幅度谱输入到训练后的深度神经网络模型,得到估计的训练目标 将估计的训练目标与待测试语音样本的幅度谱相乘,然后与相位谱结合经由短时傅里叶变换、恢复帧重叠后得到分离结果。
[0094] 本发明提出的基于深度神经网络的单通道语音分离算法,分离效率较高,一次可分离两个源语音信号,可有效降低语音的失真率。以下将以一具体的测试实验进行举例说明。
[0095] 测试中采用的语料库取自于GRID语料库,该语料库包含18个男性和16个女性说话人,其中每个说话人语音条数有1000条,平均每条语音长度1秒左右。另外,语音的采样率为25kHz,分帧的窗口长度为1024,帧移为512。实验环境为Windows10下的64位操作系统,8G内存。本实验从语料库中随机抽取两个男性说话人和两个女性说话人。因此,有三种不同的性别对,分别是男性-男性混合语音、男性-女性混合语音和女性-女性混合语音。随机抽取每个人的500条语音用来训练DNN,剩下的500条语音中随机抽取50条用于测试。
[0096] 深度神经网络的参数设置如下:DNN的输入层的节点个数为512,三个隐藏层以及输出层的神经节点均为1024。在RBM预训练阶段,批量大小设置为128,迭代次数为20,学习率为0.001。在有监督的微调阶段,批量大小为128,前10次迭代的学习率设为0.1,之后的40次迭代学习率每次迭代降低10%。同时,隐藏层的dropout设为0.2。
[0097] 如图4和图5所示,为了寻找深度神经网络的最佳参数,分别将批量设置为50、100、128、160、200进行对比实验,实验结果记录在图4中;分别将DNN隐藏层节点个数设为256、
512、1024、2048、4096进行对比实验,实验结果记录在图5中。将图4和图5进行对比可知:当批量设为128、隐藏层设为1024时,分离的语音性能较好。
[0098] 如图6至图9所示,为了验证本发明提出的损失函数的有效性,本实验与传统的损失函数进行对比实验,实验结果记录在图6-图9中,其中M1和M2为男性,F1和F2为女性,从图中可以看出,本发明在分离女性-女性混合语音时,信号失真比(SDR)、人造干扰成分比(SAR)、信号干扰比(SIR)以及主观语音质量评估(PESQ)分别比传统的损失函数高了0.77dB、0.69dB、0.51dB以及0.46;在分离男性-男性混合语音时,SDR,SAR,SIR和PESQ分别提升了1.72dB、1.42dB、0.86dB和0.4;在分离男性-女性混合语音时,SDR,SAR,SIR最高分别提升了2.18dB、2.05dB、2.54dB。从分离结果来看,相同性别的分离效果提升较少,这是由于同性别间的频谱较为相似,分离起来较为困难。
[0099] 同时,本发明还比较了损失函数与其他算法的性能,对比结果如下表1所示。
[0100] 表1不同算法所得的性能比较
[0101]
[0102] 其中,single和dual分别表示单输出的DNN和双输出的DNN。单输出DNN除了输出的数量以及损失函数与双输出DNN不同,其他参数设置与双输出DNN相同。
[0103] 从表1中可以看出,以IRM为目标的DNN的分离性能优于以AMS为目标的DNN。这是因为基于AMS的方法在低频时的性能较好,但在中频和高频中丢失了一些细节,而这些细节对语音清晰度和语音质量有很大的影响,同时,单输出DNN的性能优于双输出。在分离女性-女性混合语音时,以AMS为训练目标的双输出的DNN比单输出DNN在SAR和SIR方面分别下降了1.64dB和2.26dB;在男性-女性语音混合的情况下,SDR下降了1.09dB。
[0104] 这种性能的衰减也存在于以IRM为训练目标的DNN中,就男性-女性混合语音的分离而言,双输出DNN相比于单输出DNN在SAR和SIR方面分别降低了1.64dB和1.81dB,并且在男性-男性混合语音分离时,SDR降低了1.86dB。这是因为,单输出DNN是针对特定信号而训练的,所训练的DNN参数更适合于目标信号,因此分离性能较好。也因为这种特性,单输出的DNN每次仅能分离一个语音,耗时是双输出DNN的两倍。本发明所提出的算法,在分离两个信号的同时又能够提高语音的分离性能,特别是在分离女性-女性混合信号中,所得的分离结果与单输出DNN分离的结果几乎相同。
[0105] 综上所述,本发明利用输入输出之间的非线性关系来训练DNN,与传统基于单输出DNN的分离方法相比,它充分挖掘了输出之间的联合关系,且分离效率较高,一次可分离两个源语音信号,有效地降低了语音的失真率,同时提高了分离语音的可懂性,在实际应用和理论研究领域都具有很好的借鉴意义。
[0106] 以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈