王蓮子,李鐘曉,陳倩倩,莊曉東
(青島大學 電子信息學院,山東 青島 266071)
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嵌入字典學習,提出一種基于信號子空間低維表征的快速字典學習算法,結果表明,新算法可以較快運行速度獲取高性能字典。
信號具有稀疏性是壓縮感知的前提及基礎,多數信號本身不具備稀疏性,只在字典下可進行稀疏表示。信號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)
然而,迭代學習中的稀疏求解及奇異值分解階段常伴隨高數據處理量,訓練目標維數擴張易引發特征冗余和系統復雜,因此,消除冗余信息可有效提高系統時間及空間利用率。
PCA是一種經典信號去相關和降維技術,將原數據轉為非相關性向量,將高維特征空間映射到低維特征空間并以更小維度展示數據特性,其主要步驟如下[19~21]

3)取前t個最大特征值對應的特征向量,標準化后組成特征矩陣W={W1,W2,…,Wt}
4)生成子空間y′∈R(t×m)
文獻[22]表明,通過PCA技術可壓縮原始數據生成捕捉信號特性的低維子空間,以子空間為學習對象可有效消除樣本冗余信息。
本文利用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
為驗證本方法普遍性及有效性,分別對語音與圖像信號處理,并與K-SVD對比分析學習性能,以稀疏性、均方根誤差(RMSE)、運行時間作為性能評價標準,現對稀疏性定量處理,計算模型如下
(7)
在子空間低維表征階段,特征抽取閾值λ選取較為關鍵,λ決定子空間矢量長度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′低維狀態下,保證較優性能的同時最快程度獲取訓練字典。
本研究運行環境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相比,基于信號子空間低維表征的快速字典學習算法具有更好降噪質量。
單音素語音結構特性統一且能量集中,張成子空間能準確代表原信息,在利用快速字典學習算法處理時效果明顯。多音素語音結構復雜且能量變化頻繁,在篩選主要屬性時易去除某些貢獻率相對較小但影響發音質量的音素。此外,多音素語音冗余成分較少,張成子空間并沒有得到大幅度壓縮,速度提升并不明顯。本文對基于信號子空間低維表征的快速字典學習算法改進,提出基于快速字典學習的小字典學習方法,其數學模型如下
Ψ(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 多音素信號在兩種方法下的性能對比
針對字典學習中訓練樣本特征冗余導致學習效率低的問題,提出了一種基于信號子空間低維表征的快速字典學習算法。該方法將高維信號映射到低維子空間,利用子空間捕捉原信號特征并作為訓練樣本,通過特征變換獲取原信號字典。實驗數據表明:與K-SVD算法相比,快速字典學習算法以提高近50 %的學習效率獲取具有優秀稀疏表示和降噪性能的字典;針對多音素語音信號結構特性復雜的情況,對快速字典學習算法改進,提出一種小字典學習方法,其運行速度至少提升1/3,從研究結果的定性與定量分析中得出,基于信號子空間低維表征的快速字典學習是一種有效且擁有較強應用前景的學習算法。