2020_NSNet:如何为基于神经网络的实时语音增强设计加权语音失真损失?
摘要:论文地址:基于神经网络的实时语音增强的加权语音失真损失 论文代码:https:github.comGuillaumeVWNSNet 引用:Xia Y, Braun S, Reddy C K A, et al. Weighted sp
论文地址:基于神经网络的实时语音增强的加权语音失真损失
论文代码:https://github.com/GuillaumeVW/NSNet
引用:Xia Y, Braun S, Reddy C K A, et al. Weighted speech distortion losses for neural-network-based real-time speech enhancement[C]//ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020: 871-875.
摘要
本文研究了训练RNN(递归神经网络)的几个方面,影响客观和主观的增强语音质量的实时单通道语音增强。具体地说,我们重点研究了一种基于单帧输入、单帧输出的RNN,这是一种被大多数经典信号处理方法所采用的框架。我们提出了两个新颖的均方误差 损失函数,能够分别控制语音失真和降噪的重要性。提出的损失函数通过PESQ和STOI进行评估,并与其他方法进行比较。此外,我们还研究了特征归一化和不同batch序列长度对增强语音客观质量的影响。最后,我们对所提出的方法和一种先进的实时RNN方法进行了主观评价。
关键词:实时语音增强,递归神经网络,损失函数,语音失真,平均意见评分
1 引言
语音增强(Speech Enhance,SE)算法旨在改善被加性噪声降级的语音质量和可理解性[1],以改善人类或机器对语音的理解,典型的语音增强应用包括助听器、自动语音识别和噪声环境中的音视频通信。大多数SE方法将频谱抑制增益或过滤应用于时频域中的有噪语音信号[2]。在最近使用深度神经网络(DNNs)的有监督学习方法中,DNN通常被设置为 从带噪语音的一组或多组特征中估计这个时变增益函数[3]。
在线处理能力是SE算法的一个吸引人的特征,并且对于实时通信应用是必需的。虽然大多数经典的SE方法必须适应它们的方法[4,5,6,7]来实现因果关系,但文献[3,8,9]中的许多基于DNN的方法并没有强制执行这一约束。几种基于DNN的方法使用大量的look-ahead[8,9]报告了高质量的增强,但是它们在降低look-ahead的性能没有得到很好的研究。然而,与经典方法相比,基于DNN的系统具有精确抑制瞬态噪声的能力。在这项工作中,我们研究了基于递归神经网络(RNN)的实时语音增强。最近涉及RNNs的工作显示出令人振奋的结果[10],即使在非常低信噪比(SNR)的情况下也是如此[11,12]。
设计用于音频/视频通信的SE算法的关键挑战是在抑制噪声的同时最大限度地保持感知(主观)语音质量。在经典文献中,优化这样一个全局目标可以通过求解一个受约束的目标函数来完成[13]。或者,可以优化更简单的目标,如(对数)均方误差(MSE)[6,14],并采用后处理模块,如残余噪声去除[7]和增益限制[15]。相比之下,深度学习框架的一个主要好处是相对容易纳入复杂的学习目标,人们认为这将推动增强的语音朝着更好的质量和清晰度发展。沿着这条思路的方法包括从特征中学习多个目标[16,17,18],联合优化最终目标及其子目标(例如,语音存在概率)[10,12],以及直接针对语音质量或清晰度的客观度量进行优化[19,20]。后者似乎是一种改进客观质量的有前途的方法,尽管由于每个客观测量的频带限制,这两个模型都必须结合标准的MSE。[21]据报道,简单的感知加权宽带MSE本身并不能改善客观语音质量或清晰度,这表明MSE仍然是宽带语音增强的可靠学习目标。
本文提出了一种基于DNN的实时在线语音增强系统。首先,我们将讨论使用RNN促进模型学习的 特征和归一化技术。然后,我们描述了一种从单个噪声帧产生增益的 紧凑形RNN。接下来,我们介绍了两个简单的基于均方误差的损失函数,分别控制语音失真和去噪。在评估过程中,我们深入考察了错误加权对主客观语音质量和清晰度的影响。此外,我们还讨论了不同的特征归一化技术和训练策略对客观度量的影响。
2 问题表述
我们假设要在短时傅立叶变换(STFT)域中描述的麦克风信号为:
$$公式1:X[t,k]=S[t,k]+N[t,k]$$
其中$X[t,k]$、$S[t,k]$和$N[t,k]$分别表示在时间帧$t$和频段bin$k$处的带噪语音、纯净语音和噪声。我们的系统在短时傅立叶变换幅度域(STFTM)$G[t,k]$中寻找一个时变增益函数,它可以最大限度地恢复$|S[t,k]|$。
