On Loss Functions for Supervised Monaural Time-Domain Speech Enhancement

On Loss Functions for Supervised Monaural Time-Domain Speech Enhancement

摘要

本文主要介绍了不同损失函数对于各种评估指标的影响。此外证明了尽管有着各种优化器,学习率依旧是非常重要的一个超参数。

论文给出的一个建议是谨慎使用波形匹配性能指标,某些情况下会完全没有效果。

迄今为止最成功的技术是FCNN,无需傅里叶变换之类,直接使用时域处理。但是使用的Loss还是MSELoss,这种Loss是次优的,因为目前为止,还没有发现人类听觉系统和时域MSE有明显的关系。

论文采用FCNN结构,对不同的Loss做分析:

概述

分别表示:

Time-domain mean-square error (MSE) LTIME-MSE

Short-time spectral amplitude (STSA) MSE

Short-time objective intelligibility (STOI)

Extended STOI

Scale-invariant signal- to-distortion ratio (SI-SDR)

Perceptual metric for speech quality evaluation

由于PESQ计算不可导,PMSQE是一种近似可微的指标,且范围在0-3之间,与PESQ成反比,如下图所示:
uGJEyd.png

这些Loss的特点是符合人类感知并且从数学上来说比较简单。

论文使用的网络结构:
uGJVOA.png

增强系统

频域时域都有涉及,模型在频域采用帧长256,输入尺寸为129。

STOI是目前最常用的语音可懂度估计器用于客观评价语音增强系统的性能,这可能是由于STOI已经被证明能够相当准确地预测噪声/处理过的语音在大范围的声学场景中的可理解性。

STOI和ESOTI公式太难了,找时间看看书或者问问学长。

实验设计

clean数据:WSJ0 speech corpus

具体地说,使用采样-替换方案,训练数据基于从WSJ0的si_tr_s部分的子集中随机选择的30000个语音。

noisy数据:使用整个TIMIT数据库6300条噪声序列的时间超过50分钟。现实生活中的噪音信号,我们使用街上(STR)和自助餐厅(CAF) CHiME3数据集的噪音信号,信号被记录在一个自然发生的场景

论文里对于噪声数据的生成过程:

50min分钟的噪声数据中,40分钟数据用于训练,5分钟用于验证集,5分钟用于测试集

为了评估语音增强系统对不可见或不匹配的噪声信号的性能,还测试公交车(bus)和行人(PED)噪声信号。这些噪声信号也是真实生活中的记录,但与用于训练的四种噪声类型相比,它们代表了不同的噪声统计数据。

实验结果

首先证明了学习率的重要性,在多组学习率上实验后,最终5e-4, 1e-5结果要好很多。

uGJeeI.png

学习率确定用下列组合:

uGJmwt.png

学习率确定之后,分别在时域和频域使用上述六中信号来确定最终的结果。

时域

TIME-MSE-LOSS获得了最好的结果

PMSQE-LOSS获得了最差的结果

当使用SI- SDR和SDR来评估具有相位修正能力的时域语音增强或分离系统(如时域FCNNs)时,应谨慎使用

频域

TIME-MSE-LOSS以及STSA-MSE-LOSS都对音频进行很好的降噪,不过STSA在高频也能很好的进行估计。

STSA-MSE-LOSS得到的结果包含少量的相位误差,不过对于评测结果并不影响。

值得注意的是SISDR-LOSS作用非常明显,即便PMSQE是专为PESQ设计的可微Loss,在真正的实践环节发现,SISDR-LOSS在STOI,ESTOI,PESQ这三个指标中,总能达到最优解。

论文证明了这个结论的有效性,即对不同的信噪比以及不同的数据分布,这些LOSS的最终表现是稳定的,一致的。其中一个比较好的思路是对于不同的Loss function使用了不同的学习率,保证了学习率都是最优的。尽管看起来不符合控制变量法,但是发挥了每一个loss function的“最大威力”。

。。读完了发现SISDR是最适用的损失函数,如果针对多种指标的话。并且对应的学习率是上图所示。不过缺点就是SISDR loss和SDR loss并不对时域进行评价,这也就导致如果数据本身的相位不是对齐的,使用这两种损失函数会导致结果的相位有很大偏差,语调上可能有些奇怪。

结论

证明了如果目标是最大限度地提高某一具体绩效指标如PESQ,一般可以通过特定的LOSS实现。如果是多指标的模型优化,使用SI-SDR Loss