-
摘要: 为提高神经网络对语音信号时域波形的直接处理能力, 提出了一种基于RefineNet的端到端语音增强方法. 本文构建了一个时频分析神经网络, 模拟语音信号处理中的短时傅里叶变换, 利用RefineNet网络学习含噪语音到纯净语音的特征映射. 在模型训练阶段, 用多目标联合优化的训练策略将语音增强的评价指标短时客观可懂度(Short-time objective intelligibility, STOI)与信源失真比(Source to distortion ratio, SDR)融入到训练的损失函数. 在与具有代表性的传统方法和端到端的深度学习方法的对比实验中, 本文提出的算法在客观评价指标上均取得了最好的增强效果, 并且在未知噪声和低信噪比条件下表现出更好的抗噪性.Abstract: In order to improve the direct processing ability of the neural network to the time domain waveform of speech signal, this paper proposes an end-to-end speech enhancement method based on RefineNet. To simulate the short-time Fourier transform, a time-frequency analysis neural network is used in speech signal processing and the RefineNet is used to learn the feature mapping of noisy speech to clean speech. The speech enhancement evaluation metric short-time objective intelligibility (STOI) and source to distortion ratio (SDR) are integrated into the training loss function in the model training phase by using the multi-objective joint optimization training strategy. Experiments show that the proposed method consistently outperforms conventional methods and end-to-end deep learning methods on objective evaluation metric and has better noise immunity under unseen noise and low SNR conditions than other methods.
-
Key words:
- Speech enhancement /
- end-to-end /
- RefineNet /
- multi-objective joint optimization /
- deep neural network
-
语音增强的主要目标是从含噪语音中提取原始纯净语音信号, 通过抑制或分离噪声来提升语音感知质量与可懂度, 在语音信号通信、助听器和自动语音识别等领域有着广泛的应用. 经过几十年的发展, 众多语音增强算法相继被提出, 经典的语音增强技术主要包括谱减法、维纳滤波法、基于统计模型的方法以及基于子空间的方法等, 这些方法往往基于噪声平稳或缓变的假设, 在高度非平稳的噪声情况下增强效果会急剧恶化[1-2]. 深度学习[3]的兴起以及在声学建模领域的成功应用, 为解决复杂环境下的语音增强提供了思路. 根据网络学习的目标不同, 基于神经网络的语音增强主要分为基于时频掩蔽的方法与基于特征映射的方法. 基于时频掩蔽的方法将纯净语音与噪声之间的相互关系作为学习目标, 将得到的时频掩蔽估计作用于含噪语音上, 并经由逆变换技术合成增强语音的时域波形. Wang等[4]将深度神经网络(Deep neural networks, DNN)引入语音分离与降噪领域, 通过前馈DNN估计理想二值掩蔽(Ideal binary mask, IBM); 随后, Narayanan等[5]提出在梅尔谱域估计理想浮值掩蔽(Ideal ratio mask, IRM), 在一定程度上提高了语音识别的鲁棒性; Williamson等[6]也提出复数理想浮值掩蔽(Complex ideal ratio mask, cIRM), 并使用DNN同时估计cIRM的实部和虚部, 显著提高了语音的可懂度. 基于特征映射的方法利用神经网络学习含噪语音和纯净语音之间的复杂映射关系. Xu等[7]把深层神经网络视为一个回归模型, 使用带受限玻尔兹曼机(Restricted Boltzmann machine, RBM)预训练的DNN将含噪语音的对数功率谱映射到纯净语音的对数功率谱上; Park等[8]提出冗余卷积编解码网络, 通过删去池化层、加入跳跃连接的方式优化训练过程, 将卷积神经网络(Convolutional neural network, CNN)应用于频谱映射. 这两类方法通常需要将时域波形变换到时频域处理信号的幅度谱或功率谱, 往往会忽略掉语音信号中的相位信息.
基于端到端的语音增强方法不依赖于频域表示, 可以有效地利用时域信号的相位信息, 避免了信号在时域和时频域之间来回切换, 简化处理流程. Qian等[9]考虑到WaveNet[10]对语音波形的强大建模能力, 提出将语音先验分布引入到WaveNet框架进行语音增强; Rethage等[11]也在WaveNet的基础上开展语音增强研究, 通过非因果的(Non-causal)扩张卷积来预测目标, 在主观评价指标上取得了比维纳滤波更好的效果. Pascual等[12]将生成对抗网络[13-14] (Generative adversarial nets, GAN)引入语音增强领域并提出SEGAN (Speech enhancement generative adversarial network), 并用其对时域波形信号直接处理, 取得了一定的增强效果, 但是在客观评价指标语音质量感知评价(Perceptual evaluation of speech quality, PESQ)上略低于维纳滤波. Fu等[15-16]提出全卷积神经网络并将其作用于整句语音波形信号, 提升了语音增强的性能. 这些基于端到端的方法都是直接将一维时域波形映射到目标语音, 然而时域波形信号本身并不能表现出明显的特征结构信息, 直接对时域信号建模比较困难, 而且低信噪比环境下信号更复杂, 建模难度会进一步提高. 有学者考虑将神经网络作为前端短时傅立叶变换(Short-time Fourier transform, STFT)替代方案[17-19], 我们在其基础上修改扩展, 提出了一个时频分析网络来模拟STFT变换过程的基函数, 将一维时域信息映射到一个类似于时频表示的高维空间中以获取更多的信息; 相比于常见的神经网络方法中使用时频域幅度谱或功率谱值的方式, 时频分析网络能更充分地利用输入信号中的相位信息.
语音和噪声信号在时域相邻帧以及频域相邻频带间具有很强的相关性, 这种时频域的局部相关性与图像中的相邻像素间的相关性非常相似. 由于在语音增强领域使用卷积神经网络可以获得与深度神经网络和循环神经网络(Recurrent neural network, RNN)相当或更好的增强效果[8, 20-22], 为进一步提高语音增强的性能, 本文考虑使用卷积神经网络中的一种重要网络 — RefineNet[23]来进行端到端的语音增强. 它是一个通用的多路径优化网络, 通过显式利用下采样过程中的所有可用信息, 并使用较长范围的残差连接来实现高分辨率预测. 通过这种方式, 可以利用前期卷积的细粒度特性捕获更深层的高级特征; RefineNet的各个组件使用了带有Identity mappings[24]的残差连接, 这样梯度就可以通过不同跨度的残差连接直接传播, 从而实现高效的端到端训练.
在语音增强领域的神经网络训练过程中, 通常将均方误差(Mean square error, MSE)作为损失函数, 而在客观评价中往往使用PESQ或STOI等评价指标, 这种损失函数与评价指标之间的差异性并不能保证训练后的模型在应用中能够提供最优的性能; Fu等[16]和Zhao等[25]将STOI评价指标融入到了损失函数中, 一定程度上提高了语音增强性能. 受此启发, 我们提出将STOI和SDR同时融入到损失函数中, 并且采用多目标联合优化策略, 利用神经网络根据不同目标之间的共性和差异性建模.
本文提出了基于RefineNet的端到端语音增强模型(RefineNet-based speech enhancement, RNSE), 首先利用时频分析网络模仿STFT, 学习时域波形在模拟的二维时频空间表示; 然后利用RefineNet整合不同大小特征图的能力, 对不同粒度的模拟时频空间特征进行综合分析; 最后通过时频分析网络逆处理得到增强语音的估计. 在训练阶段, 我们将STOI与SDR评价指标融入到损失函数中进行联合优化, 从而得到更好的增强效果.
1. 基于RefineNet的端到端语音增强模型
RNSE模型的网络结构由时频分析网络TFANet (Time-frequence analysis network)和RefineNet两部分构成, 其结构如图1所示. TFANet是一个用于模拟短时傅里叶变换及其逆变换过程的时频分析神经网络, 在RNSE前端, TFANet将一维时域语音信号映射为二维特征表示; 在RNSE后端, TFANet将神经网络输出的增强后特征图重构成一维时域语音信号. RefineNet是RNSE的主体部分, 用于对特征图进行精炼分析, 并与TFANet结合, 实现从时域的含噪语音信号到时域的纯净语音信号的直接映射.
1.1 时频分析神经网络
Venkataramani等在语音分离任务中提出了实值转换方法[19], 通过卷积和平滑操作对原始时域波形进行预处理, 然后输入到后续神经网络中进行增强. 为了充分保留卷积结果中的原始信息, 我们去除了平滑操作, 提出了时频分析网络TFANet. 该网络包含编码分析阶段和解码生成阶段, 在编码分析阶段将时域信号处理为二维特征图表示并输入到RefineNet中, 在解码生成阶段将RefineNet输出的增强语音的特征图重构成一维语音信号. 假设含噪语音信号为s[n], 那么STFT计算可表示为:
$$ {{\boldsymbol{x}}_t}[f] = \sum\limits_{i = 0}^{N - 1} {\boldsymbol{s}} [tH + i] \cdot {\boldsymbol{w}}[i] \cdot {{\boldsymbol{b}}_f}[i] $$ (1) 式(1)中, xt[f]是语音在第t帧第f频点的STFT结果, 最终组成一个T帧F个频点的矩阵, N是每帧的采样点个数, H是相邻帧间的位移, w是窗函数系数, bf[i]是对应的STFT变换系数. 令
${\boldsymbol{k}} = $ $ {\boldsymbol{w}} \cdot {\boldsymbol{b}}$ , 可以将式(1)变换成卷积形式:$$ {{\boldsymbol{x}}_t}[f] = \sum\limits_{i = 0}^{N - 1} {\boldsymbol{s}} [tH + i] \cdot {{\boldsymbol{k}}_f}[i] $$ (2) TFANet通过一个卷积层来模拟实现上式的计算过程, 其中包含F个大小为N且系数为kf的卷积核, 我们将卷积步长设为H, 输出设为x. 通过试验参数, 本文将H设置为64, T、F、N均为512, 这层卷积的输出为512×512的2维矩阵. 在非端到端的方法中, 通常将时域语音信号通过STFT处理为幅度谱表示, 经由模型增强后, 再结合原始含噪语音的相位谱合成增强后的时域语音波形. 如图1所示, 类比这种语音增强过程, 我们通过对x取绝对值|x|来模拟STFT的幅度谱, 然后将|x|作为特征图输入到RefineNet中学习含噪语音到纯净语音的复杂映射关系. 这里RNSE模型保留了x的正负号表示p是对原始信号相位的模拟, 用于增强语音的重构.
由于RefineNet的输出特征图的长和宽是其输入的1/4, 在解码生成阶段, 我们使用步长为4的解卷积层将特征图恢复为原大小, 同时微调特征图. 接着将特征图与编码分析阶段保留的p相乘, 输入到解卷积层, 模拟语音重构过程的短时傅里叶逆变换, 最终得到对时域纯净语音
${{\boldsymbol{\hat s}}_t}$ 的估计.1.2 RefineNet神经网络
RefineNet是在ResNet[26]框架上的改进, 为了在增加神经网络深度的同时不影响模型训练, ResNet采用了残差连接, 将一层或多层叠加的隐含层输出F(x)与输入x相加, 作为最终输出:
$$ {\boldsymbol{o}} = F\left( {\boldsymbol{x}} \right) + {\boldsymbol{x}} $$ (3) 本文通过实验最终确定的ResNet结构如图2所示. ResNet的输入依次经过卷积核大小为7×7步长为2的卷积层, 步长为2的池化层, 进入4个叠加的网络块(ResBlock). 每个ResBlock包含7个结构相似的卷积层, 以ResBlock 1为例, 它是一个输出通道为256的堆叠卷积层, 每个卷积层步长均为1; 在ResBlock 1中包含2个三层堆叠卷积层, 每个三层堆叠的卷积层与ResBlock的输出通道相同, 且除了第二层卷积核大小为3×3且步长与ResBlock相同外, 其他层卷积核大小均为1×1且步长为1; 在ResBlock中通过残差连接的方式将输入输出连接起来, 提升网络的表征能力. 其余3个ResBlock的结构与ResBlock 1的结构相似, 不再赘述.
4个ResBlock输出的特征图逐块缩小, 感受野变大, 特征更加抽象, 从而能捕获更高层次的全局和上下文信息, 并且计算量随之减少, 但是精细特征也会逐渐丢失. RefineBlock是一种神经网络块, 可以把不同大小的特征图融合, 从而利用高层的抽象特征和底层的精细特征, 其结构如图3所示, 包含残差卷积单元RCU (Residual convolution unit)、自适应卷积(Adaptive convolution)模块、多分辨率融合(Multi-resolution fusion)模块、链式残差池化(Chained residual pooling)模块、RefineBlock输出卷积(RefineBlock output convolution)模块等. 自适应卷积模块用于在融合前微调特征图, 由2个RCU构成, 每个RCU包含2层带ReLU激活的卷积, 每个特征图输入与第2层卷积输出相加构成残差连接. RefineBlock 4只有1个特征图输入, 而其他RefineBlock有2个输入.
多分辨率融合模块用于将不同分辨率的特征图合成一张图. 首先, 特征图通过一层卷积做融合前的微调, 然后以分辨率最高的特征图为基准, 对所有分辨率较低的新特征图通过双线性插值上采样, 最后直接相加, 得到一张高分辨率的特征图. 链式残差池化模块使用更大的感受野从输入特征图中提取抽象特征. 特征图首先经过ReLU激活函数, 池化压缩图大小, 提取主要特征, 再通过卷积层微调, 得到的新特征图在进行下一次的池化和卷积的同时, 通过残差连接与原特征图融合, 形成链式的残差池化结构. RefineBlock输出卷积模块由1个RCU组成.
RefineNet的总体结构如图1所示, ResBlock 4的特征图输入到RefineBlock 4中, 经过微调输入RefineBlock 3, 与ResBlock 3的特征图融合, 再依次通过RefineBlock 2、1与ResBlock 2、1的特征图融合, 最后经过输出卷积模块做最后的微调. 输出卷积模块包含2个RCU, 以及1个卷积核大小为1×1的卷积层.
2. 评价指标与损失函数融合
基于深度学习的语音增强模型常用均方误差MSE作为优化目标, 在时域可表示为:
$$ {\cal{L}}_{\rm{MSE}}=\min \frac{1}{NP} \sum\|\boldsymbol{\hat{y}}-{\boldsymbol{y}}\|^{2}_2 $$ (4) 式中
${\boldsymbol{\hat y}} \in {\bf{R}}^{1\times P}$ 是时域的增强语音,${\boldsymbol{y}}\in {\bf{R}}^{1\times P}$ 是纯净语音,$\|\cdot\|_2 $ 为L2范数, P与N是每条语音的采样点数与语音总数. 虽然MSE在大量模型里得到应用, 但不能保证得到最优的模型训练结果[16], 其值越小不等同于语音可懂度和语音质量越高, 而提升可懂度和质量是语音增强算法的目标. STOI是语音客观可懂度评估指标, SDR则计算了语音信号与失真信号的比率, 与语音质量高度相关. 本文提出将STOI与SDR两个评估指标共同融合到均方根误差(Root mean square error, RMSE)中进行联合优化的策略, 通过直接优化评价指标来提升语音增强模型的性能, 缓解损失函数与评价指标之间的不匹配问题. PESQ也是常用的语音增强评估指标, 但是其计算方式比STOI要复杂得多, 模型训练效率会降低; 而且PESQ计算中的一些函数(比如非对称扰动因子)是不连续的, 不满足梯度下降优化的可微条件[27], 所以本文没有将PESQ融合到损失函数中联合优化. 本文提出模型RNSE的优化目标为:$$\begin{aligned} {\cal{L}}= & \min \bigg[\alpha \frac{1}{ N P} \sqrt{\sum\|{\boldsymbol{\hat{y}}-{\boldsymbol{y}}\|^{2}_2}}+\\ & \frac{1}{N} \sum\left(-\beta C_{\rm{stoi}}(\boldsymbol{\hat{y}}, {\boldsymbol{y}})-\lambda C_{\rm{sdr}}(\boldsymbol{\hat{y}}, {\boldsymbol{y}})\right)\bigg] \end{aligned}$$ (5) 其中
$\alpha $ 、$\beta $ 、$\lambda $ 是各优化目标的权重系数, Cstoi、Csdr表示计算STOI、SDR的函数, 下面是对两优化目标的详细介绍.1) SDR优化目标
SDR是增强语音信号中纯净语音分量
${{\boldsymbol{\hat y}}_c}$ 与其他分量的能量比值.${{\boldsymbol{\hat y}}_c}$ 计算公式如下:$$\boldsymbol{\hat{y}}_{c}=\frac{\boldsymbol{\hat{y}} {\boldsymbol{y}}^{\rm{T}}}{{\boldsymbol{y}}{\boldsymbol{y}}^{\rm{T}}} \cdot {\boldsymbol{y}}$$ (6) SDR的计算公式为:
$${\rm{SDR}}=10 \lg \frac{\boldsymbol{\hat{y}}_{c}\boldsymbol{\hat{y}}_{c}^{\rm{T}}}{\left\|\boldsymbol{\hat{y}}-\boldsymbol{\hat{y}}_{c}\right\|^{2}_2}$$ (7) 将式(6)代入式(7)可得到:
$${\rm{SDR}}=10 \lg \frac{(\boldsymbol{\hat{y}} {\boldsymbol{y}^{\rm{T}}})^{2}}{\|{\boldsymbol{y}}\|^{2}_2 \|\boldsymbol{\hat{y}}\|^{2}_2-(\boldsymbol{\hat{y}} {\boldsymbol{y}^{\rm{T}}})^{2}}$$ (8) 对式(5)中SDR优化目标做等价替换以简化计算:
$$\begin{split} {\cal{L}} &=\min -C_{s t o i}(\boldsymbol{\hat{y}}, {\boldsymbol{y}})=\min -10 \lg \frac{(\boldsymbol{\hat{y}} {\boldsymbol{y}}^{\rm{T}})^{2}}{\|{\boldsymbol{y}}\|^{2}_2 \|\boldsymbol{\hat{y}}\|^{2}_2-(\boldsymbol{\hat{y}} {\boldsymbol{y}^{\rm{T}}})^{2}} \\ & \Leftrightarrow \min \frac{{\|{\boldsymbol{y}}\|^{2}_2 \|\boldsymbol{\hat{y}}\|^{2}_2-(\boldsymbol{\hat{y}} {\boldsymbol{y}^{\rm{T}}})^{2}} }{(\boldsymbol{\hat{y}} {\boldsymbol{y}^{\rm{T}}})^{2}} \\ & \Leftrightarrow \min \frac{{\|{\boldsymbol{y}}\|^{2}_2 \|\boldsymbol{\hat{y}}\|^{2}_2}}{(\boldsymbol{\hat{y}} {\boldsymbol{y}}^{\rm{T}})^{2}} \Leftrightarrow \min \frac{\|\boldsymbol{\hat{y}}\|^{2}_2}{(\boldsymbol{\hat{y}} {\boldsymbol{y}^{\rm{T}}})^{2}}\\[-15pt] \end{split}$$ (9) 在上式的最后一步推导中, 我们丢弃了
$\|{\boldsymbol{y}}\|^2_2 $ , 因为它对于网络的输出来说是一个正常数, 不影响模型训练.2) STOI优化目标
STOI用于评估语音的可理解性, 输入是纯净语音y和增强语音
${\boldsymbol{\hat y}}.$ 首先去除对语音可懂度无贡献的无声区域, 然后对信号做STFT, 对两个信号进行时频分解, 通过将两个信号分割为50 %重叠的带汉宁窗的帧, 得到与听觉系统中语音表征性质相似的特征. 接着进行1/3倍频带分析, 划分共15个1/3倍频带, 其中频带中心频率范围为150 Hz至4.3 kHz. 纯净语音的短时时间包络${{\boldsymbol{z}}_{j,m}}$ 可表示如下:$$ {{\boldsymbol{z}}_{j,m}} = {\left[ {{{\boldsymbol{Y}}_j}(m - L + 1)\;{{\boldsymbol{Y}}_j}(m - L + 2)\; \cdots {{\boldsymbol{Y}}_j}(m)} \right]^{\rm{T}}} $$ (10) 其中
${\boldsymbol{Y}} \in {{{\bf{R}}}^{15\times M}}$ 是由划分得到的15个1/3倍频带, M代表该段语音的总帧数,$j \in \left\{ {1,2, \cdots, 15} \right\}$ 是15个1/3倍频带的索引, m为帧的索引, L = 30, 其代表分析语音段长度为384 ms.类似地,
${{\boldsymbol{\hat z}}_{j,m}}$ 表示增强语音${\boldsymbol{\hat y}}$ 的短时时间包络. 之后对语音进行归一化与裁剪, 归一化用来补偿全局差异, 这种差异不应该对语音的可懂度产生影响, 裁剪限定了严重恶化语音的STOI 取值边界. 增强语音的归一化和裁剪时间包络表示为${{\boldsymbol{\tilde z}}_{j,m}}$ . 可懂度的测量被定义为两个时间包络之间的相关系数:$${\boldsymbol{d}}_{j, m}=\frac{\left({\boldsymbol{z}}_{j, m}-{\boldsymbol{\mu}}_{{\boldsymbol{z}}_{j, m}}\right)^{{\rm{T}}}\left(\tilde{\boldsymbol{z}}_{j, m}-{\boldsymbol{\mu}}_{\tilde{{\boldsymbol{z}}}_{j, m}}\right)}{\left\|{\boldsymbol{z}}_{j, m}-{\boldsymbol{\mu}}_{{\boldsymbol{z}}_{j, m}}\right\|_{2}\left\|\tilde{{\boldsymbol{z}}}_{j, m}-{\boldsymbol{\mu}}_{\tilde{{\boldsymbol{z}}}_{j, m}}\right\|_{2}}$$ (11) ${\boldsymbol{\mu}} _{{\boldsymbol{z}}_{j,m}}$ 、${\boldsymbol{\mu}} _{\tilde{{\boldsymbol{z}}}_{j,m}}$ 分别表示${{\boldsymbol{z}}_{j,m}}$ 、${\tilde{{\boldsymbol{z}}}_{j,m}}$ 中元素的均值. 最后, STOI通过计算所有波段和帧的可懂度均值得到:$$C_{\rm{stoi}}(\boldsymbol{\hat{y}}, {\boldsymbol{y}})=\frac{1}{15 M} \sum_{j, m} {\boldsymbol{d}}_{j, m}$$ (12) ${C_{{\rm{soti}}}}\left( {{\boldsymbol{\hat y}}{\rm{,}}{\boldsymbol{y}}} \right)$ 为用于训练神经网络的STOI优化目标.3. 实验和结果分析
3.1 实验数据及设置
实验中使用的语音数据来自于TIMIT数据集, 噪声数据集采用ESC-50作为训练集, 为了验证本文提出模型的泛化性能, 我们也将Noisex92噪声数据集用于测试. TIMIT数据集总共包含6300条语音, 由630人每人录制10个句子得到, 男女比率为7:3. 其中, 每人录制的句子中有7个是重复的, 为了去除重复句子对模型训练与测试的影响, 本实验只取句子均不相同的1890条语音. 将其中约80 %的语音作为训练集, 另外20 %作为测试语音, 且男女比例与TIMIT总体分布相同. ESC-50数据集包含2000条带标签的环境录音集合, 共分为5个主要类别: 动物、自然音景与水声、非语音人声、室内声音、城区声音. Noisex92是常用于语音增强测试的数据集, 本文使用Babble、Factory1、White、HFChannel四种常见噪声进行不同噪声环境的测试, 用所有15种Noisex92噪声做不可见噪声测试, 用所有ESC-50噪声做可见噪声测试.
3.2 对比方法及评价指标
本文选择4个经典算法对比: a) Log-MMSE, 是一种常用的基于统计模型的语音增强方法[28]; b) CNN-SE[29], 采用CNN对语音进行增强, 并且通过添加跳连接的方式融合神经网络低层和高层的信息; c) WaveUnet[30], 基于Unet模型结构所提出的一种应用于时域语音波形信号的神经网络模型[31]; d) AET[19], 通过神经网络模仿STFT前端变换过程, 直接在时域语音波形上建模, 其中b)、c)、d)均为基于端到端的语音增强方法.
本文采用的评估指标为STOI、PESQ及SDR, 其中STOI是短时客观可懂度, 用于衡量语音可懂度, 得分范围为0 ~ 1, 分值越高表明可懂度越高; PESQ用于语音质量感知评估, 它是ITU-T (国际电信联盟电信标准化部)推荐的语音质量评估指标, 其得分范围为−0.5 ~ 4.5, 值越大表明质量越好. SDR测试增强语音中纯净语音的分量与其他分量的参量比值, 范围理论上为整个实数域, 值越大表明增强效果越好.
3.3 实验结果与分析
本文评估了RNSE与其他非端到端方法的性能差异. 图4展示了在几种常见噪声条件下各模型的指标对比, 我们可以看出在不同噪声环境和不同信噪比条件下, RNSE方法相比于时频域方法有显著的性能提升, 在每种评估指标下几乎均取得了最佳结果. 我们还注意到, 即使在 −10 dB的极限信噪比下, RNSE方法仍然可以取得比部分基线方法在−5 dB下相当或更好的性能, 这意味着RNSE更适合于在低信噪条件下的复杂环境中挖掘语音信号的信息. 我们通过在可见和不可见噪声下做测试, 进一步验证RNSE模型的泛化性, 表1和表2分别给出了已知噪声和未知噪声下的客观评价指标; 由表1和表2可以看出, RNSE在已知噪声环境和未知噪声环境下均取得了最佳的结果, 而且远优于其他端到端对比方法; 同时, 我们注意到相比于其他基线方法, WaveUnet方法在STOI上, 取得了相对更高的客观评估指标. 为了更加直观的比较各种算法的增强效果, 我们对各个网络增强后的语音的语谱图进行了比较分析, 图5为在0 dB的Babble噪声下使用不同算法得到的增强语音的语谱图, 横轴表示时间T, 纵轴表示语音信号频率F. 从语谱图中可以看出, 各种算法都在一定程度上对含噪语音进行了有效的处理, CNN-SE与WaveUnet方法在增强含噪语音的过程中, 存在相对较多的噪声残留; AET方法在增强过程中, 对噪声的抑制能力更强, 但在去除大量噪声的过程中也去除了一些语音成分信息. 由于时域波形信号的复杂性, 通过神经网络直接挖掘时域特征时, 无法较为准确地辨识语音和噪声, 导致在增强过程中, 会引入一些噪声或增强过度. RNSE方法利用TFANet将时域信号映射到二维表达空间, 保留其正负号特征并用于后期波形重构. 通过这种方式引导神经网络在训练过程中对原始信息的利用, 可以缓解模型在增强过程中的增强不足或增强过度的问题.
表 1 可见噪声的测试结果Table 1 The performance of baseline systems compared to the proposed RNSE approach in seen noise condition指标 模型 可见噪声 −10 −5 0 5 PESQ (a) 1.11 1.46 1.79 2.10 (b) 1.65 1.92 2.24 2.51 (c) 1.66 1.92 2.23 2.50 (d) 1.70 2.00 2.25 2.48 (e) 2.11 2.46 2.73 2.93 STOI (a) 0.58 0.68 0.77 0.85 (b) 0.64 0.72 0.80 0.86 (c) 0.66 0.74 0.81 0.86 (d) 0.63 0.72 0.79 0.84 (e) 0.77 0.85 0.90 0.93 SDR (a) −6.67 −1.72 3.07 7.58 (b) −2.24 2.02 6.35 9.76 (c) −0.61 3.30 7.25 10.38 (d) 1.43 5.76 8.67 10.87 (e) 7.01 9.96 12.16 13.98 注: (a) Log-MMSE, (b) CNN-SE, (c) WaveUnet, (d) AET, (e) RNSE 表 2 不可见噪声的测试结果Table 2 The performance of baseline systems compared to the proposed RNSE approach in unseen noise condition指标 模型 不可见噪声 −10 −5 0 5 PESQ (a) 1.33 1.70 2.04 2.35 (b) 1.48 1.77 2.09 2.39 (c) 1.49 1.76 2.08 2.36 (d) 1.58 1.87 2.15 2.39 (e) 1.80 2.24 2.61 2.88 STOI (a) 0.52 0.63 0.74 0.83 (b) 0.56 0.66 0.76 0.83 (c) 0.59 0.69 0.78 0.85 (d) 0.57 0.69 0.77 0.83 (e) 0.67 0.79 0.87 0.92 SDR (a) −0.17 4.77 8.69 12.03 (b) −2.97 1.96 6.34 9.81 (c) −1.28 3.25 7.05 10.22 (d) 1.50 5.65 8.66 10.99 (e) 4.86 8.45 11.39 13.78 注: (a) Log-MMSE, (b) CNN-SE, (c) WaveUnet, (d) AET, (e) RNSE 通过在各种噪声和信噪比环境下的测试表明RNSE模型在复杂环境下具有较强的鲁棒性. 在RNSE模型训练阶段, 我们把评估指标融入到损失函数中, 为了比较融入的评价指标对语音增强性能的影响, 我们比较了在不同组合的损失函数下RNSE模型的增强性能, 图6展示了不同信噪比下的增强效果对比. 从图中可以看出, 在使用单一目标作为损失函数时, 基于SDR的损失函数在PESQ和SDR评价指标上均取得了相对更好的性能, 基于STOI的损失函数在STOI指标上也取得了更好的性能; 但是不同的损失函数存在与其他评估指标不兼容的情况, 比如基于STOI的损失函数在PESQ与SDR指标上的性能较低, 这是由于STOI的计算是基于增强语音的时间包络, 其作为训练的损失函数时会引导神经网络模型过多关注增强语音与纯净语音之间的时间包络关系, 导致在PESQ和SDR方面的性能不佳. 同时我们注意到两两组合的损失函数相比于单一目标损失函数可以取得相对更好的性能, 基于STOI与SDR融合的损失函数取得了比其他组合或单一目标损失函数更好的评估结果. 进一步地, 沿着这个思路, 我们将STOI和SDR与RMSE按照一定的权重组合起来联合训练优化调参.
在调参的过程中, 先单独使用STOI、SDR以及RMSE作为损失函数进行训练, 观察他们分别训练的损失函数值, 当其收敛到某一个数量级时, 再通过调节超参数
$\alpha $ 、$\beta $ 以及$\lambda $ 对相应的损失函数值进行收缩, 将他们的范围都限制到 −1 ~ +1的范围内, 然后在此基础上微调, 从而得到模型各超参数的最佳匹配. 图中STOI+SDR+MSE组合对应于式(5)中的超参数$\alpha = 10$ 、$\beta = 1$ 、$\lambda = 5 \times {10^3}$ . 由此, 我们从实验直观地证明了损失函数与评价指标的不匹配会导致语音增强性能无法达到最佳, 我们通过将评估指标与损失函数按照一定的权重比例组合并输入到神经网络中联合训练, 显著提高了语音增强的性能, 表明损失函数与评估指标的结合可以有效地提高语音增强的性能, 而且本文提出的将评估指标融合到损失函数中联合训练的思想并不是只适用于语音增强领域, 还可以普适性地应用到其他各领域.4. 结论
本文提出了一个端到端的语音增强算法. 首先构建一个时频分析网络对语音信号编码分析, 然后利用RefineNet网络学习含噪语音到纯净语音的特征映射, 最后解码生成增强的语音信号. 在此基础上, 我们提出将评价指标与训练损失函数相融合的改进方法以及将STOI与SDR同时作为优化目标的多目标学习策略. 在不同噪声环境和不同信噪比下的测试中, 本文提出的方法在STOI、PESQ以及SDR方面的指标显著优于具有代表性的传统方法和端到端的深度学习方法, 证明它能更好地提高语音的清晰度和可懂度; 通过对不同损失函数的对比实验, 本文验证了将评价指标与损失函数融合的策略在深度学习模型上的有效性.
-
表 1 可见噪声的测试结果
Table 1 The performance of baseline systems compared to the proposed RNSE approach in seen noise condition
指标 模型 可见噪声 −10 −5 0 5 PESQ (a) 1.11 1.46 1.79 2.10 (b) 1.65 1.92 2.24 2.51 (c) 1.66 1.92 2.23 2.50 (d) 1.70 2.00 2.25 2.48 (e) 2.11 2.46 2.73 2.93 STOI (a) 0.58 0.68 0.77 0.85 (b) 0.64 0.72 0.80 0.86 (c) 0.66 0.74 0.81 0.86 (d) 0.63 0.72 0.79 0.84 (e) 0.77 0.85 0.90 0.93 SDR (a) −6.67 −1.72 3.07 7.58 (b) −2.24 2.02 6.35 9.76 (c) −0.61 3.30 7.25 10.38 (d) 1.43 5.76 8.67 10.87 (e) 7.01 9.96 12.16 13.98 注: (a) Log-MMSE, (b) CNN-SE, (c) WaveUnet, (d) AET, (e) RNSE 表 2 不可见噪声的测试结果
Table 2 The performance of baseline systems compared to the proposed RNSE approach in unseen noise condition
指标 模型 不可见噪声 −10 −5 0 5 PESQ (a) 1.33 1.70 2.04 2.35 (b) 1.48 1.77 2.09 2.39 (c) 1.49 1.76 2.08 2.36 (d) 1.58 1.87 2.15 2.39 (e) 1.80 2.24 2.61 2.88 STOI (a) 0.52 0.63 0.74 0.83 (b) 0.56 0.66 0.76 0.83 (c) 0.59 0.69 0.78 0.85 (d) 0.57 0.69 0.77 0.83 (e) 0.67 0.79 0.87 0.92 SDR (a) −0.17 4.77 8.69 12.03 (b) −2.97 1.96 6.34 9.81 (c) −1.28 3.25 7.05 10.22 (d) 1.50 5.65 8.66 10.99 (e) 4.86 8.45 11.39 13.78 注: (a) Log-MMSE, (b) CNN-SE, (c) WaveUnet, (d) AET, (e) RNSE -
[1] 刘文举, 聂帅, 梁山, 张学良. 基于深度学习语音分离技术的研究现状与进展. 自动化学报, 2016, 42(6): 819-833Liu Wen-Ju, Nie Shuai, Liang Shan, Zhang Xue-Liang. Deep learning based speech separation technology and its developments. Acta Automatica Sinica, 2016, 42(6): 819-833 (in Chinese) [2] Wang D, Chen J. Supervised speech separation based on deep learning: An overview. IEEE/ACM Transactions on Audio, Speech and Language Processing, 2018, 26(10): 1702-1726 doi: 10.1109/TASLP.2018.2842159 [3] Lecun Y, Bengio Y, Hinton G. Deep learning. Nature, 2015, 521(7553): 436-444 doi: 10.1038/nature14539 [4] Wang Y, Wang D. Towards scaling up classification-based speech separation. IEEE Trans Audio Speech Lang Process, 2013, 21(7): 10 [5] Narayanan A, Wang D. Ideal ratio mask estimation using deep neural networks for robust speech recognition. In: Proceedings of the 38th IEEE International Conference on Acoustics, Speech and Signal Processing. Vancouver, Canada: IEEE, 2013. 7092−7096 [6] Williamson D S, Wang Y, Wang D. Complex ratio masking for monaural speech separation. IEEE/ACM Transactions on Audio, Speech and Language Processing, 2016, 24(3): 483-492 doi: 10.1109/TASLP.2015.2512042 [7] Xu Y, Du J, Dai L-R, Lee C-H. A regression approach to speech enhancement based on deep neural networks. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2015, 23(1): 7-19 doi: 10.1109/TASLP.2014.2364452 [8] Park S R, Lee J W. A fully convolutional neural network for speech enhancement. In: Proceedings of the 18th Annual Conference of the International Speech Communication Association. Stockholm, Sweden: ISCA, 2017. 1993−1997 [9] Qian K, Zhang Y, Chang S, Yang X. Speech enhancement using bayesian Wavenet. In: Proceedings of the 18th Annual Conference of the International Speech Communication Association. Stockholm, Sweden: ISCA, 2017. 2013−2017 [10] Oord A v d, Dieleman S, Zen H, Simonyan K. WaveNet: A generative model for raw audio. In: Proceedings of the 9th ISCA Speech Synthesis Workshop. Sunnyvale, USA: ISCA, 2016. 125−125 [11] Rethage D, Pons J, Serra X. A wavenet for speech denoising. In: Proceedings of the 43rd IEEE International Conference on Acoustics, Speech and Signal Processing. Calgary, Canada: IEEE, 2018. 5069−5073 [12] Pascual S, Bonafonte A, Serrà J. SEGAN: Speech enhancement generative adversarial network. In: Proceedings of the 18th Annual Conference of the International Speech Communication Association. Stockholm, Sweden: ISCA, 2017. 3642−3646 [13] Goodfellow I J, Pouget-Abadie J, Mirza M, Xu B. Generative adversarial nets. In: Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, Canada: Curran Associates, 2014. 2672−2680 [14] Wang K, Gou C, Duan Y, Lin Y. Generative adversarial networks: introduction and outlook. IEEE/CAA Journal of Automatica Sinica, 2017, 4(4): 588-598 doi: 10.1109/JAS.2017.7510583 [15] Fu S W, Tsao Y, Lu X, Kawai H. Raw waveform-based speech enhancement by fully convolutional networks. In: Proceedings of the 9th Asia-Pacific Signal and Information Processing Association Annual Summit and Conference. Kuala Lumpur, Malaysia: IEEE, 2017. 006−012 [16] Fu S-W, Wang T W, Tsao Y, Lu X G. End-to-End waveform utterance enhancement for direct evaluation metrics optimization by fully convolutional neural networks. IEEE/ACM Transactions on Audio, Speech and Language Processing, 2018, 26(9): 1570-1584 doi: 10.1109/TASLP.2018.2821903 [17] Dieleman S, Schrauwen B. End-to-end learning for music audio. In: Proceedings of the 39th IEEE International Conference on Acoustics, Speech and Signal Processing. Florence, Italy: IEEE, 2014. 6964−6968 [18] Sainath T N, Weiss R J, Senior A, Wilson K W. Learning the speech front-end with raw waveform CLDNNs. In: Proceedings of the 16th Annual Conference of the International Speech Communication Association. Dresden, Germany: ISCA, 2015. 1−5 [19] Venkataramani S, Casebeer J, Smaragdis P. End-to-end source separation with adaptive front-ends. In: Proceedings of the 52nd Asilomar Conference on Signals, Systems, and Computers. Pacific Grove, USA: IEEE, 2018. 684−688 [20] Hui L, Cai M, Guo C, He L. Convolutional maxout neural networks for speech separation. In: Proceedings of the 15th IEEE International Symposium on Signal Processing and Information Technology. Abu Dhabi, United Arab Emirates: IEEE, 2015. 24−27 [21] Grais E M, Plumbley M D. Single channel audio source separation using convolutional denoising autoencoders. In: Proceedings of the 5th IEEE Global Conference on Signal and Information Processing. Montreal, Canada: IEEE, 2017. 1265−1269 [22] Kounovsky T, Malek J. Single channel speech enhancement using convolutional neural network. In: Proceedings of the 15th IEEE International Workshop of Electronics, Control, Measurement, Signals and their Application to Mechatronics. Donostia-San Sebastian, Spain: IEEE, 2017. 1−5 [23] Lin G, Milan A, Shen C, Reid I. Refinenet: multi-path refinement networks for high-resolution semantic segmentation. In: Proceedings of the 30th IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE, 2017. 5168−5177 [24] He K, Zhang X, Ren S, Sun J. Identity mappings in deep residual networks. In: Proceedings of the 14th European Conference on Computer Vision. Amsterdam, The Netherlands: Springer, 2016. 630−645 [25] Zhao Y, Xu B, Giri R, Zhang T. Perceptually guided speech enhancement using deep neural networks. In: Proceedings of the 43rd IEEE International Conference on Acoustics, Speech and Signal Processing. Calgary, Canada: IEEE, 2018. 5074−5078 [26] He K, Zhang X, Ren S, Sun J. Deep residual learning for image recognition. In: Proceedings of the 29th IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA: IEEE, 2016. 770−778 [27] Bertsekas D P. Nondifferentiable optimization via approximation [M]. Nondifferentiable optimization. Springer. 1975: 1-25 [28] Hendriks R C, Heusdens R, Jensen J. MMSE based noise PSD tracking with low complexity. In: Proceedings of the 35th IEEE International Conference on Acoustics, Speech and Signal Processing. Dallas, USA: IEEE, 2010. 4266−4269 [29] Zhao Z, Liu H, Fingscheidt T. Convolutional neural networks to enhance coded speech. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2019, 27(4): 663-678 doi: 10.1109/TASLP.2018.2887337 [30] Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation. In: Proceedings of the 18th International Conference on Medical image computing and computer-assisted intervention. Munich, Germany: Springer, 2015. 234−241 [31] Stoller D, Ewert S, Dixon S. Wave-u-net: A multi-scale neural network for end-to-end audio source separation. In: Proceedings of the 19th International Society for Music Information Retrieval Conference. Paris, France, 2018. 334−340 期刊类型引用(0)
其他类型引用(2)
-