频域的解决方法,使用特征提取器代替STFT直接建立有用的数据,再在分离结束时,用还原器,还原成声音的信息。
基于Masking的解决方案:
通过对mask的分离综合审判,得到两个矩阵向量,然后分别用矩阵向量和原始的混合与一个矩阵信息,想乘,得到了两个分离的纯净的信息。
说明一下:这里的M1和M2可以分别是binary(0/1)或者是连续值(continuous)
IBM:Ideal Binary Mask
针对上面的掩模信息,做的一个想法。
通过比较,在矩阵中的每一个格内比较红和蓝,哪一个出现的可能性更大,比较大的就是1,比较小的就是0。
相乘之后,就是干净的语音信息。
但是问题有2:
1.没有这么容易可以得到IBM的。(下面便是得到IBM的一种方法)
2.得到了也会有PI问题!!!
Deep Clustering Inference
主要是有两个部分组成:Embedding Generation和K-means Clustering。
通过Embedding Generation,把信号矩阵扩展为一个立方体的模样,这样可以包含更多的信息,更加精准度分离。
再通过K-means Clustering聚类,分为K=2的两群,最终产生IBM。
后人对于这两个部分都提出了可以训练的方法。
下面便是Embedding Generation的训练方法
Deep Clustering Training:
首先,因为在训练集里,我们可以根据 Mixed matrⅸx找到它的 Ideal Binary Mask
之后,假设在找到 Ideal Binary Mask后,我们发现第一排第二三列的值不同1和0
然后,根据Mask的第一排第二三列的不同,表示 Mixed matrⅸ中的第一排第二三列的 Speake不同
最终,我们只需训练 Embedding Generation使得生成的对应位置的 vector的距离越大越好。同理,
对于Mask值相同的,我们训练 Embedding Generation得到的 vector的距离越小越好。
怎么理解这个距离越远就分开了呢?
因为我们到后面做的事一个聚类分析,K-means Clustering,如果两个点之间的举例越来越远,那么聚类分析的时候,就会把这两个的相连性,分隔开,就成为了连个不同的mask模值