语音分离中的先进神经网络技术
立即解锁
发布时间: 2025-09-08 01:22:22 阅读量: 16 订阅数: 15 AIGC 


盲源分离与机器学习
### 语音分离中的先进神经网络技术
#### 1. 说话人泛化与LSTM的应用
语音分离被视为一项学习任务,其目标是根据预定义模型(如NMF、DNN、RNN或DRNN)来估计不同声源的时频掩码函数。在实际的声源分离中,提前知晓测试条件基本是不现实的。传统的深度神经网络(DNN)在处理与训练数据中相同说话人的语音分离任务时表现出色,但对于未在训练数据中出现的说话人,其分离性能会急剧下降,甚至在短时客观可懂度(STOI)方面比未处理的系统还要差。这是因为DNN在实现时仅考虑了上下文窗口内的输入特征,忽略了窗口外的时间信息,从而限制了其泛化能力。
循环神经网络(RNN)能够捕获音频信号中的时间动态,特别是基于长短期记忆(LSTM)的RNN,被强烈推荐用于克服DNN的这些弱点。图7.11展示了一个深度循环神经网络(DRNN)的配置,它由一个输入特征层$x_t$、四个堆叠的LSTM层$\{z^{(l)}_t\}^4_{l = 1}$和一个输出掩码层$\{\hat{y}_{1,t}, \hat{y}_{2,t}\}$组成。LSTM层的堆叠旨在捕获音频信号中的深度时间依赖关系,顶层的LSTM层$z^{(L)}_t$用于估计类似于式(7.2)中的软掩码函数$\{\hat{y}_{1,t}, \hat{y}_{2,t}\}$。
在系统评估中,使用了来自83位说话人的WSJ语音进行测试。其中,77位说话人的语音用于训练,其余6位说话人的语音用于测试。混合信号被视为有噪声的语音信号,通过将WSJ语音与大量训练噪声以 -5 到 0 dB的信噪比(SNR)混合而成。大约5000小时的大量训练集被用于训练与说话人无关的模型。
具体实现步骤如下:
1. **构建输入向量**:使用23帧($\tau = 11$)的上下文窗口构建混合信号帧$x_t$的输入向量,用于估计软掩码函数$\{\hat{y}_{1,t}, \hat{y}_{2,t}\}$。每帧长度为20 ms,帧移为10 ms。
2. **选择输入特征**:采用64维的伽马通滤波器组能量作为输入特征,以符合人类听觉系统。
3. **确定网络拓扑**:实现了具有四个1024单元LSTM层的DRNN拓扑,记为23⋆64–1024–1024–1024–1024–64。并将该LSTM系统与由五个2048单元的全连接(FC)层组成的DNN系统进行比较,DNN的拓扑为23⋆64–2048–2048–2048–2048–2048–64。FC层的激活函数使用ReLU。
4. **优化过程**:在优化过程中,使用Adam优化算法(Kingma和Ba,2014),小批量大小为256,截断的时间反向传播(BPTT)为250个时间步。
实验结果表明,使用大量说话人训练的DNN在已见和未见说话人上的表现都不佳。而基于LSTM的分离模型由于能够建模时间动态并记忆目标说话人,显著提高了说话人泛化能力。LSTM单元的可视化反映了语音模式的特性,有助于捕获不同的上下文以改进掩码估计。
此外,在CHiME语音分离和识别挑战任务中,使用LSTM的深度循环神经网络(DRNN)成功地应用于单通道语音分离。研究发现,将判别训练准则融入循环神经网络有利于单通道语音增强,能够从噪声干扰中恢复干净的语音。使用两层LSTM网络进行掩码近似和信号近似的DRNN,在性能上显著优于具有100个基的NMF和具有三个1024单元FC层的DNN。使用两个256单元LSTM层的DRNN实现了最高的信号失真比(SDR),并且与具有FC层的DNN相比,具有LSTM层的DRNN参数数量更少。通过使用LSTM层,梯度消失问题得到了显著解决。
#### 2. 双向长短期记忆(BLSTM)
传统的循环神经网络和长短期记忆网络,以及各种深度循环神经网络的变体,在声源分离中仅利用混合信号的先前上下文来预测未来事件,其对序列数据的建模是单向的。然而,在现实世界中,音频信号的序列样本是双向相关的。传统RNN通过使用过去输入数据$x_{<t}$的状态信息$z_t$进行预测,由于当前状态$z_t$无法获取未来输入信息$x_{>t}$,系统性能受到限制。实际上,对于单通道声源分离,未来的混合信号$x_{>t}$可用于估计当前帧$t$的掩码或解混信号$\{\hat{y}_{1,t}, \hat{y}_{2,t}\}$。
##### 2.1 模型构建
为了解决RNN的这一限制,双向循环神经网络(BRNN)被提出。BRNN不仅利用过去事件的上下文信息,还利用未来事件的上下文信息。它具有灵活性,不要求输入数据固定,可以增加训练数据量以改进模型估计。在实现中,BRNN构建了两个独立的隐藏层,用于合并来自两个相反方向的隐藏信息,并将这些信息前馈到同一个输出层。
如图7.12所示,前向和后向层分别用于从输入信号$\{x_t\}^T_{t = 1}$中学习前向特征$\overrightarrow{z}_t$和后向特征$\overleftarrow{z}_t$。前向特征$\overrightarrow{z}_t$从$t = 1$到$T$迭代计算,而后向特征$\overleftarrow{z}_t$从$t = T$到1递归提取。这些特征随后被用于计算软掩码函数$\{\hat{y}_{1,t}, \hat{y}_{2,t}\}$,该操作在不同的时间步$t = 1, \cdots, T$递归执行。与仅使用一组前向特征$\overrightarrow{z}_t$的标准RNN不同,BRNN采用前向和后向特征$\{\overrightarrow{z}_t, \overleftarrow{z}_t\}$来预测每个时间步$t$的掩码$\{\hat{y}_{1,t}, \hat{y}_{2,t}\}$。
然而,梯度消失或爆炸的问题不仅在RNN中存在,在BRNN中同样存在。因此,双向长短期记忆(BLSTM)被提出以缓解这一问题,并应用于语音识别。对于单声道声源分离任务,双向LSTM用于学习相关的过去和未来事件,以预测不同时间步上各个源信号的掩码函数。
双向LSTM的实现公式如下:
$\overrightarrow{z}_t = Z[W_{x\overrightarrow{z}}x_t + W_{\overrightarrow{z}\overrightarrow{z}}\overrightarrow{z}_{t - 1} + b_{\overrightarrow{z}}]$ (7.82)
$\overleftarrow{z}_t = Z[W_{x\overleftarrow{z}}x_t + W_{\overleftarrow{z}\overleftarrow{z}}\overleftarrow{z}_{t + 1} + b_{\overleftarrow{z}}]$ (7.83)
$\hat{y}_{1,t} = W_{\overrightarrow{z}y_1}\overrightarrow{z}_t + W_{\overleftarrow{z}y_1}\overleftarrow{z}_t + b_{y_1}$ (7.84)
$\hat{y}_{2,t} = W_{\overrightarrow{z}y_2}\overrightarrow{z}_t + W_{\overleftarrow{z}y_2}\overleftarrow{z}_t + b_{y_2}$ (7.85)
其中,$Z$表示图7.12中隐藏层的复合函数,它集成了标准LSTM记忆块中如式(2.75) - (2.81)所示的所有计算。参数$W_{x\overrightarrow{z}}$和$W_{x\overleftarrow{z}}$分别用于输入向量$x_t$与前向特征向量$\overrightarrow{z}_t$和后向特征向量$\overleftarrow{z}_t$之间的连接;参数$W_{\overrightarrow{z}\overrightarrow{z}}$和$W_{\overleftarrow{z}\overleftarrow{z}}$分别用于建模前向和后向方向上连续帧$t - 1$和$t$的隐藏特征$\overrightarrow{z}_t$和$\overleftarrow{z}_t$之间的连接;参数$b_{\overrightarrow{z}}$和$b_{\overleftarrow{z}}$分别为前向和后向方向的偏置参数。输出掩码$\hat{y}_{i,t}$($i = 1, 2$)通过使用相应的偏置参数$b_{y_i}$和权重参数$W_{\overrightarrow{z}y_i}$、$W_{\overleftarrow{z}y_i}$,将
0
0
复制全文
相关推荐









