TS03 separation de source
TS03 separation de source
概述
盲原分离解决多输入多输出问题中,在输出信号中输入信号混杂的情况。

区分不同的情况,将$Nsur déterminé 。
除此之外,也可以根据信号混合方式(线性组合,卷积)和是否有延迟来分类。
主成分分析 ICA
主成分分析要求$N = M$。这里我们不涉及更加深入的原理。简单来说,我们首先估计信号的方差$\Sigma_y$,然后得到白化信号$Z = \Sigma_y^{-1/2}y$,最后选择合适的旋转矩阵$R(\theta)$,使得最终估计的$\hat{x}=R(\theta) z$。通常可以使用峰度作为选择旋转矩阵的判据。在期望为$0$的假设下,峰度可以写作:$k_x = E(x^4)/E(x^2)^2$。
下图为一个示例,展示了在盲源分离过程中$(x[0],x[1])$的变化。
左图为混合前信号,右图为混合后信号。

左图为白化之后的信号,右图为乘以旋转矩阵之后估计的原始信号。从音频来听,已经实现分离。

DUET
DUET是一种处理欠定问题的方式。这里也是仅展示一般步骤。
我们选择的信号为三个声源,两个麦克风。

首先我们绘制两个声道的时频图:

然后将时频图展平为一维向量,假设为$s1,s2$,绘制$(s1,s2)$,可以隐约看到有三个峰。使用hist 函数绘制点在不同角度下的分布可以看的更加明显。

分别选择三个峰对应的点群,即可分离信号。
非负矩阵分解 NMF
Séparation de Sources avec NMF.pdf
概述
数据通常表示为矩阵形式:

字典学习,低秩近似,因子分析,潜在语义分析等方法,通常会将/将矩阵分解为字典矩阵和行为矩阵的乘积:

以实现降维,拆分(源分离),插值等工作。


非负矩阵分解要求:
数据 $V$ 以及因子 $W,H$ 具有非负的值。
- 因子 $W$ 的非负性确保了字典的可解释性,因为模式 $w_k$ 和样本 $v_n$ 属于相同的空间。
- 因子 $H$ 的非负性倾向于生成基于局部特征的表示,因为禁止使用减法组合。

NMF的优化问题
$W$和$H$通常由优化得来,具体来说,我们选择$WH$,以最小化:
其中,$d$是一个标量损失函数。
一种常用的选择是$\beta$散度:

$\beta$的不同取值对应了不同的散度形式
- 平方欧几里得距离 / 二次损失($β=2$)
- 广义
Kullback-Leibler(KL)散度($β=1$) Itakura-Saito(IS)散度($β=0$)
性质
- 齐次性:$d\beta(\lambda x | \lambda y)=\lambda^\beta d\beta(x | y)$
- $d_{\beta}(x||y)$ 是 $y$ 的凸函数,当 $1≤β≤2$ 时成立
以$IS$散度为例:
最小化准则:
第一项是凸函数,对于$\sum_k \lambda_k=1$,有$f\left(\sum_k \lambda_k h_k\right) \leq \sum_k \lambda_k f\left(h_k\right)$。设:
其中$\tilde{h} \in \mathbb{R}_{+}^K$为当前估计,$\tilde{v}=W \tilde{h}$为当前近似。有:
第二项是凹函数,满足$g(\mathbf{h}) \leq g(\tilde{\mathbf{h}})+\nabla g(\tilde{\mathbf{h}})^{\top}(\mathbf{h}-\tilde{\mathbf{h}})=\sum_k[\nabla g(\tilde{\mathbf{h}})]_k h_k+c s t .$
其中,$\left[\nabla C2(\tilde{\mathbf{h}})\right]_k=\nabla{hk} C_2(\tilde{\mathbf{h}})=\sum_f \frac{W{f k}}{\tilde{v}_f} .$,因此有:
由此,我们将损失函数替换为:
通过对目标函数的梯度设为 0,得到以下乘法更新规则:
在实践中,通过依次更新$H$和$W$来实现参数更新。
通过这种方法,我们可以避免传统梯度下降算法中,可能会出现的导致矩阵为负的情况。
为了更清晰的看到这一点,我们再讨论一个Euclidean距离的例子(https://www.cnblogs.com/xingshansi/p/6670214.html)
优化问题为:
如果使用梯度下降算法:
设:
则可将原本的优化问题转化:
NMF的语音建模
在NMF中,接收到的信号被认为是一系列独立随机向量的线性组合。根据这个假设,我们可以推得使用IS散度的合理性。

但必须说明的是,这个简单的建模方法有许多问题,比如一个声源的信号是否能被简单的表示为一个随机变量,一个随机变量中包含的信息是否足以重构一个信号。
另一个问题是,NMF本质上是一种对信息的压缩。在分离过程中,需要经过压缩和重构的过程。$r$越小,损失的信息就越多,信号的重构就越差,更不用说分离。而在这个假设下,$r$与音源数量绑定,很不合理。

如上图是一个2声源问题,但$r = 2$很明显不足以完成信号重构。
同时,显然这个模型不支持同时多个麦克风。
正弦信号的分离
抛开之前讨论的问题,我们来看一个简单的正弦信号的分离问题。待信号如下

首先我们计算时频图,并对频谱图进行NMF计算,得到的W和H两个矩阵的行和列分别包含了两个被分离的信号的频率和时间信息。可以看到这些信息基本对应于我们的设定。

随机,我们叉乘两个矩阵的对应行列,得到两个重构的时频图,并得到两个分离的信号

可以观察到除了在不连续处表现较差之外,整体表现不错。
NMF的改进:MNMF
回到先前描述过的问题,实际上上述的方法基本只能对极其简单的问题生效。对于语音混合,音乐混合不能有有效的重构和分离。为此,一种解决方法是应用MNMF,这是https://ieeexplore.ieee.org/document/5229304中提到的一种解决方案:

简单来说,在这种模型的假设中,声源而不是接收到的信号被假设为随机变量的和。换言之,我们期待直接使用$WH$重构音源,而非接收到的信号。同时我们使用$Q$来将估计的声源信号线性组合转化为估计的麦克风接收的信号。在优化过程中,$Q,W,H$将被同时优化。
这样做解决了声源信号本身的复杂性问题,也将压缩率与声源数量分离。实际上,我们可以对不同的声源选择不同的$r$,通常对于音乐可以选择比语音更大的$r$。通过调整$Q$的尺寸,引入多个音源也成为可能。
这种方法相当有效,但由于主题是音源分离,我只能在此展示几个分离之后时频图:
人声和音乐的分离

电吉他和合成器的分离

人声的分离

但必须要提到的是,上述结果都是在麦克风数量等于音源数量的情况下的结果。如果是欠定情况,尤其对于人声的分离,可能会得到两个人声声源被分到同一个分离声道的情况,这可能是由于MNMF的假设允许了一个声源中包含多个随机变量导致的。
参考
[1]Multichannel Nonnegative Matrix Factorization in Convolutive Mixtures for Audio Source Separation | IEEE Journals & Magazine | IEEE Xplore’. Accessed: Nov. 29, 2024. [Online]. Available: https://ieeexplore.ieee.org/document/5229304
[2]P. Smaragdis and J. C. Brown, ‘Non-negative matrix factorization for polyphonic music transcription’, in 2003 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (IEEE Cat. No.03TH8684), Oct. 2003, pp. 177–180. doi: 10.1109/ASPAA.2003.1285860.
[3]非负矩阵分解(2):算法推导与实现 - LeeLIn。 - 博客园’. Accessed: Nov. 29, 2024. [Online]. Available: https://www.cnblogs.com/xingshansi/p/6670214.html
[4]AshishAbrahamSamuel/Music-Source-Seperation-using-NMF’. Accessed: Nov. 29, 2024. [Online]. Available: https://github.com/AshishAbrahamSamuel/Music-Source-Seperation-using-NMF/tree/main







