基于变步长自然梯度算法的语音信号盲分离
季策1,汤宝成1,朱丽春2
(1. 东北大学 信息科学与工程学院,辽宁 沈阳,110819;
2. 中国科学院 国家天文台,北京,100012)
摘要:提出一种基于自然梯度的语音盲分离改进算法。该算法主要是通过选择合适的非线性激活函数及自适应步长因子对传统的自然梯度算法进行改进。计算机模拟实验结果显示,该算法能够有效分离随机混合的自然语音 信号。
关键词:盲源分离;激活函数;步长自适应;自然梯度算法
中图分类号:TN 911. 6 文献标志码:A 文章编号:1672-7207(2011)S1-0661-05
Blind source separation of speech signals
based on variable step length natural gradient algorithm
JI Ce1, TANG Bao-cheng1, ZHU Li-chun2
(1. College of Information Science and Engineering, Northeastern University, Shenyang 110819, China;
2. National Astronomical Observatories, Chinese Academy of Sciences, Beijing 100012, China)
Abstract: An improved speech blind separation algorithm based on natural gradient algorithm was proposed. The traditional natural gradient algorithm was improved by choosing a suitable nonlinear activation function and auto-adaptive step length. The algorithm was examined by computer. Simulation results demonstrate that the algorithm can effectively separate natural speech signals mixed randomly.
Key words: blind source separation; activation function; adaptive step-size; natural gradient algorithm
盲源分离(Blind source separation, BSS)是当前信号处理学界和神经网络学界共同的热点研究课题之一,在无线通信、雷达、图像、语音、医学以及地震信号处理等领域具有广泛的应用。独立分量分析是解决盲源分离问题的最主要、最有效的方法,它是利用信号间的独立性从混合信号中分离出各种源信号。自然梯度算法作为最常用的独立分量分析(ICA)方法之一,以其相比标准梯度更快的收敛速度和更好的分离性能在盲源分离中占据着重要地位。自然梯度最早由Cichoki等[1]于1994年提出,后来,Amari等[2-4]从理论上证明了它的有效性。
与随机梯度算法相比,自然梯度算法不需要进行矩阵求逆运算,计算量小、复杂度低,而且数值稳定性也大大加强。但是,该算法的收敛速度和跟踪能力还有待提高。算法迭代步长的选择成为影响其收敛性与稳定性的关键。当传统的自然梯度算法应用于盲源分离时,由于步长参数是固定值,无法真正解决收敛速度和稳态误差之间的矛盾。因此,有必要采用步长自适应的方法,避免算法性能对步长的依赖,从而解决固定步长的内在矛盾。
大部分ICA算法成功的关键是对源信号的概率密度函数(pdf)作出正确的假设。若预先知道各源信号pdf均为超高斯函数或均为亚高斯函数时,总是归结为寻找一个与真实pdf接近又便于计算的解析函数作为对源信号pdf的估计,并由此求得算法中起关键作用的激活函数。
本文作者基于自然梯度算法,通过对算法中激活函数及学习步长的改进,提出一种新的语音信号盲分离算法。其基本思想是当算法的分离矩阵远离最优分离矩阵时,用一个较大的步长,加快其收敛速度;反之,用一个较小的步长,提高其稳态性能。采用试验仿真验证算法的有效性。
1 盲源分离及自然梯度算法
1.1 盲源分离
盲源分离是指从若干观测到、多个信号的混合信号中恢复无法直接观测的原始信号的方法。由于原始信号分别来自不同的信号源,因此,认为源信号相互独立。假设n个来自信号源的统计信号Si(t)(i=1,2,…,n)经线性瞬时混合,得n个混合信号(或称观测信号):
(1)
式中:aij为混合系数。式(1)可用矢量表示为:
(2)
式中:为n×1阶未知源信号矢量,x(t)为n×1阶已知混合信号矢量,A是n×n阶未知混合矩阵。
盲源分离就是仅由s(t)各分量Si(t)(i=1,2,…,n)的统计独立性假设和观测到的混合信号x(t)来恢复(或分离)源信号s(t)的过程。为此,设置n×n阶的分离或解混矩阵W,使
(3)
其中:y(t)称为估计信号或分离信号。若由某种学习算法得到的W能令全局矩阵G=I(I为n×n维单位矩阵),则y(t)=s(t),从而达到恢复源信号的目的。
盲源分离算法包括两个方面:优化判据(目标函数)和寻优算法,即学习时首先建立一个以W为变元的目标函数,若某个能使达到极大(小)值,则该即为所需的解;其次是寻找一种有效的算法求解。
盲源分离问题的解存在2种内在的不确定性[5]:(1) 估计信号排列顺序的不确定,即无法了解所恢复的各个信号分量yi对应于si(t)中的哪个分量;(2) 信号尺度(波形复幅值)的不确定性,即由x无法恢复信源信号s的真实波形,为了消除这一点,最自然的方法就是约定各源信号具有单位方差(即),此时s的自相关阵为单位阵。
1.2 自然梯度算法
Bell和Sejnowski[6]首先将信息最大原理应用于盲分离问题。他们证明:一个神经网络输出的联合嫡最大,近似于输出分量之间的互信息最小,当输出的互信息为0时,输出变量是统计独立的,混合的源信号分离。Bell和Sejnowski[6]提出的自适应算法是
(4)
其中:μ(k)为步长因子;激活函数φ(y)是非线性奇函数。该算法的缺点是,收敛性受混合矩阵A的影响很大。
盲信源分离的自然梯度算法首次由Bell和Sejnowski[6]提出,后来由Amari等[7]修正,神经网络权更新矩阵W为:
(5)
自然梯度自适应算法有2个重要特性:一是算法不受混合矩阵的影响;二是算法阻止分离矩阵W变为奇异阵,从而加快了算法的收敛速度。
2 基于变步长的自然梯度算法
基于自然梯度的盲源分离算法用于语音分离时又可称为基于自然梯度的语音盲分离算法。其原理见 图1。
图1 基于自然梯度算法的语音盲分离算法原理框图
Fig.1 Principle diagram based on natural gradient algorithm speech separation algorithm
2.1 算法中的非线性函数的选择
非线性函数不仅限制步长因子的大小,而且非线性函数的选择会对算法的稳定性产生直接影响。在理想情况下,非线性函数应该选取源信号的Source函数,然而在盲分离算法实际应用中,不可能得到Source函数。但在一般情况下当非线性函数和源信号Source函数的差别较小时,算法可以达到收敛。在文献[1,7-8]中,选择激活函数
(6)
本文作者选择正切激活函数
(7)
以下仿真部分将用这2种激活函数对自然语音信号分别进行语音信号的盲分离实验,并对其性能进行比较。
2.2 算法中步长自适应控制参数的选择
式(5)中,μ(k)的大小影响算法的收敛速度及稳定性;在盲分离的自适应算法中,步长的选择对算法的收敛起着关键的作用。较好的方法是采用随时间变化的学习速率改变步长,从而达到收敛速度和稳态性能的最佳结合点。因此,任何时变步长处理的目的都是增加步长到一个较大的稳定值以达到最快收敛,而当这些参数达到最佳收敛点的邻域时,则相应减小步长从而降低失调误差。由此可以看出,这里所述的收敛,其实是指因抖动而无法进一步收敛的邻域,即稳态邻域。分离矩阵W收敛于一定的稳态邻域,但分离矩阵W并未能收敛于一个固定的值。
因此,考虑利用分离矩阵W与最佳分离矩阵Wopt的距离来调整步长[9]。由于Wopt并不能预知,因此,可以用其他类似的方式代替。取
(8)
式中:||·||为Frobenius范数。
盲源分离的目的在于搜索满足式(5)的最优矩阵Wopt使得
(9)
在自适应的过程中,如果?W(k)增大,则说明步长太大,出现了动荡,因此需要减小步长;相应地,如果?W(k)进一步减小,说明还没有达到Wopt,为了加快收敛,则可增大步长。步长更新表达式可描述为:
(10)
由于指数函数具有很好的收敛效果,在指数小的时候变化明显,随着指数增大趋于稳定,α(k)的变化呈指数形式递增或递减会有很好的收敛效果。因此,参数α根据以下原则取值:
(11)
其中:。参数β用于控制达到收敛时的稳态误差,参数γ用于控制收敛速度。根据本文提出的变步长自适应算法,新的变步长自然梯度算法可描述为:
(12)
3 仿真结果及分析
实验采用4个语音源信号,时间为5 s,采样率为10 kHz,共50 000个采样点。仿真时首先对信号进行零均值及白化预处理[9],初始W(0)=0.5I,混合矩阵
为了比较不同算法的分离效果,采用交叉谈话误差E来衡量算法的性能[9],定义如下:
(13)
式中:,表示系统的性能矩阵。
算法1:以式(6)为激活函数,使用固定步长μ(k)=0.002。
算法2:以式(7)为激活函数,仍然使用固定步长μ(k)=0.002。
算法3:以式(6)为激活函数,使用本文自适应步长μ(k+1)=α(k)μ(k),β和γ的参数选择为β=0.02和γ=0.4。
算法4:以式(7)为激活函数,使用本文自适应步长μ(k+1)=α(k)μ(k),β和γ的参数选择为β=0.02和γ=0.4。
仿真结果如图2~7所示。
图8所示为交叉谈话误差曲线。从实际效果来看,4种算法都能较好地实现语音分离的效果。无论采用固定步长还是自适应步长,本文作者所提出基于正切函数的非线性激活函数完全适用于语音信号的盲源分离。盲分离算法对于非线性激活函数的依赖性并不敏感,在采用同样步长的前提下,2种激活函数在性能上的区别很小,算法1和算法2的曲线近乎重合,而算法4的性能也只是略好于算法3。
使用本文作者提出的自适应步长后,与固定步长的自然梯度算法相比,无论采用本文作者提出的何种非线性激活函数,分离性能均得到了大幅提高,从而说明所提出的自适应步长是有效的。
图2 源信号波形s
Fig.2 Source signal waveform s
图3 混合信号波形x
Fig.3 Mixed signal waveform x
图4 分离的信号波形y(算法1)
Fig.4 Signal waveform after separation y (Algorithm 1)
图5 分离的信号波形y(算法2)
Fig.5 Signal waveform after separation y (Algorithm 2)
图6 分离的信号波形y(算法3)
Fig.6 Signal waveform after separation y (Algorithm 3)
图7 分离的信号波形y(算法4)
Fig.7 Signal waveform after separation y (Algorithm 4)
图8 交叉谈话误差曲线
Fig.8 Cross talk error curve
4 结论
研究了基于正切激活函数的自然梯度算法的盲源分离问题,并在此基础上通过改进自适应步长提出了一种新的自适应自然梯度算法。4个语音源信号盲源分离的模拟实验结果显示,与其他几种算法相比,该算法具有更理想的收敛速度和稳态性能。
参考文献:
[1] Cichocki A, Unbehauen R, Moszczynski R, et al. Anewon-lineadaptive learning algorithm for blind separation of source signals[C]//Proc ISANN94. Taiwan, China, 1994: 406- 411.
[2] Amari S. Natural gradient works efficiently in learning[J]. Neural Computation, 1998, 10: 251-276.
[3] Amari S, Cichocki A. Adaptive blind signal processing: Neural network approaches[J]. Proc IEEE, 1998, 86: 2026-2048.
[4] Yang H H, Amari S. Adaptive on-line learning algorithms for blind sep-aration: Maximum entropy and minimummutual information[J]. Neural Computation, 1997, 7: 1457-1482.
[5] Comon P. Independent component analysis, a new concept?[J] Signal Processing, 1994, 36: 287-314.
[6] Bell A J, Sejnowski T J. An information-maximization approach for blind seperation and blind deconvolution[J]. Neural Computation, 1995, 7: 1126-1159.
[7] Amari S, Cichocki A, Yang H Y. A new learning algorithm for blind signal separation[C]//Proceedings of Advances in Neural Information Processing Systems. Cambridge, 1996: 757-763.
[8] Benesty J. An introduction to blind source separation of speech signals[C]//Proceedings of Acoustic signal processing for telecommunication. Boston: Kluwer Academic, 2000: 321-329.
[9] 裴学广. 基于变步长自然梯度算法的盲源分离[J]. 舰船电子对抗, 2007, 30(4): 65-68.
PEI Xue-guang. Blind source separation based on variable step length natural gradient algorithm[J]. Warship Electronic Counter, 2007, 30(4): 65-68.
(编辑 陈卫萍)
收稿日期:2011-04-15;修回日期:2011-06-15
基金项目:国家自然科学基金联合资金资助项目(10878017)
通信作者:汤宝成(1977-),男,辽宁丹东人,硕士研究生,从事盲信号处理研究;电话:13314192829;E-mail:paopaoqy@sohu.com