盲源分离技术研究:有监督与无监督

马 昊,郑 翔,张 煜,陈 敏,朱炎民

(1.陆军工程大学通信工程学院,江苏 南京 210007;
2.解放军32125部队;
3.解放军31101部队)

盲源分离是指从接收到的混合信号中分离出未知源信号的过程,即对于系统中测得的传感器信号x(t)=[x1(t),x2(t),…,xm(t)]T(m为接收端阵元数),要求找到一个逆系统以重构原始的源信号s(t)=[s1(t),s2(t),…,sn(t)]T(n为发射端阵元数)[1]。由于源信号s(t)未知,源信号如何混合得到观测信号也未知,这体现了求解问题的“盲”。盲源分离技术根据源信号与观测信号数目关系分为欠定(m<n)、正定(m=n)和超定(m>n)[2]盲源分离。随着盲源分离技术的研究和运用越来越深入,盲源分离在医学信号处理、机械故障检测、图像处理识别、雷达及通信信号处理等方面都发挥着重要的作用[3-5]。

盲源分离问题根据关注点的不同存在不同的划分方式。根据混合方式不同,主要分为线性混合和非线性混合,而线性混合又包括线性瞬时混合和线性卷积混合两种。具体描述如下:

1.1 线性瞬时混合

线性瞬时混合是最理想的一种混合方式,也是研究另外两种类型的基础。线性瞬时混合模型如下:

其中,v(t)为噪声,A是未知的混合矩阵。如图1 所示,在s(t)和混合矩阵A均未知的情况下,源信号y(t)可通过盲源分离算法只根据观测信号x(t)恢复出来。

图1 线性瞬时混合信号分离示意图

1.2 线性卷积混合

由于在实际的信号传播过程中,多径和时延几乎是无法避免的。因此线性卷积混合将多径和时延因素纳入到模型中,其表达式如下:

其中,Q表示无线传播路径数,Aq表示第q个传播路径下的混合矩阵,δ(·)表示脉冲响应,和别为第i个源信号通过第q个路径到第k个传感器的振幅衰减和时延。卷积混合的盲源分离本质是通过解卷积运算进而估计源信号。

1.3 非线性混合

非线性混合主要应用于图像处理中。一般非线性混合模型如下:

其中,f(·)是可逆非线性映射,一般非线性盲源分离就是在s(t)及f(·)未知情况下求得一个映射g:y(t)=g[x(t) ]。

截止目前,盲源分离算法可分为两大类:一类是无监督分离算法,此类算法主要是以信号的某种特性或者先验知识作为分离准则,比如信号的独立性、非高斯性、稀疏性、非负性、有界性等,由此衍生出独立成分分析(Independent Component Analysis,ICA)[6]、稀疏分量分析(Sparse Component Analysis,SCA)[7]、非负矩阵分解(Non-negative Matrix Factorization,NMF)[8]、有界成分分析(Bounded Component Analysis,BCA)[9]等经典的分离算法;
另一类是有监督分离算法,即通过搭建深度学习框架,利用大规模的已知信号对其进行训练,得到映射函数或掩码矩阵,以此对未知混合信号进行分离[10],此类算法在语音分离领域得到了成功应用。

2.1 无监督分离

一般的盲源分离算法主要分为两步:首先估计分离矩阵,然后对混合信号进行分离。分离矩阵的估计算法主要由代价函数和优化算法两部分组成。通过构建代价函数,将盲源分离问题转换为最优化问题,通过选择合适的优化算法寻求目标函数的最值,以此估计分离矩阵;
分离算法的核心在于根据源信号特性构建优化目标函数。利用混合矩阵和源信号的不同特性,发展出不同的BSS 理论,即:①如果源信号S是统计独立的,则可以通过ICA方法进行信号分离;
②如果源信号S在源域或变换域是稀疏的,则可以采用SCA方法进行源分离;
③假如X、A、S元素均为非负元素,则可采用NMF 方法进行源分离;
④如果A和S有界,可以利用BCA方法分离源信号。

2.1.1 ICA算法

ICA 算法是根据源信号的统计独立性原则建立代价函数,然后通过优化算法从线性混合信号中分离出源信号。为了实现有效分离,ICA 算法需要满足独立性、非高斯性以及混合矩阵可逆等假设。根据对统计独立性的不同度量方法,可建立不同的代价函数:互信息最小化、信息传输最大化或负熵最大化、最大似然估计等。在建立代价函数后需要寻优算法来求解。寻优算法主要分为在线算法和离线算法,前者属于实时的方法,如随机梯度法等,但自适应算法存在算法收敛问题,后者是对接收到的数据进行批量处理,典型的有FastICA[11-12]。

2.1.2 SCA算法

虽然ICA 算法在盲信号分离领域应用广泛,但在实际中的信号混合模型并不能满足信号的非高斯性或者非欠定条件下混合的假设。近年来,越来越多的学者开始利用信号的稀疏性来分离混合信号。这种利用信号稀疏性分离混合信号的方法称为稀疏分量分析,即SCA算法。

SCA 算法在时域的稀疏性体现在源信号S在某一时刻包含尽可能多的0元素。SCA 算法的唯一解总是假设S有m-n+1 个0 元素或有n-1 个非0 元素,即n-1个稀疏元素。如果源信号在时域没有稀疏性,可以通过短时傅里叶变换、小波变换等变换将信号转换到具有稀疏性的域上实现分离。稀疏域的转换同样需要根据信号的特性来做选择,这要求一定的先验知识作为基础。稀疏性的度量通常采用L0范数度量,在保证恢复信号准确性的基础上,代价函数可表示为:

在数学中,S的L0范数的最小化是一个NP难问题。特别是随着m的增大,L0范数最小化在计算上变得不可行,而且L0范数最小化对噪声或近似误差很敏感。因此,L1通常被作为L0范数的替代,因为L1范数是凸的,并且可以提供唯一解。

2.1.3 NMF算法

NMF 是基于非负约束获取源信号的基本BSS 方法。在处理机制上,基于NMF的BSS注重源分量的非负条件,即将混合信号分解为两个非负矩阵:基矩阵和系数矩阵,从而将矩阵分解问题转化为两个非负矩阵误差最小化问题。衡量两个非负矩阵之间的误差函数有欧式距离[14]、KL 散度[14]、IS 散度[15]、β 散度等[16]。通过不断优化目标函数即可得到目标源信号矩阵。与传统方法相比,NMF 在实现复杂性、全面的分解解决方案和较少的存储需求等方面具有许多优势。

NMF 算法应用在BSS 领域的核心思想是在一定约束条件下将混合信号矩阵分解为源信号矩阵和混合矩阵,从而求出重构信号的近似最优解。数学模型描述如下:

其中,l表示信号长度。NMF 的求解过程较为复杂,总体上可分为三大类:乘性迭代法、投影梯度法和交替非负最小二乘法,其中应用最为广泛的是乘性迭代算法。在原有的非负矩阵分解问题中,同时求解矩阵A和S是非凸问题,求解较为困难。乘性迭代算法原理是在固定A或S的情况下更新求解另一矩阵,此时为凸优化问题。在预设迭代次数时,可完成对矩阵A、S的近似求解。矩阵A和S的更新公式如下:

其中,⊗表示哈达玛积。

2.1.4 BCA算法

BCA 算法以源信号的几何有界性作为基本原则,对观测到的混合信号进行线性分解。在BCA 算法中,笛卡儿分解和凸支撑紧致是提取源信号的基本假设。应用BCA算法一般需要满足以下条件:

⑴源信号和噪声具有有界属性;

⑵源信号S=(S1,…,Sm)T的凸支撑是边缘凸支撑集的笛卡尔积;

⑶混合矩阵A为列满秩矩阵;

⑷高斯噪声的临界统计量(如凸支撑或协方差矩阵)已知或者可以从观测到的混合噪声中得到。

在BCA 算法中,代价函数的选择可以有多种,比如常见的代价函数有周长最小化、体积比最大化以及最小化风险准则等。在优化算法方面,主要采用经典的优化算法如梯度下降法、梯度投影法等。

2.2 有监督分离

区别于模型驱动型的传统盲源分离算法,应用于信号分离的深度学习算法是一种数据驱动型的有监督学习算法,即通过输入混合信号和已知的源信号对深度模型进行训练。模型根据已知源信号学习混合信号的特征,以及特征到分离目标的映射函数,训练完成后对未知的混合信号进行分离。从输入信号的形式划分,基于深度学习的语音分离技术可分为基于频域和时域两大类。

2.2.1 基于频域上的深度学习方法

基于频域上的深度学习方法是指通过短时傅里叶变换(STFT)将原始波形变换到时频域进行处理。

深度聚类(Deep Clustering,DPCL)[17-18]是MERL实验室在2016年提出的一种语音分离算法。DPCL算法主要是利用神经网络将混合信号的时频表示投影到高维的嵌入空间中,然后对嵌入空间进行聚类,得到时频掩码(TF Mask),并用得到的掩码分离混合信号。DPCL 算法很好地解决了说话者排列不匹配问题,但是由于该方法的目标函数是嵌入空间内的源信号之间的关联关系,而不是关于分离信号本身,所以存在不能有效地进行端到端训练的缺点。

文献[19]在深度聚类的基础上,提出深度吸引子网络(Deep Attractor Network,DAN),它也学习了TF单元的高维嵌入。与深度聚类不同,此深度网络会创建类似于聚类中心的吸引点,以将由不同说话者主导的TF 单元拉到其对应的吸引子。然后通过比较嵌入点和每个吸引子的相似性得到掩膜,实现端到端的训练与测试,文献[19]的结果表明,深吸引子网络比深度聚类产生更好的结果。

文献[20-21]提出了PIT(Permutation Invariant Training)算法以及其改进算法uPIT(Utterance-level PIT),与DPCL 以及DAN 不同,PIT 算法直接使用最小化分离误差,有效的实现了端到端的映射。PIT 首先确定最佳的输出目标分配组合,然后通过排列组合,计算所有可能出现的分配组合的误差,选择其中最小分离误差的分配组合并以此来优化模型,其中所有输出目标组合就是参考源信号和估计源信号之间的所有可能存在的排列组合。该策略直接在网络结构中实现,很好地解决了长期困扰基于深度学习的盲源分离技术发展的标签置换问题。由于PIT 每一次要计算所有可能存在的排序组合的分离误差,当源数量变大时就会导致计算成本成倍增长。

2.2.2 基于时域上的深度学习方法

与基于信号频域上的深度学习方法不同,在文献[25]中首次提出基于时域上的学习方法,即直接将信号波形送入模型进行学习。罗艺在文献中指出,基于频域上的深度学习方法有三个不足:一是STFT 是一种通用的信号变换方法,应用于语音分离不一定是最佳的;
二是相位信息无法学习,利用混合信号的相位进行信号重构会产生分离性能的上界;
三是STFT 需要较高的频率分辨率,导致较长的时间延迟,限制了在低延迟场景下的应用。基于此,罗艺提出了一种Tasnet(Time-Domain Audio Separation Network)模型。Tasnet 模型包括编码器、分离器、解码器三部分。其中编码器通过一维卷积学习信号特征,分离器通过堆叠长短期记忆网络(LSTM)生成掩码,分离器通过转置卷积将信号还原为时域波形形式。此后,研究者基于编码器—分离器—解码器架构改进学习模型,使得分离性能不断提高。

在分离器改进方面,文献[24]在Tasnet 模型基础上提出Conv-Tasnet 模型。由于使用堆叠LSTM 作为分离模块,使得Tasnet模型存在模型训练难以管理、大量参数导致的计算成本过高以及分离精度不一致的问题,在Conv-Tasnet 模型中将分离模块替换为堆叠一维空洞卷积模块,模块使用空洞卷积增加了模型的感受野,大大减少了模型复杂度,使得延迟更短同时分离精度更高。针对传统模型对超长序列建模困难的问题,文献[25]又提出了dual-path RNN (DPRNN)模型,模型首先对编码向量进行分割堆叠形成三维张量块,然后通过块递归神经网络(RNN)独立处理局部块,块间RNN将所有块的信息聚合起来进行话语级处理,通过块内和块间的交错处理实现了对信号的局部建模和全局建模,不仅能够达到长序列建模要求,模型也更加简单。DPRNN 为长序列建模问题提供了有效的解决思路。由于RNN无法进行串行计算,对长序列建模时会导致计算效率下降。为解决这一问题,文献[26]在DPRNN 模型基础上提出了Dual-Path Transformer Network,即将LSTM 网络替换为Transformer,利用Transformer 的自注意力机制获取上下文信息,实现长序列建模。为进一步提高分离性能,在文献[27]中基于Conv-Tasnet 模型提出多种改进方式:一是将一个分离模块扩展为多个模块并行连接,每个模块包含不同数量的子模块,另外通过设计权重模块控制不同模块的权重,以此实现对序列的不同尺度建模;
二是对一维空洞卷积模块进行并行集成,通过对所有不同分支的输出进行平均,得到每个并行内卷积分量的总输出,从而减小性能方差,提高分离稳定性;
三是在一维空洞卷积模块的输入端和输出端引入门控机制,控制信息的流入和流出。以上改进均不同程度地提高了分离精度。

在编解码器改进方面,文献[28]提出用一个由听觉特征驱动的确定性的Gammtone 滤波器组代替网络中的可学习编码器,他认为对于训练数据有限的条件下,替换后的滤波器组更能有效地提取语音信号的特征;
相反,在文献[29]中作者认为使用单层一维卷积不能完整有效地表示信号特征,并提出了深度编码器/解码器。深度编码器/解码器使用四层一维空洞卷积作为编码器,同时使用门控线性单元(GLUs)取代深度编码器/解码器中的带参整流线性单元(PReLU),解码器采取与编码器对称结构,通过加深编解码器网络提高信号的表征能力。

在训练方式改进方面,文献[30]提出两阶段的训练模式。第一阶段保持分离器参数不变,预先训练编码器和解码器,以学习合适的潜在表示。在第二阶段,保持编解码器参数不变训练分离模块。这种两步训练法在多个语音分离任务中获得了一致的性能改进。

3.1 总结

本文主要从盲源分离模型分类以及无监督和有监督两类算法对盲源分离算法进行了总结。根据混合方式的不同将盲源分离模型分为线性瞬时混合、线性卷积混合以及非线性混合三类。然后分别讨论了无监督和有监督条件下的分离算法。无监督条件下的分离算法主要包括ICA、SCA、NMF、BCA 等经典的算法。不同的算法是在不同的场景以及假设条件提出并完善起来的。在对具体某个问题使用时需预先对该问题的前提条件进行分析,然后选择合适的分离算法。有监督条件下的分离算法是深度学习和神经网络在语音分离领域的典型应用,本文从基于频域和时域两大类方法上进行总结。随着深度学习的兴起,深层模型开始广泛应用到语音分离中,目前已经成为监督性语音分离最主流的学习模型。深层模型具有强大的建模能力,能够挖掘数据中的深层结构,相对于浅层模型,深层模型分离的语音不仅在感知质量和可懂度方面都有巨大的提升,而且随着数据的增大,其泛化性能和分离性能得到不断的提高。

3.2 展望

盲源分离技术自提出以来,在理论和应用方面不断丰富和发展,取得了丰硕的成果,但也应当看到还存在一些难题尚未得到良好的解决。对于无监督算法,需进一步研究的问题主要有低信噪比条件下的盲信号分离、欠定条件下特别是单通道的盲源分离、更加符合实际应用的卷积混合和非线性混合模型的盲源分离。对于有监督算法,随着深度学习技术的进一步应用,盲源分离技术在以下几方面可能会有所突破:一是有监督分离技术在通信信号等领域的拓展,虽然有监督分离技术在语音分离领域取得了成功,但在其他领域如通信信号等尚未有深入的研究;
二是泛化性能的提高,尽管监督性语音分离取得了很好的分离性能,特别是深度学习的应用,极大地促进了监督性语音分离的发展,但在听觉条件或者训练数据不匹配的情况下,例如噪音不匹配和信噪比不匹配的情况下,分离性能会急剧下降;
三是深度学习框架的改进完善。近年来,新的具有更强表征能力如多模态变分自编码器(MVAE)、GAN等深度模型不断涌现,推动深度学习技术的发展,同时随着在语音分离领域的广泛应用,语音分离性能也将不断提高。

猜你喜欢 线性卷积矩阵 二阶整线性递归数列的性质及应用中等数学(2021年9期)2021-11-22基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02一种并行不对称空洞卷积模块①计算机系统应用(2021年9期)2021-10-11线性回归方程的求解与应用中学生数理化(高中版.高一使用)(2021年2期)2021-03-19从滤波器理解卷积电子制作(2019年11期)2019-07-04非齐次线性微分方程的常数变易法卷宗(2018年14期)2018-06-29基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20线性回归方程知识点剖析中学生数理化(高中版.高一使用)(2018年2期)2018-04-04多项式理论在矩阵求逆中的应用读与写·教育教学版(2017年10期)2017-11-10矩阵南都周刊(2015年4期)2015-09-10

推荐访问:监督 技术研究 分离