热门问题
时间线
聊天
视角
盲信号分离
来自维基百科,自由的百科全书
Remove ads
盲信号分离(信号分离,盲信号源分离)指的是从多个观测到的混合信号中分析出没有观测的原始信号。通常观测到的混合信号来自多个传感器的输出,并且传感器的输出信号独立(线性不相关)。盲信号的“盲”字强调了两点:1)原始信号并不知道;2)对于信号混合的方法也不知道[1]。最常用在的领域是在讯号处理[2],且牵涉到对混合讯号的分析。盲信号分离最主要的目标就是将原始的信号还原出原始单一的讯号。[1]一个经典的例子是鸡尾酒会效应,当许多人一起在同一个空间里说话的时候,听者可以专注于某一个人说的话上,人类的大脑可以即时处理这类的语音讯号分离问题,但是在数位语音处理里,这个问题还是一个困难的问题。[3]
盲信号分离在早期时集中于研究时间讯号,像是声音,然而,盲信号分离目前已经可以应用在多维度的资料上,例如图片和张量这类不含时间维度的数据。[4]
这个问题到目前为止还没有很好的解决方案,但是在一些特定的情况下,有一些很有用的解决方式。例如,当时间没有延迟的时候,我们可以采用主成分分析或独立成分分析。尽管这个问题已经有许多解决方式,科学家们仍然在持续对其进行研究。[5]
Remove ads
问题基本描述
如果可以对信号混合的方式直接建模,当然是最好的方法。但是,在盲信号分离中我们并不知道,信号混合的方式,所以,只能采用统计的方法。算法做出了如下的假定:
具有 个独立的信号源 和 个独立的观察量 ,观察量和信号源具有如下的关系
其中 , , 是一个 的系数矩阵,原问题变成了已知 和 的独立性,求对 的估计问题。
假定有如下公式
其中 是对 的估计, 是一个 系数矩阵,问题变成了如何有效的对矩阵 做出估计。[1]
Remove ads
问题基本假设
Remove ads
自然梯度解法
自然梯度法的计算公式为:
其中为我们需要估计的矩阵。为步长,是一个非线性变换,比如
实际计算时y为一个矩阵,m为原始信号个数,k为采样点个数
1)初始化W(0)为单位矩阵
2)循环执行如下的步骤,直到W(n+1)与W(n)差异小于规定值(计算矩阵差异的方法可以人为规定),有时候也人为规定迭代次数
3)利用公式,(其中)
4)利用公式[1]
Remove ads
深度学习解法
有一部分的论文是用非线性回归的技术来找出,而说到经典的作法,就要提到 Hershey, John R.的论文[6],要解决的是盲信号分离,作法是将时频谱的抽样时刻和频率,利用神经网络和集群来分成不同群,每一群代表的是哪一个讲话者在那个抽样里占了最大的比例,这种方法称为"deep clustering",有许多论文都是在这上面做延伸[7]。
然而利用时频谱来作为讯号的特征有几项缺点:
- 短时距傅立叶变换是一个通用的讯号转换,然而在讯号分离的任务上,未必是最佳的讯号特征。
- 在反短时距傅立叶变换时,需要重建原始讯号的相位(phase),即使可以分离出跟原始信号一样的时频谱,然而具有偏差的估计会影响到重建讯号的准确度。
- 利用时频谱来做讯号分离是需要混和讯号高分辨率的频率分解,要用横跨较长时间的窗函数来做短时距傅立叶变换,这个会增加系统的延迟,不利于即时的语音处理任务,像是在电信设备中的应用。[8]
这些问题都发生在用时频谱来做讯号分离,而最直觉的解决方式就是直接在时域上做,这样就可以避免将声音的大小声和相位做分离。其中表现的最好的就是Conv-Tasnet[9]这个方法,Conv-Tasnet可分为三个区块,编码器(encoder)、分离器(separator)和解码器(decoder),编码器将一小段的混和讯换转换为在特征空间(feature space)上的特征向量,借由这个特征向量,分离器要找出一个相对应的遮罩(mask),将特征向量和遮罩做相乘后,再用解码器将其转换为原始讯号源所发出的单一讯号。
Remove ads
历史
盲信号分离最早由Herault和Jutten在1985年提出,发表在一篇法文杂志上[10]。随后他们相继发表文章对盲信号问题做出分析,提出了一种自适应的方法[11]。其他一些学者对他们的方法进行了分析[12],分析了他们提出的方法的稳定性,在他们工作的基础上[13],引入了神经网络的方法对盲信号进行分离,并对其稳定性进行了分析。
参考文献
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads