原文:Unsupervised Sound Separation Using Mixture Invariant Training
年份: 2020
Speech Separarion
MixIT解决的是语音分离任务,该任务分为两类:
- Speech Enhancement: speech-nonspeech separation (denoising);一条语音中有一个说话人+多种噪声,将人声提取出来,去掉噪声。
- Speaker Separarion: multi-speaker talking;语音中含有很多人的语音,将每一个人的声音信号分离开,接下来可以选择专注于哪个说话人的声音。
第三种情况是Target Speaker Extraction:既包含多说话人、又包含噪声,从中提取目标说话人的语音,抑制噪声和其他干扰说话人的声音。该任务简称为TSE,又称PSE(Personal Speech Enhancement)。
speaker independent: 训练和测试时有不同的两群说话人。
数据准备:有监督分离的训练数据是由ground truth合成的语音。因此这些训练数据可能和真实世界的数据有mismatch。
评估指标:SI-SDR(SISNR)、PESQ、STOI等。
对于speaker separation来说,假设输入语音包含两个说话人,那么输出应是两条分开的语音,而ground truth也是两条语音,他们都没有特定的顺序,那么如何对齐训练后输出语音和ground truth呢?
Deep Clustering
提出时间:2016
输入一段语音的频谱T*F,通过Embedding Generation模块将T-F矩阵中每个值编码到D维embedding空间,即T*F->T*F*D。接下来对每个embedding经过K-Means分成K簇,如果语音中是两个说话人,则K=2。接下来根据聚簇的结果得到两个二值掩码矩阵(IBM),点乘到输入语音矩阵,即可得到两段分离语音。该网络训练Embedding Generation模块即可,其目标是按特征尽量分开不同说话人的语音。
PIT(Permutation Invariant Training)
提出时间: 2017
Deep Clustering不是端到端训练的,而PIT能实现端到端训练。在已经有模型能分离出目标数目(假设为2)的语音的条件下,使输出语音顺序固定,计算出Ground truth所有可能的排列,将每个排列内的语音和输出语音一一对应计算距离作为该组排列的loss,计算出每组排列的loss,最小loss的作为最终答案更新网络。
MixIT
PIT要求Gound Truth,也就是在有监督的训练。MixIT克服了这一点,可以直接用无标签数据进行无监督训练。假设混合语音x由N条干净语音合成,x1、x2是两条这样的混合语音,他们的混合物=x1+x2,被定义为MoM(Mixture of Mixtures)。分离网络以
为输入,输出M>=2N个源信号,这保证了模型总是有能力预测出足够数量的源信号。
A是网络预测的2xM矩阵,A与该矩阵分离出来的信号(形状为Mx1)相乘, 即可得到两条分离语音重新混合的信号,选择损失最小的作为答案来训练分离网络,实现自监督。A有
种可能。