基于信号子空间低维表征的快速字典学习算法*
2022-08-30王莲子李钟晓陈倩倩庄晓东
王莲子,李钟晓,陈倩倩,庄晓东
(青岛大学 电子信息学院,山东 青岛 266071)
0 引 言
2006年,Donoho D L等人提出压缩感知,为信号处理技术带来革命性突破[1]。在理论数学、信号处理、图像与视频处理等方面得到广泛应用[2],而构造合适字典,实现信号最优稀疏表示是压缩感知中的关键。构造字典方法分为固定字典法和训练字典法,固定字典实现简单,但原子形态单一,应用有局限,常用的训练字典法有最优方向法(method of optimal directions,MOD)[3]以及K奇异值分解(K-singular value decomposition,K-SVD)算法[4]。相比于MOD,K-SVD计算复杂度有所降低,并逐渐成为研究热点。但当前K-SVD仍存在学习时间过长的问题,并引起了许多学者的注意。文献[5]在字典更新以及稀疏表示阶段提出DUC(dictionary update cycle)算法和CoefROMP(coefficient reuse OMP)算法,有效减少K-SVD训练目标,提升训练效率;文献[6]在稀疏表示阶段采用迭代阈值算法,用TL1范数代替L0范数,获得较快稀疏编码速度。
上述方法均对K-SVD中稀疏表示以及字典更新阶段改进,却忽略高维度训练样本的问题。通过减少训练维度可有效提升学习效率,而字典学习本质是信号特征针对性训练,在有效筛选和抽取高维信号特征时,往往涉及数据降维技术。常用的降维技术包括主成分分析(principal component analysis,PCA),独立成分分析(independent component analysis,ICA)[7],t分布随机近邻嵌入(t-distributed stohastic neighbor embedding,t-SNE)[8]等。文献[9~11]表明,PCA与字典训练的有效融合可提升学习精度,但并没有降低系统复杂度提高学习效率。
本文将PCA嵌入字典学习,提出一种基于信号子空间低维表征的快速字典学习算法,结果表明,新算法可以较快运行速度获取高性能字典。
1 字典学习与PCA
1.1 稀疏表示与字典学习
信号具有稀疏性是压缩感知的前提及基础,多数信号本身不具备稀疏性,只在字典下可进行稀疏表示。信号y∈R(n×m)的稀疏表示模型如下[12~14]
y=DC
(1)
式中 稀疏字典D=[d1d2…ds]∈R(n×s),原子矢量长度为n。C∈R(s×m)为y在D上的稀疏系数,其稀疏性一般以L0或L1范数衡量。稀疏求解方法有正交匹配追踪(orthogonal matching pursuit,OMP)算法,匹配追踪(matching pursuit,MP)算法等,本研究选择OMP算法作为求解方法以获取较快收敛速度[15]。
K-SVD是一种经典学习算法,同时也是一种迭代算法,将数据矩阵y分解为具有符合数据特性的字典D以及稀疏系数C,其分解模型如下[16~18]
(2)
然而,迭代学习中的稀疏求解及奇异值分解阶段常伴随高数据处理量,训练目标维数扩张易引发特征冗余和系统复杂,因此,消除冗余信息可有效提高系统时间及空间利用率。
1.2 PCA子空间分析
PCA是一种经典信号去相关和降维技术,将原数据转为非相关性向量,将高维特征空间映射到低维特征空间并以更小维度展示数据特性,其主要步骤如下[19~21]
3)取前t个最大特征值对应的特征向量,标准化后组成特征矩阵W={W1,W2,…,Wt}
4)生成子空间y′∈R(t×m)
文献[22]表明,通过PCA技术可压缩原始数据生成捕捉信号特性的低维子空间,以子空间为学习对象可有效消除样本冗余信息。
2 基于信号子空间低维表征的快速字典学习算法
本文利用PCA筛选信号主要特征,提出一种基于信号子空间低维表征的快速字典学习算法。本方法新算法主要分为三部分:1)子空间低维表征阶段;2)样本目标训练阶段;3)字典特征变换阶段。在子空间低维表征阶段,原数据y(n×m),通过PCA设最佳阈值λ生成张成子空间y′∈R(t×m)表征原始信号
(3)
在样本目标训练阶段,以y′为训练样本,利用式(2)学习子空间字典Dt以及稀疏系数Ct,式(1)表明,y′可进行稀疏表示,现将式(3)与式(1)结合
(4)
(5)
式中WT为单位正交矩阵,则(WT)T(WT)近似单位矩阵,式(5)近似表示为
(6)
在特征变换阶段,Dt为y′的训练字典,本身可代表原信号重要属性。将Ct作为临时稀疏系数,利用特征矩阵WT对Dt作变换得到符合原信号主要特性的原始字典D,利用OMP进一步求得稀疏系数。基于信号子空间低维表征的快速字典学习算法步骤简化如下:
输入:原始信号y(n×m)
1)y(n×m)进行PCA处理,利用子空间y′∈R(t×m)表征原信号
2)y′为训练样本,学习子空间字典Dt以及稀疏系数Ct
3)固定Ct,对Dt特征变换,原始字典D=(WT)TDt
4)重新获取稀疏系数C
输出:稀疏系数C,学习字典D
3 快速字典学习算法仿真实验
为验证本方法普遍性及有效性,分别对语音与图像信号处理,并与K-SVD对比分析学习性能,以稀疏性、均方根误差(RMSE)、运行时间作为性能评价标准,现对稀疏性定量处理,计算模型如下
(7)
3.1 子空间低维表征
在子空间低维表征阶段,特征抽取阈值λ选取较为关键,λ决定子空间矢量长度t及原信息表征程度。针对不同信号,λ取值较为不同,以语音信号/a/,/i/,/h/为例,采样频率16 kHz,帧长128 ms,帧移32 ms,一般选取λ≥97 %。表1为语音信号在不同λ下t取值。
表1 在不同λ下语音信号子空间矢量长度
由表1看出,当λ取值100 %,原信号不进行子空间低维表征处理。随着λ增大,t随之增大同时可越精确表征原信号;经PCA处理后,t最少为原信号1/7,以86.7 %的数据压缩率包含原信号97 %以上信息,由此可见,子空间可以较小矢量长度持有原信号重要属性。
本文对多个单音素测试,比较不同λ下快速字典学习算法的运行时间,RMSE,稀疏性度量K。图1表示/a/,/i/,/h/在不同λ下各学习性能的变化曲线。
图1 语音音素在不同λ下各学习性能的变化曲线
由图1可以看出,λ越大,运行速度逐渐降低;y′表征原信号越精确,基于快速字典学习算法的RMSE逐渐减小;在稀疏性方面,K保持在相对稳定数值,受阈值影响小。因此,为有效权衡不同λ下学习性能,对运行时间、RMSE以及稀疏性K进行加权比较,选取最优阈值可使新方法基于y′低维状态下,保证较优性能的同时最快程度获取训练字典。
3.2 快速字典学习算法的性能分析
本研究运行环境Windows 7,MATLAB 2014b,语音样本数据在安静环境下录制,采样频率16 kHz,帧长128 ms,帧移32 ms,训练字典Ds∈R(128×256);因语音信号结构多样性及时变性,将单音素与多音素信号分开处理,表2为单音素在2种算法下学习性能对比。
表2 语音音素在2种算法下性能对比
在图像处理中,选取纹理图像作为测试图像,如图2所示,图像分块向量化矩阵为16×16,图像训练字典Di∈R(256×1 024),表3为测试图像在两种算法下学习性能对比。
图2 测试纹理图像
由表2、表3知:与K-SVD相比,快速字典学习算法的 RMSE均保持在同一数量等级,在至少包含90 %重要信息下,快速构造出具有稳定稀疏表示能力的原始字典,保证学习可靠性,同时极大提升训练效率;在语音处理方面,快速字典学习算法在运行时间上减少近1/2;而图像处理速度则至少提升53 %。利用新算法处理信号时,以子空间为训练对象降低样本特征冗余度,使得结构更加紧凑,避免了在学习阶段形成较高计算复杂度。
表3 测试图像在两种方法下性能对比
为进一步证明新方法应用价值,以语音/i/为处理对象,添加采样频率为16 kHz的随机噪声,比较两种方法处理下的输出信噪比(signal to noise ratio,SNR)及对数谱失真测度(logarithmic spectral distortion measure,LSD),其中输出SNR越大,LSD越小,表明语音增强质量越好。图3表明,在不同输入SNR情况下,快速字典学习算法的输出信噪比高于K-SVD,其LSD也均低于原算法。
图3 含不同输入信噪比的语音音素/i/降噪性能对比
因为在降噪过程中,相比于纯净信号,噪声幅度小,结构散乱,在整体信号中占次要成分,而新算法有2次噪声过滤阶段:1)子空间生成阶段:设置最优特征抽取阈值,过滤次要成分噪声;2)字典学习阶段:放弃训练与噪声相适应原子,在信号重构时消除。因此,与K-SVD相比,基于信号子空间低维表征的快速字典学习算法具有更好降噪质量。
3.3 快速字典学习算法的多音素处理/小字典学习方法
单音素语音结构特性统一且能量集中,张成子空间能准确代表原信息,在利用快速字典学习算法处理时效果明显。多音素语音结构复杂且能量变化频繁,在筛选主要属性时易去除某些贡献率相对较小但影响发音质量的音素。此外,多音素语音冗余成分较少,张成子空间并没有得到大幅度压缩,速度提升并不明显。本文对基于信号子空间低维表征的快速字典学习算法改进,提出基于快速字典学习的小字典学习方法,其数学模型如下
Ψ(Y)=Ψ(Y1Y2…Yp)=[Ψ(Y1)Ψ(Y2)…Ψ(Yp)]
=[D1D2…Dp]=D
(8)
将多音素Y按结构划分P个特性统一分割矩阵,Y=[Y1Y2…Yp],Ψ(Y)表示对Y进行基于信号子空间低维表征的快速字典学习算法处理,得小字典[D1D2…Dp],多个小字典按相应分割形式组合成原信号学习字典D。考虑到在多音素中,单个音素持续时间为16~32 ms,结合多音素信号时域波形情况分析,将其按照64 ms帧长,32 ms帧移处理。以下为[Face],[Statistics],[Mathematics]的小字典学习方法与K-SVD性能对比。
由表4说明,小字典学习法利用信号结构特性,减少音素丢失可能性;与K-SVD相比,小字典学习法在计算速度方面提升效果明显,训练时间至少减少1/3;从稀疏性以及RMSE分析看出,训练字典稀疏表示性能优秀可靠。由此说明,在具有复杂结构的多音素学习中,小字典学习方法有较好处理效果,改进后的快速字典学习算法同样适用于结构特性多样,能量变化较快的多音素语音。
表4 多音素信号在两种方法下的性能对比
4 结束语
针对字典学习中训练样本特征冗余导致学习效率低的问题,提出了一种基于信号子空间低维表征的快速字典学习算法。该方法将高维信号映射到低维子空间,利用子空间捕捉原信号特征并作为训练样本,通过特征变换获取原信号字典。实验数据表明:与K-SVD算法相比,快速字典学习算法以提高近50 %的学习效率获取具有优秀稀疏表示和降噪性能的字典;针对多音素语音信号结构特性复杂的情况,对快速字典学习算法改进,提出一种小字典学习方法,其运行速度至少提升1/3,从研究结果的定性与定量分析中得出,基于信号子空间低维表征的快速字典学习是一种有效且拥有较强应用前景的学习算法。