Single-Channel Multi-Speaker Separation using Deep Clustering
要点:使用端到端信号逼近目标扩展基线系统
-
通过整合更好的正则化、更大的时间上下文和更深的架构,显著改善基线系统性能
-
扩展模型,纳入增强层,以细化信号估计,
-
通过聚类和增强阶段进行端到端训练,以最大化信号保真度
-
使用自动语音识别来评估结果
Introduction
本文工作基于深度聚类方法。
深度聚类:训练神经网络分配一个嵌入向量到多维信号的每个元素,这样,对嵌入的聚类产生期望的信号分割。
-
嵌入被分配给混合语音信号的短时傅立叶变换(STFT)的每个时间-频率指数
-
对嵌入进行聚类,会将每个TF bin分配给一个推断的源(???)
-
这些分配被当作一个掩蔽函数来提取每个源的主要部分
原始深度聚类系统目的:仅恢复每个源的二进制掩码,将丢失特征的恢复留到后续阶段;
本文采用
增强层(enhancement layer)细化信号估计,利用
软聚类(soft clustering)对整个系统进行
端到端的训练,通过深度聚类嵌入(deep clustering embedding)、聚类(clustering)和增强(enhancement stages)三个阶段进行
联合训练。所以可以
直接使用信号近似目标,而不是原始的基于掩码的深度聚类目标。
硬聚类:关于数据项进行分组,以便将每个项仅分配给一个集群。确切地分到某一类;
软聚类:关于数据项进行分组,以便一个项可以存在于多个集群中。把数据以一定的概率分到各类中,如高斯混合模型(GMM),模糊C均值模型(Fuzzy C-Means)。(例 某样本在A类概率0.7,在B类概率0.3),又叫模糊聚类(Fuzzy Clustering)
排列问题(permutation problem):有多个有效输出,区别仅在于源的排列顺序
DL通过将掩码估计框架化为聚类问题来解决排列问题。可以灵活表示任意数量的来源。
训练方法的改进
本文研究了几种提高基线深度聚类的方法:正则化(如 drop-out)、模型大小和形状、训练计划。
预处理:使用了与DPCL一文中相同的特征提取过程,以对数幅度STFT特征作为输入,并执行全局均值-方差归一化。rmsprop优化:有一个固定学习速率计划,并基于交叉验证提前停止。
正则化RNN单元
如LSTM结构,
使用dropout训练正则化来规范,其中节点被随机设置为0。本文中,对前向连接的每个时间步长采样一次dropout mask,对与循环连接在每个序列中只采样一次。对每个门使用相同的周期性dropout mask。
架构
研究更深更广的架构。DPCL中使用的是一个两层双向长短时记忆网络(BLSTM),然后是一个前馈层产生嵌入。本文表明,
扩大网络规模可以提高任务性能。
Temporal context
训练时语音被分成固定长度的不重叠的片段,并使用这些片段的混合小批量来计算梯度。较短的片段增加了每个batch的多样性,使训练更容易,因为语音不会改变太多的片段。但是测试时,网络和聚类被赋予全部语音,从而可以全局地解决permutation problem。
用较短的段进行预处理,然后用较长的段进行训练,可以表现更好。
多说话人训练
进一步研究了从两说话人训练到三说话人分离的泛化,以及两说话人和三说话人混合的多风格训练。
Optimizing Signal Reconstruction
DPCL解决了声谱图分割为各声源主导区域的难题,但是并不能解决其他源占主导区域的源恢复问题。本文建议使用第二阶段的增强网络来获得更好的源估计,特别是对于缺失的区域。
对于每个源C,增强网络首先通过BLSTM层和前馈先行处理层处理混合语音的幅度谱图,和深度聚类估计的级联,以产生输出。序列级均值和方差归一化应用于输入,并且网络参数对于所有源均共享。然后使用softmax结合跨源的输出,在每个TF bin处形成掩码。将该掩码应用于混合语音,得出最终估计值。在训练中,优化了代价增强函数。其中p∈(1,...,C)
由于增强网络被训练成直接改进信号重建,可以在DPCL基础上改进,特别是信号由其他源控制的区域。
端到端训练
为了在DPCL和增强阶段联合训练的意义上考虑端到端训练,我们需要计算聚类步骤的梯度。
在DPCL中,用硬K-means聚类对嵌入进行聚类。得到的二进制掩码不能被直接优化以提高信号保真度,因为最优掩码通常是连续的,并且由于硬聚类不可微,因此产生的二值掩码不能直接优化以提高信号保真度。
本文提出了一个软K-means算法,使能够直接优化估计的语音信号保真度。 尽管在训练目标中使用了权重,以便只对具有显著能力的TF元素进行训练,TF嵌入中也执行了相同的权重聚类。在这里,我们为每个嵌入vi引入相似的权重wi,以将聚类集中在具有显著能量的TF元素上。目的在于避免对无声区域进行聚类,该区域可能具有嘈杂的嵌入,并且其mask估计误差无关紧要。
软加权K-均值算法可以被解释为一种带循环协方差的高斯混合模型的加权期望最大化算法。它在计算每个嵌入到每个质心的分配和更新质心之间交替进行:
其中,μc是聚类c的估计平均值,γi,j是将i嵌入簇c的估计分配。α增大,算法接近k-means。
权重wi可以多种方式设定,根据各TF bin混合程度进行设置。除了在无声部分权重设为0,其余权重设为1。无声是用相对于最大的混合能量的一个阈值定义的。根据一般的深度展开框架,将DPCL的步骤展开,并将其作为聚类网络中的层来进行端到端训练。因此,每一步的梯度通过标准的反向传播传递到前一层。
Expriment
实验设置:
- 语料库:WSJ0_2mix
- 采样:8kHz(减少计算和存储成本)
- 输入特征:混合语音的对数谱大小
- 计算:使用STFT计算,32ms正弦窗口,8ms位移
初始系统以DPCL为基础,从两扬声器混合信号中提取100帧片段,训练深度聚类模型。该网络优2层BLSTM层,每层有300个前向LSTM单元和300个后向LSTM单元
正则化:
采用常见正则化实践来提高基线的性能
Architecture:
通过增加隐含单元的数量和BLSTM层的数量来研究各种网络体系结构。采用4个BLSTM层,每个LSTM包含300个单元。
Temporal context预训练:
使用100帧的片段对模型进行预训练后,使用100帧的片段训练模型。
软聚类:
在验证机上分析聚类硬度参数α的选择和TF bin上的权重。结果表明,使用权重忽略沉默可以提高性能,同时降低大α的收益,最佳α=5
Conclusion
对深度聚类框架进行了改进和扩展,首次对信号重构质量进行端到端训练。在信号质量指标和语音识别错误率上都显示了显著的性能改进