本文发表在2023年InterSpeech上,核心结论是复数DNN网络在单声道语音增强方面并未提供比其对应实值网络更高的性能增益。 读完之后对模型设计思路启发颇大,将全文进行翻译并记录于此。
0、论文摘要
尽管在采用复数值深度神经网络(DNN)方面做出了很多努力,但对于复数值DNN是否普遍比实数值DNN在单声道语音增强方面更有效,这仍然是一个悬而未决的问题。本研究旨在通过系统地对比复数值DNN与其对应的实数值DNN来进行批判性评估。具体来说,我们研究了复数值DNN的基本单元,包括线性层、卷积层、长短期记忆(LSTM)和门控线性单元。通过比较最近的门控卷积递归网络(GCRN)中基础构建模块的复数值和实数值版本,我们揭示了不同基本块机制如何影响性能。我们还发现,当模型尺寸较小时,使用复数值操作会阻碍模型的能力。此外,我们还测试了两个最近提出的复数值DNN,即深度复数卷积递归网络(DCCRN)和深度复数U-Net(DCUNET)。评估结果显示,这两个DNN在性能上与它们对应的实数值网络相同,但需要更多的计算资源。基于这些全面的比较,我们得出结论:复数值DNN在单声道语音增强方面并未提供比其对应实值网络更高的性能增益,因此由于其更高的计算成本而不太理想。
1、引言
近年来,单声道语音增强模型在复数域中的性能提升表现出色,这是由于语音质量中相位的重要性[1–9]。最近一项研究[10]开发了复数值DNN的关键原子组件,并声称从计算、生物学和信号处理的角度来看,复数值参数具有多种优点。复数值DNN通过复数值运算,似乎在复数域语音增强中具有优势,其中DNN被训练来学习复数谱图。受这种直觉的驱动,多个研究[3, 7, 11–16]采用了复数值DNN进行单声道语音增强。然而,据我们所知,这些研究中没有一项证明了在相同网络结构和模型大小下,复数值DNN相较于其对应的实数值网络提升了性能。Drude等人[17]比较了用于波束形成的实数值和复数值DNN,并发现复数值DNN的性能并不优于实数值DNN,同时计算成本更高。
对于单声道语音增强,尽管最近的复数值DNN表现出色,但目前尚不清楚复数值的特性是否是带来这些优点的根本原因。最近一个值得注意的模型是DCCRN[7],它通过将卷积和LSTM层替换为复数值对应层来扩展[18]中的卷积递归网络,以估计理想的复数比率掩模。DCCRN相较一众早期工作表现出竞争力,这引起了社区对复数值DNN在语音增强中有效性的关注。然而,我们认为,由于缺乏对DCCRN及其对应的实数值网络之间的系统比较,将性能提升归因于使用复数值操作为时尚早,在这种比较中,仅将复数值层替换为对应的实数值层,而所有其他配置保持不变,包括输入特征、训练目标、训练目标、网络结构和模型大小。
本研究通过全面的比较系统且批判性地评估复数值DNN及其对应实值网络:
1)基于复数值计算的原理[10],我们制定了复数值DNN的原子单元进行测试评估,包括线性层、卷积/反卷积层、LSTM和门控线性单元。我们在单声道语音增强任务下比较了其与其实值网络的性能。
2)为全面研究不同类型层拓扑中的复数值操作,我们采用了最初为复数域语音增强开发的实数值DNN —— GCRN,该网络整合了各种层类型。我们列举了GCRN的所有不同版本的基本构建块,揭示了基本块中不同计算机制是如何影响性能的。我们观察到,带有复数值组件的模型并未优于其对应实值网络。此外,考虑到许多现实世界的应用需要计算效率高的模型,我们在模型规模非常小时进行相同的比较。我们发现,在这种设置下,相较于实值操作,复值操作甚至阻碍了语音增强性能。
3)最近的两个基于复值操作的有说服力的模型DCCRN[7]和DCUNET[3]在单声道语音增强中表现出色。在本研究中,我们评估了与其具有相同参数数量的实数值版本,并通过不同的损失函数、学习率和小批量大小在增强性能和训练稳定性方面进行调查。实验结果表明,复数值版本并未优于其对应实值网络,同时计算成本更高。这与[19]中的观察结果一致。
2、方法
本节介绍复值的基本构建块DNN,然后是案例研究设计。
2.1 基本模块
2.1.1 线性层
全连接层、卷积层和反卷积层由矩阵乘法组成。为了简化描述,我们省略了偏置项。以复数值特征和参数化矩阵作为输入:X = Xr + jXi ,W=Wr + jWi,则输出可表示为:
式中,Y表示复值层的输出特征,下标r和i分别表示实部和虚部。
2.1.2 激活函数
给定复值表示z,激活函数对实部和虚部独立作用为:
其中a为输出表示,Re和Im分别提取实部和虚部,f为激活函数。
2.1.3 LSTM
对于LSTM层,我们有两个版本:
拟复值LSTM:[7]中将复LSTM运算视为实部和虚部上的两个独立运算。具体来说,他们初始化了两个实值子LSTM层LSTMr和LSTMi,分别对应于实LSTM和虚LSTM。给定输入特征X = Xr + jXi,则输出特征可导出为:
完全复值LSTM:除了在子LSTM层中不执行复值操作的拟复值LSTM外,我们还研究了完全复值LSTM,它完全遵循复数运算。本LSTM中的每个矩阵乘法和激活函数都严格遵循2.1.1节和2.1.2节中的算法。
2.1.4 门控线性单元
门控线性单元[20]是一种广泛使用的层拓扑,它由两个独立的卷积层和一个门控操作组成。两个独立的卷积层处理相同的输入,并产生它们的输出和
。一个s型函数作用于
得到一个门,然后将其与
进行元素级别乘法,产生门控线性单元的输出。在复值门控线性单元中,设
和
是两个卷积层的输出。我们推导了独立门控和幅度门控两种机制。
独立门控:对于独立门控,我们对的实部和虚部分别应用了一个s型函数,这相当于一个复值门。这个门的实部和虚部都巧妙地分别与
和
相乘。
幅度门控:与独立门控不同,幅度门控从的幅值中计算一个实值门
,由于幅值非负,s型函数应用于幅值时总是得到0.5到1之间的值。因此,我们使用仿射变换将门控值归一化到0到1的范围,所产生的实值门
被应用于
的实部和虚部,如此幅度门控即保留了
的相位信息。
2.2 案例研究设计
在这一部分中,我们精心设计了案例研究,并详细说明了每个案例的原理和研究目标。在这些案例研究中,所有用于比较的实数值和复数值模型对都具有相同的配置,包括输入特征、训练目标、训练目标、网络结构和模型大小。
基本单元:这个案例研究比较了第2.1节中定义的不同复数层及其对应实值层的增强性能和计算成本。具体来说,我们比较:
1)一个由三层复数值线性层堆叠的模型及其对应的实数值模型,其中复数值模型的每个隐藏层有406个单元,而实数值模型有512个单元。这样的配置确保了两个模型的参数数量几乎相同。注意,每个隐藏层后面都跟随一个修正线性单元函数。
2) 准复数值LSTM、全复数值LSTM和实数值LSTM,每个模型包含三层LSTM,后跟一个线性输出层。在这三个模型中,每层LSTM分别包含732、732和1024个单元。准复数值LSTM和全复数值LSTM的实现采用第2.1.3节中描述的方法。
3) DCUNET,一个在[3]中开发的卷积编码-解码模型及其对应实值网络(RUNET),其中所有复数值卷积、反卷积和线性层都被其对应实值模块替代。与1和2类似,我们稍微调整了RUNET的超参数(如卷积层中的输出通道数),以使其模型大小与DCUNET几乎相同。
注意,所有这些模型都被训练来学习复数频谱映射。
GCRN :GCRN [5] 是我们研究的一个代表性模型,因为它包括不同类型的层,如卷积/反卷积层、门控线性单元、LSTM层和线性层。原始的GCRN有两个解码器,一个用于实部估计,另一个用于虚部估计。我们改用单个共享解码器同时处理实部和虚部,对应于解码器最后一层反卷积层中的两个输出通道。这样的架构可以自然地转换为复数值版本进行比较,只需将每个层替换为其复数值对应物。在此案例研究中,我们旨在研究:
1)是否用复数值对应物替换GCRN的特定层可以带来更好的性能;
2)当模型的参数数量相对较少时,复数值操作的使用如何影响语音增强性能;
3)第2.1.4节中的哪种门控机制在训练稳定性和增强性能方面更优。
注意,对于GCRN中的瓶颈LSTM,我们采用准复数值LSTM进行研究。
DCCRN:在[7]中,DCCRN所取得的性能提升被作者归因于复数乘法约束,他们认为这可以帮助DNN更有效地学习复杂表示。然而,他们并未使用相同配置将DCCRN与其对应实值网络进行比较。因此,很难确定性能提升是由于复数值操作的使用还是模型设计中的其他组件。本案例研究的目标是展示在参数数量相同的情况下,DCCRN是否能优于其对应实值网络。具体来说,我们采用了在[7]中表现最佳的“DCCRN-E”配置。为了推导出对应的实值版本,我们简单地将复数值层替换为其对应实值模块,并将编码器中的通道数量减少到[32, 64, 64, 64, 128, 256]以保持参数数量一致。
3、实验
3.1 实验设置
在我们的实验中,使用Interspeech2020 DNS Challenge训练语音数据集[22]创建我们的训练、验证和测试集,总共包含约65000个语音信号,由1948名说话者发音。我们将这些说话者随机分成三个独立的集合用于训练、验证和测试,分别包含1753(约90%)、97(约5%)和98(约5%)名说话者。同样,我们将包含约65000个信号的DNS Challenge噪声数据集按90%、5%和5%划分为训练、验证和测试集。通过随机配对语音和噪声信号,我们创建了一个包含500000个带噪混合物的训练集和一个包含1000个带噪混合物的验证集,在这两个集合中,信噪比(SNR)在-5到5 dB之间随机采样。按照相同的程序,在不同的SNR水平(-5, 0和5 dB)下创建了三个测试集。注意,所有语音和噪声信号在混合前都被随机截断为10秒。我们还使用了DNS Challenge发布的合成测试集进行评估。所有信号的采样率为16 kHz。为了获得谱图,进行了短时傅里叶变换。我们采用Adam优化器来训练所有模型。采用多种指标来衡量语音增强性能,包括宽带感知评估语音质量(WB-PESQ)[23]、短时客观可懂度(STOI)[24]、尺度不变信号失真比(SI-SDR)[25]、DNSMOS P. 835[26]和NORESQA-MOS[27]。
3.2 实验结果
基本单元:在表1中,列(1a)、(1b)、(1c)分别表示全复数值LSTM、准复数值LSTM和实数值LSTM。实数值LSTM的MAC数量仅为两种复数值LSTM的一半。在这三种模型中,准复数值LSTM取得了最佳性能,但其相对于实数值LSTM的提升是微不足道的。列(1d)和(1e)分别表示由线性层组成的复数值DNN和实数值DNN。尽管实数值DNN的MAC数量仅为复数值DNN的一半,但它的性能仍略优于后者。列(1f)和(1g)分别表示DCUNET及其对应的实数值版本。我们发现实数值UNET在增强性能和计算效率方面都优于DCUNET。
GCRN:在表2中,(2a)是原始的实数值GCRN。(2b)-(2j)是部分组件被对应的复数值版本替换的模型。此外,(2A)和(2J)具有与(2a)和(2j)相同的模型结构,但被训练以执行复杂比率掩模而非复杂频谱映射。在表3中,我们将模型大小减少到大约2M和0.6M,其中“CGCRN”表示与(2j)相同的配置。我们观察到:
1)用复数值版本替换GCRN的组件并未带来性能提升,如(2a)-(2j)所示。
2)在训练复杂比率掩模的模型比较中,即(2A)和(2J),实数值模型的性能略优于复数值模型。
3)尽管幅度门控和单独门控带来的性能相似,但前者的训练损失曲线比后者更稳定。这可能是因为幅度门控保留了相位信息,可能有助于稳定训练。
4)小模型设置中,实数值模型在性能上始终优于复数值对应物。此外,随着模型大小的减小,它们之间的性能差距增加。
DCCRN:表4和表5比较了DCCRN及其对应实值网络在我们模拟的测试集和DNS Challenge合成测试集上的表现,得出了以下观察结果:
1)使用三种不同的训练目标,即SI-SDR、L1和MSE,实数值和复数值模型在所有指标上的性能几乎相同。在表4中的-5 dB情况下,以SI-SDR训练损失为例,复杂值模型的STOI、WB-PESQ和SI-SDR相对于噪声混合物的提升分别为0.18、0.67和16.01 dB,而实数值模型分别为0.18、0.69和16.06 dB。
2)如表5所示,在DNSMOS和NORESQA-MOS这两个高度相关于主观质量评分的指标上,实数值模型的得分略优于复杂值模型。
3)我们还在不同的学习率和小批量大小的设置下进行了比较。我们发现DCCRN在不同学习率下的鲁棒性不如其对应实值网络。此外,两个模型在不同的小批量大小设置下表现非常相似。然而,由于篇幅限制,我们没有展示这些比较结果。4)复数值模型的MAC数量是实数值模型的三倍。具体来说,复数值模型的MAC数量为14.38 G,而实数值模型仅为4.84 G。鉴于两个模型几乎取得相同的性能,复数值模型在实际应用中效率较低。
4、总结
通过广泛的实验,我们得出了以下结论用于单通道语音增强:
1)复数值DNN的性能与参数数量相同的对应实值网络相当。
2)当模型大小相对较小时,使用复数值操作会阻碍增强性能。
3)DCCRN和DCUNET取得的性能提升并不是由于复数值操作的使用。此外,复数值DNN比对应实值网络需要更多的MAC,但没有性能提升。
复数乘法可以分解为四次实数乘法。基于我们系统性地比较,我们相信实值DNN在相同的模型大小和网络结构下可以达到与其对应复值网络相当的性能。尽管复值DNN直观上似乎比实值DNN更适合处理复杂频谱图,但它们的计算成本更高,因此对于效率敏感的实际应用来说是一种较差的选择。我们认为,没有足够的证据证明复数值DNN在单耳语音增强方面优于实数值DNN。这项研究表明,重新思考在语音增强系统中使用复数值操作的有效性是非常重要的。