感知联合优化的深度神经网络语音增强方法

2019-04-22 07:53袁文浩娄迎曦梁春燕王志强
西安电子科技大学学报 2019年2期
关键词:代价语音神经网络

袁文浩,娄迎曦,梁春燕,王志强

(山东理工大学 计算机科学与技术学院,山东 淄博 255000)

近年来,深度学习技术在语音识别中的应用取得了巨大成功。受此影响,研究人员开始将深度学习应用到语音增强中,试图解决传统基于统计的语音增强方法在低信噪比和非平稳噪声环境下的性能恶化问题[1-2]。文献[3-4]采用含噪语音和相应的纯净语音的对数功率谱作为深度神经网络的训练特征和训练目标,通过建立一个回归模型来进行语音增强,相比传统方法显著提高了低信噪比和非平稳噪声环境下的语音增强性能;文献[5-6]采用压缩的cochleagram特征分别作为深度神经网络和长短期记忆(Long Short-Term Memory, LSTM)的训练特征,并采用理想比率掩码(Ideal Ratio Mask, IRM)作为训练目标,通过训练两种不同结构的网络来进行语音增强,提高了增强后语音的语音质量和可懂度;文献[7]提出了一种复数域的训练目标复形理想比率掩码(complex IRM, cIRM),通过训练深度神经网络同时估计实部和虚部两个掩蔽目标,将对相位信息的估计融入到模型训练中,取得了比其他训练目标更好的语音增强性能;文献[8]设计了一种适用于语音增强问题的深度卷积神经网络,取得了比其他网络结构更好的语音增强性能。综合分析已有的基于深度神经网络的语音增强方法,尽管在训练特征与训练目标的选择以及网络结构的设计上各不相同,但是这些方法都是将语音增强作为回归问题进行解决,在模型训练过程中都采用均方误差作为代价函数。

实际上,对于语音增强问题而言,一方面,由于语音信号相邻帧之间具有很强的相关性,因此相邻帧的网络输出之间也应具有相关性;另一方面,为了权衡语音保持和噪声抑制之间的关系,各时频单元的语音存在情况同样是语音增强时需要予以考虑的。而已有方法中采用的代价函数是直接衡量某一帧的网络输出与训练目标之间的均方误差,模型的训练与优化是针对某一帧进行的,且对该帧中的所有时频单元的处理方式是完全一致的,显然缺乏对这两方面问题的考虑。为了进一步提高基于深度神经网络的语音增强方法的性能,针对语音增强问题的自身特点,笔者通过在代价函数中对相邻帧的网络输出进行关联,并设计一个反映时频单元语音存在情况的感知系数,提出了基于感知相邻帧联合优化的深度神经网络语音增强方法,将相邻帧网络输出之间的相关性和各时频单元的语音存在情况包含到语音增强模型的训练中。

1 基于深度神经网络的语音增强

在基于深度神经网络的语音增强方法中,需要通过训练网络参数集合θ来构造一个非线性函数fθ,从而最小化如下的均方误差代价函数:

(1)

其中,Zn是网络的输入,Tn则是网络的训练目标,M是网络训练时采用的Mini-batch。对含噪语音第n帧进行处理时,网络的输入一般采用以第n帧为中心的共2N+1帧的含噪语音训练特征,即

Zn=[Yn-N,Yn-N+1,…,Yn,Yn+1,…,Yn+N-1,Yn+N] ,

(2)

其中,Yn是含噪语音第n帧的训练特征。在下文中,训练特征和训练目标分别采用含噪语音和相应的纯净语音的对数功率谱,它是由时域信号经过短时傅里叶变换(STFT)和对数运算(LOG)计算得到的。

2 基于感知联合优化的深度神经网络语音增强

2.1 相邻帧联合优化

由式(2)可知,在网络输入的设计中,基于深度神经网络的语音增强充分考虑了连续相邻帧之间的相关性;而由式(1)可知,在代价函数CL2中,虽然是对同一个Mini-batch里面的M帧同时进行优化,但是这M帧是来自不同语音段,彼此间没有任何关联的,因此在网络输出的设计中没有充分考虑连续相邻帧之间的相关性。为了将这种相关性体现在网络输出中,在不改变网络结构的前提下,笔者采用以第n帧为中心的相邻2L+1帧的平均训练误差作为第n帧的训练误差,得到如下的代价函数:

(3)

在采用上述代价函数进行语音增强模型训练时,可以通过在训练过程中同时对第n帧及其相邻帧进行联合优化,将第n帧与其相邻帧的网络输出进行关联。

2.2 感知系数

由式(1)可知,在代价函数CL2中,没有考虑各时频单元的语音存在情况,对所有时频单元不做区分地进行了相同的处理,导致模型训练过程中无法很好地权衡语音保持和噪声残留之间的关系。受文献[9]中基于语音幅度谱设计的感知贝叶斯估计器启发,笔者基于语音对数功率谱设计一个能够反映语音存在情况的感知系数:

(4)

可见,该感知系数的取值范围为(1,2),且随着语音成分的增多而增大。将该系数引入代价函数CL2中,得到加权的L2代价函数:

(5)

在理想情况下,感知系数的引入给包含语音成分的时频单元赋予了更高的权重,会使模型具有更好的语音保持能力。但是,由平方误差的性质可知,L2代价函数对大误差的惩罚要大于小误差,感知系数的引入可能进一步增大L2代价函数对大、小误差惩罚力度的失衡,从而降低模型的语音增强性能。为了平衡代价函数对大、小误差的惩罚,笔者采用绝对值误差来代替平方误差,得到如下的加权L1代价函数:

(6)

2.3 感知联合优化

将感知系数与相邻帧联合优化进行结合,采用加权L1误差代替CMF中的L2误差,得到如下的代价函数:

(7)

采用CMFWL1作为代价函数进行语音增强模型的训练,得到基于感知联合优化的深度神经网络语音增强方法,模型在训练阶段和语音增强阶段的结构如图1所示。

3 网络结构

文中所有语音增强模型的训练采用相同的深度神经网络结构。网络具有5个隐层,每个隐层由一个节点个数为1 024的全连接层(Fully Connected, FC)和一个指数线性单元(Exponential Linear Unit, ELU)构成。另外,为了提高模型的泛化能力,防止模型的过拟合,每个隐层后紧接一个丢弃率为0.5的丢弃层。具体的网络结构如图2所示。

图1 基于感知联合优化的深度神经网络语音增强方法框图

图2 深度神经网络的结构框图

4 语音增强实验与结果分析

4.1 实验配置

模型训练阶段所用的语音数据来自TIMIT语音数据库的Training集[10],噪声数据则来自OSU Perception and Neurodynamics Laboratory的100 Nonspeech Sounds[11]。为了合成含噪语音数据,首先将所有语音段和噪声段的采样频率转换为8 kHz,然后按照-10 dB、-5 dB、0 dB、5 dB和10 dB这5种全局信噪比将语音段和噪声段进行混合,整个训练集共包含50 000段含噪语音(约40 h)。

测试集采用的语音数据来自TIMIT语音数据库的Core test集,包含192段纯净语音;噪声数据则来自Noisex92噪声库,包含4类不同于训练集噪声类型的未知噪声,分别是Factory2、Buccaneer1、Destroyer operations、HF channel噪声[12]。将192段纯净语音和4段噪声的采样频率转换为8 kHz,然后按照-7 dB、0 dB和7 dB这3种全局信噪比进行混合,整个测试集共包含2 304(192×3×4)段含噪语音。

计算对数功率谱所用的短时傅里叶变换帧长为32 ms(256点),帧移为16 ms(128点),因此训练特征和训练目标维度均为129。为了使训练过程更加稳定,网络的训练特征和训练目标均进行了均值方差归一化(Mean and Variance Normalization, MVN)处理。网络的输入采用连续15帧的训练特征,Mini-batch设为1 024。网络的训练工具为Cognitive Toolkit[13],优化算法采用Adam, 学习率为0.000 1,动量为0.9,迭代次数为20。

4.2 评价指标

从增强后语音的语音质量和可懂度两方面进行语音增强性能的客观评价。其中对于语音质量的评价采用语音质量知觉评价(Perceptual Evaluation of Speech Quality, PESQ)作为指标[14],对于语音可懂度的评价则采用短时客观可懂度(Short Time Objective Intelligibility, STOI)作为指标[15]。通过计算增强后语音相比含噪语音的平均语音质量知觉评价提升值和平均短时客观可懂度提升值来比较不同方法的语音增强性能。

4.3 相邻帧联合优化

通过实验验证相邻帧联合优化对模型语音增强性能的影响。将式(3)定义的代价函数CMF中的L分别取为1、2、3、4、5,通过对3、5、7、9、11个相邻帧进行联合优化训练5个语音增强模型DNN-MF,图3(a)和图3(b)分别给出了测试集采用5个模型进行语音增强后的平均语音质量知觉评价提升值(ΔPESQ)和平均短时客观可懂度提升值(ΔSTOI),并给出了采用均方误差代价函数训练的DNN-baseline的处理结果(虚线)作为对比。可见,5个采用相邻帧联合优化训练得到的模型的语音增强性能都要优于DNN-baseline。另外,当联合优化的相邻帧数小于7时,随着帧数的增加,模型的语音增强性能有明显的提升;而当联合优化的相邻帧数大于7时,随着帧数的增加,模型的语音增强性能差别变小。考虑到联合优化的相邻帧数越大,模型的训练越复杂,在后续实验中联合优化的相邻帧数设为7。

4.4 感知系数

下面通过实验验证代价函数中感知系数对模型语音增强性能的影响。分别采用式(5)和式(6)定义的代价函数CWL2和CWL1训练语音增强模型DNN-WL2和DNN-WL1。图4(a)和图4(b)分别给出了测试集的3种不同信噪比下采用DNN-WL2和DNN-WL1进行语音增强后的平均ΔPESQ和平均ΔSTOI,并给出了DNN-baseline的处理结果作为对比。可见,在两种不同的指标下,除了ΔPESQ指标中的-7 dB噪声条件外,DNN-WL1都取得了最佳结果,DNN-WL2次之,DNN-baseline最差。表明感知系数的引入确实能够提高语音增强性能,而通过采用绝对值误差代替平方误差,DNN-WL1相比DNN-WL2进一步提高了语音增强性能。

图3 不同联合优化帧数下的语音增强性能

图4 感知系数对语音增强性能的影响

4.5 感知相邻帧联合优化

下面通过实验对基于感知相邻帧联合优化的深度神经网络语音增强方法的语音增强性能进行分析。采用式(7)定义的代价函数CMFWL1训练语音增强模型DNN-MFWL1,并计算其在测试集上的语音增强结果。图5(a)和图5(b)分别给出了DNN-baseline、DNN-MF、DNN-WL1和DNN-MFWL1在测试集的3种不同信噪比下的平均ΔPESQ和平均ΔSTOI。可见,在两种指标的3种不同信噪比条件下,DNN-MFWL1都取得了最佳结果,在4种模型中具有最好的语音增强性能;另外,综合分析两种指标可知,DNN-MF和DNN-WL1相比DNN-baseline都有更好的语音增强性能。上述结果表明,在代价函数中引入感知系数或采用相邻帧联合优化均能提高模型的语音增强性能,且两种方案对性能的提升是可以叠加的,在不改变网络结构的前提下,DNN-MFWL1相比DNN-baseline明显提高了语音增强性能。

图5 不同代价函数下的语音增强性能

5 结束语

在基于深度神经网络的语音增强模型中,一般采用均方误差作为代价函数对含噪语音中的某一帧进行优化,既没有考虑相邻帧的网络输出之间的相关性,也没有考虑各时频单元的语音存在情况。针对上述问题,笔者在代价函数中采用某一帧及其相邻多帧的平均误差作为该帧的训练误差,通过对该帧及其相邻帧进行联合优化,将相邻多帧的网络输出进行了关联;另外通过设计一个能够反映时频单元语音存在的感知系数,提出了具有语音感知能力的代价函数;最后采用感知代价函数结合相邻帧的联合优化进行语音增强模型的训练,提出了基于感知相邻帧联合优化的深度神经网络语音增强方法。实验结果表明,在相同网络结构下,相比基于均方误差的语音增强模型,两种针对代价函数的优化方法均能提高增强语音的语音质量和可懂度,两者结合得到的语音增强方法显著地提高了语音增强性能。

猜你喜欢
代价语音神经网络
神经网络抑制无线通信干扰探究
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
基于神经网络的中小学生情感分析
对方正在输入……
爱的代价
代价
基于神经网络的拉矫机控制模型建立
成熟的代价