引入动量因子的双自适应自然梯度算法

2015-04-07 22:02刘辉罗彬

刘辉 罗彬

摘要 为克服自然梯度算法收敛速度和稳态误差之间的矛盾,提出了一种引入动量因子的双自适应自然梯度算法,该算法将动量因子分别引入到自然梯度算法的步长因子和分离矩阵中,并根据实时分离度自适应调整动量因子,从而在加快算法收敛速度的同时,降低稳态误差.仿真实验证明,提出的新算法的性能明显优越与固定步长和自适应步长自然梯度算法.

关键词动量因子;分离度;自然梯度;收敛速度;稳态误差

中图分类号TN9198文献标识码A文章编号10002537(2015)01005404

盲源分离(Blind Source Separation)简称BSS,是指在传输信道特性和源信号都无法准确获知的情况下,仅从观测信号分离出源信号的过程[1].它广泛应用于生物医学信号处理,语音信号识别,阵列信号处理,图像处理及移动通信等领域.

盲源分离算法可分为自适应算法和批处理算法[2],其中批处理算法是对所有已得数据进行批处理,由于批处理充分利用了所有观测样本信息,所以分离精度优于在线算法,但该算法在信源为超亚高斯混合分布或观测样本较少时分离精度有限,不适合数据的实时处理;自适应算法是利用梯度对分离矩阵进行串行更新,迭代逼近[3].常用的自适应算法包括自然梯度算法、EASI算法、迭代求逆算法等,它们均属于LMS算法,存在稳态误差和收敛速度之间的矛盾.本文在研究自然梯度算法的基础上,将动量因子引入到算法中,得到自适应步长的自然梯度算法,并通过引入动量项,进一步加快收敛速度,从而得出步长因子和动量项双自适应自然梯度算法[45].

1盲源分离概述

假设从m个传感器接收到的信号为x(t),忽略传输延迟及噪声影响,则接收信号和源信号可以表示为:

x(t)=As(t),

式中,x(t)=[x1(t),x2(t),…,xm(t)]T为观测信号,s(t)=[s1(t),s2(t),…,sn(t)]T为源信号,A为M×N阶满秩混合矩阵[6];盲源分离就是在仅知道观测信号x(t)的情况下,分离或估计出源信号s(t).

y(t)=Wx(t)=WAs(t)=Cs(t),

式中,y(t)是对源信号s(t)的估计,W为分离矩阵,C混合分离矩阵;盲源分离的目的就是使矩阵C接近于广义排列矩阵,使得y(t)=s(t),从而达到分离目的[7].因此混合分离矩阵C与标准广义排列矩阵的距离就可以作为评价算法优劣的标准,定义盲源分离的性能标准常使用串音误差PI作为评价标准[8].

PI=∑ni=1∑nk=1Cikmaxjcij-1+∑nj=1∑nk=1Ckjmaxjcji-1.

式中,maxjcij表示矩阵 C的第i行元素中最大值的绝对值;maxjcji表示第i列元素中的最大绝对值.PI值越小,说明分离效果越好,当PI=0时,信号完全分离.

2引入动量因子的双自适应自然梯度算法

2.1自适应自然梯度算法

自然梯度算法是盲源分离的主要方法,它首次由Bell和Sejnowski提出,并经Amari等人修正[9],其更新矩阵W为:

W(k+1)=μ(k)[I-f(y)yT(k)]W(k)+W(k),

可以看出,学习步长μ的大小直接影响分离效果,传统自然梯度算法常采用固定步长,这导致算法无法同时满足稳定性能和收敛速度的要求,解决这一矛盾的方法就是采用自适应的步长,使之与分离状态相联系,在分离的初始阶段采用较大的步长以加快收敛,在信号分离后采用较小的步长,以提高分离信号的精度.

盲源分离的目的是寻找最优分离矩阵,使得盲源分离处于稳态时:

W(k+1)≈W(k)=Wopt,

由于W(k)不等于0,所以当上式成立时,存在:

[I-f(y)yT(k)]→0,

因此,可以用[I-f(y)yT(k)]表示矩阵的分离状态[11],定义分离度sd(k)为:

sd(k)=‖I-f(y)yT(k)‖2F,

式中,‖·‖2F表示求矩阵的Frobonius范数,sd(k)的大小反映了分离的程度,当sd(k)=0时,信号彻底分离,所以可用sd(k)作为调整步长因子的参数,步长更新为:

μk + 1 = ηk ×μk ,

ηk=1+γe-αsd(k),sd(k)>sd(k-1)11+βe-αsd(k),sd(k)

式中,η为动量因子,控制步长的变化;γ控制收敛速度,且0<γ<1;β控制稳态误差,且0<β<1;α为比例因子.

2.2双自适应自然梯度算法

本文从BP神经网络算法中加入动量项使算法得到改进受到启发,为进一步提高算法的分离效果,在自适应自然梯度算法的基础上引入动量项,得到新的自然梯度算法:

W(k+1)=μ(k)[I-φ(y(k)T]W(k)+aΔW(k)+W(k).

式中,a为动量因子;ΔW(K)=W(k)-W(k-1)为动量项.为使算法收敛,a<1.可以看出,动量因子的大小对算法的收敛性有很大的影响,文献[12]研究表明,当动量因子取值较大时,收敛速度较快,但稳态误差也偏大,取值较小时,收敛速度变慢,稳态误差偏小.因此可采用动态的动量因子,使动量因子也自适应变化.

本文利用分离度sd(k)来控制动量因子,通过sd(k)的逐步减小,自适应的调整动量因子a的取值,由于步长μ作用于ΔW(K+1),动量因子作用于ΔW(K),所以动量因子用sd(k-1)来表示,a(n)与sd(k-1)的关系定义为:

a(n)=σ[1-eθ-sd(k-1)],

式中,σ控制a(n)的大小,θ控制a(n)的正负,适当地取θ值.

构造的动量项不仅能在算法初期起加速收敛的作用,而且在稳定阶段,动量项取负值,使稳态误差进一步降低.综上得出本文提出的引入动量因子的双自适应自然梯度算法:

W(k+1)=μ(k)[I-φ(y(k)T]W(k)+a(n)ΔW(k)+W(k).

新的算法通过将自适应项ηk和a(n)分别加入到步长因子和分离矩阵,进一步加快算法的收敛速度,降低稳态误差.

3仿真实验

为验证本文提出算法的有效性,利用Matlab进行仿真.实验采用的源信号分别为:

s1(t)=sign(sin(2π155t)),

s2(t)=sin(2π800t),

s3(t)=sin(2π90t),

s4(t)=sin(2π90t)sin(2π300t),

s5(t)为[-1,1]均匀分布的噪声信号.

其中,混合矩阵A在[-1,1]区间内随机生成的5阶方阵,采样点为4 000个,采样频率fs=104 Hz,初始矩阵W=0.5I,初始步长统一采用0.005,非线性函数φ(y)=y3.经验参数:σ=0.2,θ=1;分离前后的波形如图1和图2所示.

图1混合信号图2分离后的信号

Fig.1The mixed signals Fig.2The separated signals

算法的分离效果可以通过信干比(SIR)进行评判,信干比表示分离信号与源信号的偏差,因此,盲源分离精度可以用SIR表示:

SIRi=10logsi2si-i2,

式中,si为源信号,i为对应的分离信号.SIR越大,说明分离效果越好.

为进一步验证算法的优越性,将本文提出的算法与固定步长算法、步长自适应算法进行比较.分别从收敛速度、串音误差(PI)和信干比(SIR)分析算法的性能.其中算法的参数选择:

(1) 固定步长算法:μ0=0.005;

(2) 步长自适应算法:μ0=0.005,α=-1,β=0.4,γ=0.2.

经过仿真,3种算法的信干比、最终串音误差值和串音误差变化曲线如表1、表2和图3所示.

表13种算法的信干比

Tab.1The SIR of the three algorithms

算法s1s2s3s4

固定步长42357 835.957 527.826 130.152 8

自适应步长35.986 732.142 138.501 235.650 1

本文算法37.254 134.126 738.287 435.658 1

表23种算法的最终PI值比较

Tab.2The final PI value for three algorithms

固定步长自适应步长本文算法

2.055 40.558 20.394 2

图33种算法串音误差曲线对比图

Fig.3The comparison of crosstalking error for three algorithms

由表1可以看到,本算法的分离精度较高,分离效果较好;由图2可以定量地看出,本算法的收敛效果最好;由图3可知,从收敛速度来看,本文提出的算法在初始阶段有较快的收敛速度,在1 000次迭代左右时就达到稳定值,收敛速度明显快于另两种算法;从分离效果来看,稳定阶段,本文算法的PI值最低,收敛曲线较平滑,其次是自适应算法和固定步长算法,这是由于算法采用了动态的动量因子控制步长和分离矩阵,在均衡的过程中,随着误差的减小,动量项取负值,从而减小了稳态误差.本文提出的算法能显示出优越性能.

4结束语

本文在自适应自然梯度算法的基础上,引入动量因子,以实时分离效果为参数,自适应调整步长因子和动量项,不断优化分离效果.构成了一个双自适应自然梯度算法,通过仿真,验证了该算法有更好的收敛性能和稳态误差.

参考文献:

[1]史习智.盲信号处理 [M].上海:上海交通大学出版社, 2008.

[2]COMMON P. Independent component analysis, a new concept [J]. Signal Processing, 1994,36(3):287314.

[3]BARAK P, LUKAS P. Maximum likelihood blind source separation: A context sensitive generalization of ICA[J]. Neural Inf Process Syst, 1997,37(9):613619.

[4]付卫红,杨小牛.改进的基于变步长自适应的自然梯度盲源分离算法[J].华中科技学报, 2007,35(10):1820.

[5]CHAMBERS J A, JAFARI M G, MELAUGHLIN S. Variable stepsize EASI algorithm for sequential blind source separation [J]. Electron Lett, 2004,40(6):393394.

[6]侯春燕.基于盲源分离的自适应噪声控制及算法研究[D].哈尔滨:哈尔滨工程大学, 2008.

[7]ERDOGMUS D. Blind source separation using renys mutual information [J].Signal Process Lett IEEE, 2001(8):174176.

[8]裴学广.基于变步长自然梯度算法的盲源分离[J].舰船电子对抗, 2007,30(4):6568.

[9]许少华.一种改进的双链量子遗传算法及其应用[J].计算机应用研究, 2010,27(6):20902092.

[10]薛伟,杨小牛,张朝阳.一种改进的加权多模盲均衡算法[J].系统仿真学报,2011,23(3):451455.

[11]吕淑平,祝捷.一种改进的自适应混合神经网络盲分离算法[J].计算机应用研究, 2013,30(4):10551057.

[12]CICHOCHI A, UNBEHAUEN R. Robust neural networks with online learning for blind identification and blind separation of sources [J].IEEE Trans on Circuit and systems: Fundamental Theory and Applications, 1996,43(11):894906.

[13]张艳萍,崔伟轩.引入动态动量因子的共轭梯度多模盲均衡算法[J].河南科技大学学报:自然科学版, 2013,34(3):4045.

(编辑陈笑梅)