论文地址https://openreview.net/pdf?id=SkeRTsAcYm
Pytorch实现的源码
1 简介和创新点
(1)提出了Deep Complex U-Net语音增强模型,这是一种先进的U-Net结构化模型,其中包含定义明确的复数值构建基块以处理复数值频谱图。U-net的提出来源于文献《U-net: Convolutional networks for biomedical image segmentation》
(2)提出了一种极坐标复数掩码方法,以反映复数理想比率掩码的分布
(3)定义了一种新的损失函数,即加权源失真比(wSDR)损失,该函数与定量评估指标直接相关
2 综述
由于早期研究仅关注与幅度相关的训练目标,而忽略了相位,还仅通过简单地将估计的幅度与嘈杂的语音阶段相结合来重新合成估计的语音。且仅通过常规技术使用相位,在低信噪比下效果反而不佳,为了解决此类问题一种流行的语音增强方法是优化掩码,当将掩码应用于嘈杂的输入音频时,该掩码会产生清晰语音的频谱。在2018年提出CRM(Complex-valued ratio mask)掩码解决了此问题。
为了估计复数值掩码,作者利用《Deep Complex Network》文献提出的处理复域运算的体系结构去构建网络模型。
3 模型
3.1 神经网络模型
训练集的样本来自使用短时傅立叶逆变换(STFT)将时域波形转为频谱图。先是三个卷积层,后三个是反卷积层,为了恢复输入的大小。使用作者提出的Leaky CReLU激活函数。
3.2 计算CRM掩码数学模型
计算CRM掩码的公式表达如下。其中Mtf表示要求的CRM掩码,Otf表示神经网络的输出,|Otf|表示模型的大小
3.3 损失函数
由于相结构的随机性,在复数的STFT域中用MSE优化模型的相位估计是不行的。为此提出了一个weighted-SDR(source-to-distortion ratio) 损失函数。这使得损失函数限制在[-1,1]范围内,并且对相位也更加敏感,因为反相也会受到不利影响。为了适当地平衡每个损失项的贡献并解决标度不敏感问题,对每个项的加权与每个信号的能量成比例。加权的损失函数公式如下
其中lossSDR(z, z ^)是噪声预测项。 z^ = x−y^是估计的噪声,α赶紧语音y与噪声z之间的能量比。 y是源信号,y^是估计的信号。
4 模型参数
(1)对比实验的模型
- SEGAN:生成对抗网络优化的时域U-Net模型
- Wavenet:基于时域的非因果扩展Wavenet网络
- MMSE-GAN:一种基于时频掩码的方法,具有改进的对抗训练方法
- Deep Feature Loss:利用来自分类器网络的特征损失进行训练的时域扩张卷积网络
(2)神经网络模型参数作者没有介绍
5 实验分析
- PESQ:语音质量感知评估
- CSIG:信号失真的平均意见得分(MOS)预测因子
- CBAK:平均意见得分的背景噪声干扰预测器
- COVL:整体信号质量的MOS预测器
- SSNR:分段SNR
显而易见,分数越高,语音增强效果越有好。
6 思考和疑问
(1)因为仅对复数下的U-Net模型感兴趣,重心放在了模型介绍上,但是作者并没有详细介绍模型的参数以及模型 具体结构。作者的论文大部分集中放在了分析上。论文本身质量很高,但是我要找的东西没有太详细介绍。模型结构还需阅读文献U-net提出的的初始论文《U-net: Convolutional networks for biomedical image segmentation》
(2)实验分析部分,长篇大论,因为我不是在此论文上挖掘语音增强技术的信息,所有在此没有继续进行解读。未知的东西,应该在源码中有所体现
Pytorch实现的源码