盲信号分离(信号分离,盲信号源分离)指的是从多个观测到的混合信号中分析出没有观测的原始信号。通常观测到的混合信号来自多个传感器的输出,并且传感器的输出信号独立(线性不相关)。盲信号的“盲”字强调了两点:1)原始信号并不知道;2)对于信号混合的方法也不知道。最常用在的领域是在数字信号处理,且牵涉到对混合讯号的分析。盲信号分离最主要的目标就是将原始的信号还原出原始单一的讯号。一个经典的例子是鸡尾酒会效应,当许多人一起在同一个空间里说话的时候,听者可以专注于某一个人说的话上,人类的大脑可以即时处理这类的语音讯号分离问题,但是在数位语音处理里,这个问题还是一个困难的问题。
盲信号分离在早期时集中于研究时间讯号,像是声音,然而,盲信号分离目前已经可以应用在多维度的资料上,例如图片和张量这类不含时间维度的数据。
这个问题到目前为止还没有很好的解决方案,但是在一些特定的情况下,有一些很有用的解决方式。例如,当时间没有延迟的时候,我们可以采用主成分分析或独立成分分析。尽管这个问题已经有许多解决方式,科学家们仍然在持续对其进行研究。
如果可以对信号混合的方式直接建模,当然是最好的方法。但是,在盲信号分离中我们并不知道,信号混合的方式,所以,只能采用统计的方法。算法做出了如下的假定:
具有个独立的信号源和个独立的观察量,观察量和信号源具有如下的关系
其中,,是一个的系数矩阵,原问题变成了已知和的独立性,求对的估计问题。假定有如下公式
其中是对的估计,W是一个系数矩阵,问题变成了如何有效的对矩阵W做出估计。
1)各源信号均为零均值信号,实随机变量,信号之间统计独立。如果源信号的概率密度为,则的概率密度为:。
2)源信号数目小于等于观察信号数目,即。混合矩阵是一个的矩阵。假定满秩。
3)源信号中只允许有一个高斯分布,当多于一个高斯分布时,源信号变得不可分。
自然梯度法的计算公式为:
其中为我们需要估计的矩阵。为步长,是一个非线性变换,比如
实际计算时y为一个矩阵,m为原始信号个数,k为采样点个数
1)初始化W(0)为单位矩阵
2)循环执行如下的步骤,直到W(n+1)与W(n)差异小于规定值(计算矩阵差异的方法可以人为规定),有时候也人为规定迭代次数
3)利用公式,(其中)
4)利用公式
在信号分离的方法中,大部分的论文都是利用短时距傅立叶变换,将声音转换成时频谱,且会用梅尔刻度,模仿人耳对等距音高变化的感官,来做到抽样频率的减少,最后再从混和信号的时频谱中找出由一个信号源所发出干净的单一讯号的时频谱,用反短时距傅立叶转换找出单一讯号的声音。有一部分的论文是用非线性回归的技术来找出,而说到经典的作法,就要提到这篇论文,要解决的是盲信号分离,作法是将时频谱的抽样时刻和频率,利用神经网络和集群来分成不同群,每一群代表的是哪一个讲话者在那个抽样里占了最大的比例,这种方法称为"deep clustering",有许多论文\都是在这上面做延伸。
然而利用时频谱来作为讯号的特征有几项缺点:
这些问题都发生在用时频谱来做讯号分离,而最直觉的解决方式就是直接在时域上做,这样就可以避免将声音的大小声和相位做分离。其中表现的最好的就是Conv-Tasnet这个方法,Conv-Tasnet可分为三个区块,编码器(encoder)、分离器(separator)和解码器(decoder),编码器将一小段的混和讯换转换为在特征空间(feature space)上的特征向量,借由这个特征向量,分离器要找出一个相对应的遮罩(mask),将特征向量和遮罩做相乘后,再用解码器将其转换为原始讯号源所发出的单一讯号。
盲信号分离最早由Herault和Jutten在1985年提出,发表在一篇法文杂志上。随后他们相继发表文章对盲信号问题做出分析,提出了一种自适应的方法。其他一些学者对他们的方法进行了分析,分析了他们提出的方法的稳定性,在他们工作的基础上,引入了神经网络的方法对盲信号进行分离,并对其稳定性进行了分析。