多阶段生成器与时频鉴别器的GAN语音增强算法①

2022-08-04 09:58尹文兵
计算机系统应用 2022年7期
关键词:频域时域信噪比

陈 宇,尹文兵,高 戈,王 霄,曾 邦,陈 怡

1(公安部第一研究所,北京 100048)

2(武汉大学 国家多媒体软件工程技术研究中心,武汉 430072)

3(华中师范大学 计算机学院,武汉 430077)

1 引言

在现实环境中录制的语音信号常常会受到背景噪声的干扰. 语音增强可以通过去除带噪语音中的噪声获得干净的语音信号,从而提高语音质量与可懂度. 它在听觉辅助设备、语音通信、语音识别前端等应用中发挥着重要作用.

传统语音增强算法以谱减法[1]、二值掩码[2]、维纳滤波法[3]以及最小均方差法[4]为主. 这些方法假设语音信号是平稳的,只能在高信噪比环境下对稳态的加性噪声发挥作用. 然而现实中大部分带噪语音的信噪比较低,并且带有混响与非平稳的噪声,传统语音增强方法无法处理该类低信噪比的带噪语音.

过去几年里,深度神经网络(deep neural networks,DNNs)逐渐应用到语音增强任务中来[5]. 凭借对复杂映射的强大建模能力,DNNs 可以从数据中学习到语音或噪声的深层特征,例如使用卷积神经网络(convolutional neural network,CNN)[6]或循环神经网络(recurrent neural network,RNN)[7]学习带噪语音到干净语音的频谱映射过程,从而达到去噪的目的. 为了引入语音的上下文信息,长短时记忆网络(long short-term memory,LSTM)[8]也被应用到语音增强中. 这些方法通常使用短时傅里叶变换(short-time Fourier transform,STFT)所得的频域幅度谱作为网络映射目标,同时使用带噪相位进行语音重构,这会导致幅度谱与相位谱不匹配的情况出现. 为了解决该问题,时域语音增强方法[9–11]逐渐受到人们重视. 该类方法通过直接增强语音的时域波形,避免了逆短时傅里叶变换(ISTFT)过程,使其性能不依赖相位估计的准确性[12].

生成对抗网络(generative adversarial network,GAN)[13]通过学习底层数据分布来生成类似于真实数据的样本. GAN 作为最先进的深度生成模型被迅速应用到语音相关的任务中来,如语音转换[14]、语音合成[15]等. Pascual 等人提出了一种基于生成对抗网络的语音增强方法(speech enhancement generative adversarial network,SEGAN)[16],该方法使用生成器将带噪语音的时域波形直接映射生成干净语音波形,保留了大量原始语音的底层信息. 同时使用鉴别器区分干净语音信号与增强语音信号,将鉴别结果反馈给生成器,指导生成器学习类似于真实干净语音的信号分布. 尽管已有实验证明GAN 在语音增强任务上的应用是成功的,但增强语音失真与缺乏对各种语音特征的考虑[12]等问题依然存在. 在图像处理任务中,许多人通过修改损失函数[17]或改进生成器和鉴别器结构[18,19],以改善GAN 的效果. 但在语音增强任务中该问题还未得到广泛研究,SEGAN 仍存在语音失真与低信噪比条件下表现不佳的问题.

为了解决该问题,Phan 等人[20]提出了SEGAN 的改进算法,即基于迭代生成对抗网络的语音增强算法(ISEGAN)和基于深度生成对抗网络的语音增强算法(DSEGAN),通过对增强语音进行多重映射,达到进一步细化语音和噪声差别的目的. 同时,文献[21]提出了一种基于时频域生成对抗网络的语音增强算法(timefrequency domain SEGAN,TFSEGAN),该方法采用了时频双鉴别器的模型结构和时频域L1 损失函数,提升了低信噪比下SEGAN 增强语音的语音质量和语音可懂度,但该方法仍存在增强语音失真的现象.

受文献[20,21]启发,本文提出一种新的生成对抗网络语音增强框架,该框架包含多个生成器与多个鉴别器. 其中串联的多生成器可以对语音信号进行多阶段映射,通过不断对增强语音进行优化,取得更优的生成结果. 并联的多鉴别器分别将增强语音的时域特征与频域特征作为输入,指导生成器间接地学习语音频域特征分布. 相应的本文使用时频域联合损失函数,通过在生成器的损失函数中引入频域损失,提高生成器对频域细节信息的捕获能力. 实验结果表明,本文所提出的方法在PESQ[22]与STOI[23]评价指标上比SEGAN基线表现更优,并且在低信噪比条件下相较DSEGAN[20]与TFSEGAN[21]方法具有更好的去噪效果与更少的语音失真.

2 基于生成对抗网络的语音增强算法

SEGAN 与CGAN[24]的结构类似,由一个生成器G与一个鉴别器D组成. 在训练过程中,生成器将随机采样的带噪语音x˜作为输入,通过映射的方式产生相应的增强语音信号x˜. 干净语音x与 增强语音x˜分别与带噪语言x˜成对送入鉴别器. 鉴别器接收到输入信号,需要鉴别该信号是否为真实的干净语音,并将结果反馈给生成器. 为了生成一个真实的样本,生成器被训练来欺骗鉴别器,而鉴别器被训练来区分真实样本x和x˜. SEGAN通过最小最大化博弈的对抗性训练来模拟真实数据的复杂分布,以此促进模型学习语音的样本分布信息,结构如图1 所示,其中 ⊕为特征拼接(contact)操作.

图1 SEGAN 模型框架

SEGAN 生成器是一个编码器-解码器结构,负责实现语音增强的功能,其结构如图2 所示. 编码器的输入为带噪语音原始波形,经过多层卷积与PReLU 压缩得到高维的中间向量c. 该中间向量c与随机噪声z一起送往解码器. 解码器结构与编码器网络结构镜像对称,通过反卷积与PReLU 激活函数将编码器结果还原为语音时域特征,即增强后的语音波形xˆ. 由于使用的语音时域波形特征是直接对语音进行分帧、采样得到的,没有其他特征提取操作,模型的输出无需进行语音波形重构等操作来得到增强语音,避免了传统谱映射方法中估计幅度谱与带噪相位谱不匹配的问题.

图2 SEGAN 的生成器

SEGAN 鉴别器的主要作用是监督生成器进行训练,只工作于模型的训练阶段,并不参与模型测试等阶段. 鉴别器由12 个1 维卷积层与1 个全连接层组成,其结构如图3 所示. 鉴别器对输入信号进行分类,判断其真假,并将判别打分反馈给生成器. 在训练过程中,鉴别器学会将这对信号(x,)分类为真,(x,)分类为假,而生成器试图欺骗鉴别器,使鉴别器将(x,)分类为真.

图3 SEGAN 的鉴别器

受最小二乘法GAN[25]的启发,SEGAN 采用最小二乘法损失来提高鉴别器的稳定性. 鉴别器D和生成器G的最小二乘目标函数被明确写为:

其中,D表示鉴别器,G表示生成器,x表示干净语音,表示带噪语音,z表示随机噪声,≡G(z,)为生成器输出的增强语音.

在式(2)中,干净语音x和增强语音xˆ时域幅值之间的L1 距离被计算在内,以鼓励生成器G生成更精细和真实的结果[16]. L1-norm 项的影响由超参数 λ调节,λ在文献[16]中被设定为100.

3 MS-TFSEGAN

为了提升SEGAN 在低信噪比条件下的增强性能,同时减少增强语音失真对语音识别后端的影响,本文提出了一种多阶段生成器与时频鉴别器的生成对抗网络(MS-TFSEGAN),其结构如图4 所示.

图4 MS-TFSEGAN 模型框架

3.1 多阶段生成器

文献[26]在GAN 的基础上使用了额外的生成器组成串联生成器的结构,取得了更好的图像重构性能.以此为鉴,Phan 等人在文献[20]中探索了SEGAN 多重映射的方法,证实了该方法在语音增强中同样有效.本文采用文献[20]中的DSEGAN 的生成器框架,采用两个生成器进行串联,实现多阶段的增强,取代SEGAN中单生成器单阶段增强的方法,其结构如图5.

图5 MS-TFSEGAN 的生成器

生成器G1与G2与SEGAN 的生成器结构相同,但参数相互独立.G1的输入为带噪语音信号与随机噪声z1,生成增强语音信号. 生成器G2接收到前一级G1的输出以及随机噪声z2,再次进行增强映射,输出一个更好的增强信号,即:

3.2 时频鉴别器

传统SEGAN 的生成器与鉴别器输入均为语音时域特征,完全忽略了语音信号在频域上的特征分布情况. 而低信噪比条件下,语音信号会淹没在噪声中,使带噪语音的时域分布信息难以捕获. 鉴于此,本文采用双路鉴别器结构,使生成器能够同时学习语音的时域与频域中的特征分布,如图6 所示,其中鉴别器D1为时域鉴别器,鉴别器D2为频域鉴别器.

图6 MS-TFSEGAN 的鉴别器框架

鉴别器D1与D2与SEGAN 的鉴别器结构相同,如图3 所示,D1输入为时域波形特征,D2输入为语音信号经过FFT 变换之后的频域特征. 鉴别器D1和D2都是由12 层卷积层和1 层Softmax 全连接层组成,并在LeakyReLU 激活前使用虚拟批归一化(virtual batch-norm)[27],α=0.3. 在训练时,两个鉴别器都将接收到生成器G1与G2输出的增强语音,并对两路增强语音进行鉴别打分,打分结果通过损失函数分别送回生成器G1与G2.

3.3 损失函数

MS-TFSEGAN 在训练时,鉴别器D1与D2将生成器G1、G2输出的数据对都鉴别为假,只有(x,)鉴别为真. MS-TFSEGAN 时域鉴别器D1的损失函数与SEGAN 鉴别器的损失函数相似,但要对生成器G1和G2的输出都进行鉴别打分,其损失函数如式(5)所示:

其中,D1表示时域鉴别器,G表示生成器,x表示干净语音,表示带噪语音,z表示随机噪声,≡Gn(zn,)为第n个生成器输出的增强语音,当n为0 时,

MS-TFSEGAN 频域鉴别器D2的输入为傅里叶频谱特征. L1 损失可以直接最小化估计频谱和干净频谱之间的距离[16],可以带来比L2 损失更好的语音增强性能[28],所以MS-TFSEGAN 的损失函数采用L1 范式计算频域损失,其计算方式如式(6)所示:

其中,D2表示频域鉴别器,FFT[·]指快速傅里叶变换操作.

另外,文献[21]表明,频域鉴别器虽然能监督生成器捕获部分频域特征,但该部分特征较为模糊与粗糙,其细腻程度严重不足并缺乏现实意义. 为了解决该问题,本文采用文献[21]中的时频联合损失函数,向生成器损失函数中引入频域L1 损失项. 故整个生成器的损失函数如式(7)所示:

为了在多个阶段规范损失大小,式(7)中的权值λn和 µn的值大小分别被设置为和[20]. 通过上述设置,一个生成器的增强后输出的L1 损失项是其前一个生成器的两倍.

4 实验

4.1 实验设置

本文的实验环境为64 位操作系统Ubuntu 16.04,主要使用的开源工具为SOX、TensorFlow 和Kaldi. 本文使用的数据集为开源中文语音数据集Aishell-1,噪声数据集则为MUSAN[29].

训练集设置: 增强模块网络的带噪语音训练集由包含340 个说话人、共150 小时的Aishell-1 干净中文语音数据集和噪声数据集MUSAN 仿真而成. 通过SOX工具给Aishell-1 数据集加上了−15 dB、−10 dB、−5 dB、0 dB、5 dB 和10 dB 这6 组不同信噪比的随机种类噪声,可以得到不同信噪比的带噪语音训练数据集.

测试集设置: 本次实验的测试集包括6 个子集,6 个子集中的带噪语音的信噪比分别为−15 dB、−10 dB、−5 dB、0 dB、5 dB 和10 dB. 其中,每个子集包含1 000条带噪语音,子集之间除了信噪比不同,其他设置均相同. 与训练集相同,测试集的语音是使用SOX 工具给Aishell-1 测试集添加MUSAN 噪声集. 实验结果将由PESQ、STOI 和语音识别CER 这3 种参数进行评估.

在本实验中,MS-TFSEGAN 生成器与鉴别器(包括时域鉴别器和频域鉴别器)的网络参数均与SEGAN的网络参数一致. 语音信号采样率为16 kHz,帧长为1 s,帧移为500 ms,FFT 采样点数为16 384. 另外,模型训练的batchsize 设为100,初始化学习率为0.000 1,优化方式采用RMSProp 优化器.

4.2 实验结果与分析

本次实验的基线系统为SEGAN,选取DSEGAN和TFSEGAN 作为额外的基线系统,其性能仅作为参考. 实验的结果将从增强后语音的质量、可懂度以及对后端语音识别系统的影响3 个方面进行分析. 其中,PESQ 作为增强语音质量的评估标准; STOI 作为增强语音可懂度的评估标准; 以Kaldi 的Chain model 作为后端语音识别系统,对增强语音进行识别得到的CER作为对后端语音识别系统的影响的评估标准. 本次实验的结果以及分析如下所示.

(1)语音质量比较

采用PESQ 作为语音作为增强后语音的评估标准,对MS-TFSEGAN 在不同信噪比条件下的增强语音的质量进行评估,评估结果如表1 所示.

表1 4 种模型的PESQ 对比

由表1 所示,在提升语音质量方面,各信噪比下MS-TFSEGAN 增强效果均比DSEGAN 与TFSEGAN优秀. 与SEGAN 相比,MS-TFSEGAN 的增强性能平均提升了约13%,尤其在−15 dB 条件下,其性能提升约15.15%. 这说明MS-TFSEGAN 很大程度上解决了SEGAN 在低信噪比条件下增强语音质量较差的问题.

同时如表1 所示,MS-TFSEGAN 在DSEGAN 的基础上引入了时频鉴别器,取得了约10%的性能提升.与TF-SEGAN 相比,使用了多阶段的生成映射,取得了约9%的性能提升,尤其在高信噪比条件下同样取得了约8.27%的提升,解决了TFSEGAN 在高信噪比下提升效果不明显的问题[21].

(2)语音可懂度结果比较

采用STOI 作为语音可懂度评估标准,对MSTFSEGAN 在不同信噪比条件下的增强语音的可懂度进行评估,评估结果如表2 所示.

表2 4 种模型STOI 的对比

由表2 可知,在提升语音可懂度方面,MS-TFSEGAN的性能明显强于SEGAN、DSEGAN 和TFSEGAN.MS-TFSEGAN 的STOI 相较SEGAN 提升了约8.97%,相较DSEGAN 与TFSEGAN 也获得了约6.67%的提升. 特别是在−10 dB 与−15 dB 时,由于SEGAN 存在语音失真的问题,导致增强后语音的可懂度比原带噪语音更低. 而MS-TFSEGAN 在−15 dB 与−10 dB 条件下STOI 分别取得了15.4%与12.54%的提升,明显优于其他方法,进一步说明MS-TFSEGAN 能够有效缓解语音失真导致的语音可懂度下降.

(3)语音识别结果比较

采用CER 作为标准评估MS-TFSEGAN 对后端语音识别系统准确率的影响. 6 组不同信噪比数据经过各语音增强模型后,得到的增强语音的识别结果CER 的值如表3 所示.

表3 4 种模型的CER 对比

表3 显示,在−15 dB 条件下,SEGAN、DSEGAN对识别准确率并无提升,反而由于增强语音存在失真导致识别错误率上升. 相较之下,由于引入了频域信息,TFSEGAN 与MS-TFSEGAN 在低信噪比条件下对语音识别准确率有所提升,尤其是MS-TFSEGAN 相较SEGAN 在准确率上有约10%的提升. 同时在高信噪比下,相较于原语音也有1%的识别准确率的提升.

在复杂度方面,由于MS-TFSEGAN 需要训练两个生成器与两个鉴别器,导致其训练速度相比于SEGAN较慢. 但在增强阶段,鉴别器组不参与增强过程,MSTFSEGAN 的计算速度与SEGAN 基线模型相当.

综合3 组实验可以得到,MS-TFSEGAN 由于其多阶段映射与时频鉴别器的结构,无论在语音增强性能上还是提升语音识别准确率的性能方面,都要优于SEGAN 等基线模型. 说明MS-TFSEGAN 更适合处理低信噪比语音以及作为语音识别的前端模块.

5 总结

为了解决SEGAN 存在的问题和不足,本文提出了多生成器与时频鉴别器的生成对抗网络语音增强算法(MS-TFSEGAN). 在模型结构方面,MS-TFSEGAN采用了串联的生成器结构,对带噪语音进行多阶段的增强. 同时使用了并联的时频鉴别器结构,时域鉴别器输入语音样本的时域特征,频域鉴别器输入语音样本的频域特征. 在两个鉴别器的作用下,MS-TFSEGAN的生成器能够同时学习语音样本在时域和频域中的分布规律和信息. 在损失函数方面,MS-TFSEGAN 采用了时频域联合损失函数.

实验证明,在负信噪比条件下,MS-TFSEGAN 的语音质量和可懂度与SEGAN 相比分别提升了约14.63%和12.47%. 同时语音识别的实验证明,MS-TFSEGAN 相比于SEGAN 与其他模型能够更好地捕获语音样本中的频域中的分布信息,在语音识别准确率的提升上更为优秀. MS-TFSEGAN 一定程度上解决了SEGAN 在低信噪比条件下增强性能不佳的问题,同时减少了增强语音的失真现象,在作为语音识别前端模块具有明显优势.

猜你喜欢
频域时域信噪比
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
晚霞浅淡少年糖
一种海上浮式风电基础频域动力响应分析新技术
智慧农业物联网节点故障处理分析
计算机网络技术在电子信息工程中的运用
基于MATLAB 的信号时域采样及频率混叠现象分析
小波包去噪在暂态电能质量信号去噪中的应用
两种常用漂浮式风力机平台动态特性分析
基于相似度算法的伪码起始位置变步长估计
不同入射角风波流海上漂浮式风力机频域与时域动态特性