高 暢,孫 杰
(燕山大學 信息科學與工程學院,河北 秦皇島 066004)
通過字典對信號進行稀疏表示,可以獲取信號的簡潔表示,有利于信號的后續(xù)處理,并降低信號處理的成本,這已成為信號處理領域重要的方法[1],特別是在音頻信號處理領域中已經有很廣泛的應用,例如音頻信號的壓縮[2]、去噪[3]和分類[4-5]等.
音頻數(shù)據(jù)采集場景(包括話者、話者情感以及話者所處環(huán)境、狀態(tài)等)的不同會造成數(shù)據(jù)分布有很大不同[6-8],從而對基于字典的音頻信號稀疏表示的泛化能力造成較大影響.例如,由疾病引起的聲音變異與正常聲音信號的數(shù)據(jù)分布差別很大,在基于稀疏表示的處理方法中,通過正常聲音信號得到的字典難以得到有效的稀疏表示結果,從而對后續(xù)的處理造成影響.因此,研究具有可遷移性以及具有更好效果和更高效率的稀疏表示字典對提升音頻信號的稀疏表示性能具有重要意義.
最簡單和直接的字典獲取方式是通過預先定義的符合某類信號特性的1組過完備的基函數(shù)構成字典,如Gabor[9]和離散余弦變換(Discrete Cosine Transform, DCT)字典.此外,也可以將若干已存在的變換矩陣連接在一起,構成聯(lián)合字典,也稱為結構字典,如傅里葉變換和離散余弦變換等正交變換矩陣.這種字典的構造方法中,基函數(shù)的形式及參數(shù)是事先確定的.然而,信號的多變性使基函數(shù)無法與信號特性完全匹配時,基于這種字典的稀疏表示存在表示系數(shù)稀疏度高的問題.
為了使字典中的原子具有更好地表示信號特性的能力,可以通過從大量原始信號構成的訓練數(shù)據(jù)中學習用來表示信號特性的原子,這種基于學習的方法得到的字典更符合信號固有的特性,信號的稀疏系數(shù)具有更低的稀疏度,如最優(yōu)方向法(Method of Optimal Direction, MOD)[10]和KSVD(K-means Singular Value Decomposition)[11]法.這種方法學習的字典泛化能力較差,即當音頻數(shù)據(jù)的采集場景發(fā)生變化時,需要重新學習字典,嚴重影響了實際應用.
本文提出可遷移的稀疏表示字典(Tansferable Sparse Representation Dictionary, TSRD)的學習方法,利用經驗模態(tài)分解(Empirical Mode Decomposition, EMD)[12]得到的本征模態(tài)函數(shù)(Intrinsic Mode Function, IMF),與原始音頻信號聯(lián)合進行字典學習.由EMD分解得到的IMF,它本質上是1種信號內部固有的震蕩模式,是信號最本質的特征[12],因此,學習到的TSRD可以實現(xiàn)稀疏表示的遷移;同時,IMF具有高效性、完備性、自適應性和近似正交性[12],從而使TSRD稀疏表示的效率更高,效果更好.
信號的稀疏表示就是對如下問題進行求解:
(1)
(2)
式中: ‖·‖0為l0范數(shù),表示向量中非零值的個數(shù);x為原始信號;D為稀疏表示字典;α為稀疏表示系數(shù);ε為誤差項.字典學習的目的是找到1個字典,基于這個字典可以通過求解式(1)和式(2)所示的問題對信號進行稀疏表示.
本文提出TSRD學習方法,首先,對信號進行分幀;然后,基于EMD方法對各幀進行分解,將分解得到的成分作為每幀信號的本質特征;對所有本質特征進行聚類,得到初始字典;在字典學習階段,提出基于信號本質特征與原始音頻信號的字典聯(lián)合學習方法,由信號的本質特征學習得到的字典具有可遷移性,在此基礎上,通過利用音頻信號進一步對字典進行優(yōu)化,提高TSRD的稀疏表示效果和效率.
音頻信號本質上是由很多個不同的正弦波復合而成的,因此,這些正弦波可以被認為是音頻信號的本質特征.然而,重構信號所需的正弦波往往數(shù)量十分巨大,實際應用中很難處理.本文提出基于EMD的音頻信號本質特征的提取方法.EMD可以將信號分解成少量的IMF和余量信號的線性組合,如
(3)
式中:x(t)表示信號;S表示分解得到的IMF分量的個數(shù);rS(t)為余量成分.
EMD提取IMF的過程是1個篩選的過程,具體流程如下所述.
1) 分別用光滑的3次樣條函數(shù)連接信號x(t)的所有極大值點組成上包絡xup(t),連接所有極小值點組成下包絡xlow(t);
2) 計算差值d(t),即
d(t)=x(t)-(xup(t)+xlow(t))/2;
(4)
3) 重復執(zhí)行步驟1)和2),直到滿足初始設置的停止條件,即當前差值的過零值與極值相等或最多差1的情況連續(xù)出現(xiàn)指定的次數(shù)(本文中設為6),此時記d(t)為第1個IMF,記為c1(t),計算殘差量r1(t),即
r1(t)=x(t)-c1(t);
(5)
4) 將r1(t)視為新的初始信號x(t),繼續(xù)執(zhí)行上面的篩選過程,直到所提取的IMF分量或殘差分量絕對值的積分值太小.
為了使字典的原子之間具有更低的相干度,提升字典的稀疏表示性能,同時使字典學習過程可以更快地收斂,本文提出基于聚類的初始字典構造方法,通過c均值聚類方法對各幀本質特征組成的訓練集(EF=(ef1,ef2,…,efP),其中P為訓練集中本質特征的數(shù)量)進行聚類,從而形成初始字典.
首先,計算訓練集中所有本質特征之間的相干度:
(6)
再次,假設學習字典的規(guī)模為D∈N×M,則將平均相干度最小的M個ef作為初始聚類中心,如果其中任意兩個ef的相干度高于它們各自的平均相干度,則用剩余的ef中平均相干度最小的ef,代替其中平均相干度較大的ef,直到這些字典中原子之間的相干度都低于它們各自的平均相干度,或沒有ef可供替換;
最后,以這些原子作為初始聚類中心,對所有ef進行聚類,將相干度作為相似性準則,最近鄰準則為聚類準則.
將最終的聚類中心作為初始字典的原子,完成字典的初始化.
在TSRD的學習過程中,本文提出1種字典聯(lián)合學習方法,分為字典學習和字典優(yōu)化兩個階段.在字典學習階段,以信號的本質特征為訓練集,學習對本質特征進行稀疏表示的字典,使字典具有可遷移性.在字典優(yōu)化階段,以原始音頻信號為訓練集,對字典進一步優(yōu)化,使其更加適合對音頻信號進行稀疏表示,從而提升TSRD字典的稀疏表示性能.
1.3.1 TSRD的字典學習
TSRD的字典學習是1個由稀疏表示與字典更新兩個階段組成的迭代過程,在稀疏表示階段,字典保持固定,使用LASSO(Least Absolute Shrinkage and Selection Operator)算法對信號進行稀疏表示;在字典更新階段,稀疏表示系數(shù)不變,通過奇異值分解(Singular Value Decomposition, SVD)方法對字典進行更新.
1) 基于LASSO的稀疏表示方法
通過求解式(1)和式(2)所示的問題對訓練集中的信號進行稀疏表示,而求解l0范數(shù)是1個NP難問題,本文通過LASSO算法,用l1范數(shù)代替l0范數(shù),即絕對值之和小于某個常數(shù)的約束條件下,使殘差平方和最小化,從而使信號的稀疏表示系數(shù)中絕大多數(shù)系數(shù)嚴格等于0.
LASSO算法主要是對問題
(7)
進行求解,其中:u是稀疏表示的可行解;u*是使式(7)最小的u,即最終的稀疏表示系數(shù);DEF表示以信號本質特征為訓練集學習到的字典.
LASSO算法使式(1)和式(2)的求解問題變成1個凸問題,從而可以在全局優(yōu)化的基礎上對信號進行稀疏表示,因此,這種方法得到的稀疏表示系數(shù)具有更高的重構精度.
由于篇幅所限,LASSO算法具體執(zhí)行過程請參考文獻[13].
2) 基于SVD的字典的更新方法
通過對字典的更新,使其對訓練集內的信號既要有盡量小的重構誤差,又要保證稀疏表示的稀疏度滿足約束條件.因此,本文基于SVD的方法對原始信號與重構信號之間的誤差進行分解,從而實現(xiàn)對字典中的原子進行更新.
在SVD方法中,對重構誤差的計算如下所示:
(8)
(9)
最后需要對字典中的每個原子進行歸一化,以防止由于原子被選中的原因使幅值過大,從而使該原子與當前信號的內積最大,而不是與當前信號最相關.
1.3.2 TSRD字典優(yōu)化
為了在保留TSRD可遷移性的同時,使其更加適用于音頻信號的稀疏表示,并進一步提升TSRD稀疏表示的效果和效率,本文提出在基于信號本質特征學習到的字典的基礎上,通過原始音頻信號構成的訓練集,對TSRD進行優(yōu)化,進一步提升字典的稀疏表示性能.
與信號一樣,字典中的原子也可以通過1個基字典進行稀疏表示[14],即
D=ΦA,
(10)
式中:D為稀疏表示字典;Φ為基字典;A為D中原子在Φ上的稀疏表示.本文把通過信號本質特征學習到的字典DEF作為基字典,即Φ=DEF.為了保留DEF的可遷移性,可以只對A進行調整,增強其自適應性,從而對字典D進行優(yōu)化,使其更加適用于音頻信號,如下所示:
(11)
式中:X為原始音頻信號構成的訓練集;Z為X在字典D上的稀疏表示;t為信號稀疏度;p為稀疏表示字典中原子的稀疏度.
字典優(yōu)化同樣也是由稀疏表示和字典更新兩個階段組成的迭代過程,其中稀疏表示與字典學習一樣采用基于LASSO的方法,區(qū)別在于這里是對原始音頻信號組成的訓練集進行稀疏表示,而字典更新階段是通過對A的更新來實現(xiàn)字典中原子的更新,優(yōu)化算法的具體過程如下所述.
Algorithm1 TSRD優(yōu)化算法Input: 訓練集X,字典DEF,原子稀疏度p,信號稀疏度t,循環(huán)迭代次數(shù)K;Output: 稀疏表示字典D;1: Φ=DEF;2: 初始化稀疏表示稀疏矩陣A;3: for k=1 to K do4: 計算訓練集X中各幀的稀疏表示系數(shù): yi=arg miny‖xi-ΦAy‖22 s.t. ‖y‖00≤t,1≤i≤P;5: for j=1 to M do6: aj=0;7: 對X稀疏表示時用到了A中第j列的信號幀的下標構成集合I;8: g=YTj,I,其中Yj,I表示稀疏表示系數(shù)矩陣Y的第j行;9: 對g歸一化: g=g/‖g‖2;10: 計算殘差: e=XIg-ΦAYIg;11: 令a=argmina‖e-Φa‖ s.t. ‖a‖00≤p;12: 對a歸一化: a=a/‖Φa‖2;13: 更新aj: aj=a;14: 更新稀疏表示系數(shù): Yj,I=(XTIΦa-(ΦAYI)TΦa)T;15: end for16: end for17: return D=ΦA.
為了驗證TSRD的性能,本文從字典的可遷移性能、稀疏表示效果以及稀疏表示效率3個方面進行實驗,并與通過基于K-SVD和ODL(Online Dictionary Learning)字典學習方法構建的字典在性能上進行比較.為了方便比較,各種方法在字典學習中和對信號進行稀疏表示時,稀疏度約束設為Round(M/50),其中M為字典中原子的個數(shù).實驗中,訓練了原子數(shù)分別為512,768和1024的字典,稀疏度分別為11,16和21,并使用正交匹配追蹤(Orthogonal Matching Pursuit, OMP)算法對信號進行稀疏表示.
實驗中使用的語料主要來自兩個數(shù)據(jù)集: 哈爾濱工業(yè)大學語音處理實驗室錄制的DisEC(Discrete Emotional Corpus)情感語料庫和CCTV新聞聯(lián)播語料庫.音頻文件的格式均為wav,采樣頻率為16kHz,16bit量化,每幀256個采樣點,幀間交疊為128個采樣點.
DisEC情感語料庫是1個采集自兩位專業(yè)話者的公開的中等規(guī)模的表演型語料庫,包括高興、悲傷、憤怒和驚訝4種情感類型,共1256條語句,其中男性話者636句,女性話者620句.CCTV新聞聯(lián)播語料庫采集自不同時間的100個完整的新聞聯(lián)播,包括4位播音員的語料大約30000句左右.兩個語料庫之間話者不同(而且語料庫內部也存在不同的話者)、話者情感不同(前者中的語料富有更多的感情,而后者中的語料主要以中性情感為主)以及話者所處環(huán)境不同(前者的話者處于正常辦公室環(huán)境,后者的話者處于安靜的播音室環(huán)境),兩個語料庫屬于典型的采集場景不同而導致數(shù)據(jù)分布不同的情況.
為了驗證本文提出的TSRD的遷移性能,實驗中分別對不同話者之間和不同數(shù)據(jù)集之間TSRD稀疏表示效果進行評估,其中: 不同話者之間遷移性能評價在CCTV新聞聯(lián)播語料庫上進行;不同數(shù)據(jù)集之間遷移性能評價主要在DisEC情感語料庫和CCTV新聞聯(lián)播語料庫上進行.
在不同話者之間遷移性能的評價實驗中,我們從CCTV新聞聯(lián)播語料庫中每次選取1名不同話者的大約50句左右的語料,構成20000幀的訓練集進行字典的學習,其中M=1024,學習迭代次數(shù)為100.分別從4位話者的語料中隨機選取20條語料,構成含有5000幀的測試集,對測試集中的音頻幀進行稀疏表示并重構,計算原始信號與重構信號之間的信噪比λSNR,即
(12)
式中:x為原始信號;y為重構信號.
對訓練集和測試集為相同話者的原始信號與重構信號的平均信噪比與訓練集和測試集為不同話者的原始信號與重構信號的平均信噪比之間的差別程度進行比較,對不同方法學習到的字典的遷移性能進行評價,結果如圖1所示.
圖1 不同話者間字典的遷移性能比較Fig.1 Comparison of the transfer performance of dictionaries between different speakers
從圖1可以看出,基于TSRD對信號進行稀疏表示并重構,訓練集和測試集為不同話者時,原始信號與重構信號的信噪比與話者相同時的信噪比相比較,約有0.5dB左右的下降,而基于K-SVD和ODL字典時,信噪比約有2.8dB和3.2dB左右的下降.TSRD學習過程中用到了信號的本質特征,它的提取是自適應的,反映的是信號內部固有的震蕩模式,與話者無關,因此,TSRD具有更好的可遷移性.
本文還對TSRD跨數(shù)據(jù)集稀疏表示的遷移效果進行了評價.實驗中,從DisEC語料庫和CCTV新聞聯(lián)播語料庫各隨機選取60句語料,分別構成20000幀的訓練集進行字典學習,其中M=1024,學習迭代次數(shù)為100.同時,各隨機選取25句語料,分別構成5000幀的測試集.同樣通過對原始信號和重構信號的信噪比的差別程度進行比較來評價不同字典學習方法跨數(shù)據(jù)集的可遷移性能,結果如圖2所示.
圖2 不同數(shù)據(jù)集間字典的遷移性能比較Fig.2 Comparison of the transfer performance of dictionaries between different datasets
從圖2可以看出,基于TSRD對信號進行稀疏表示并重構,訓練集和測試集為不同數(shù)據(jù)集時,原始信號與重構信號的信噪比與訓練集和測試集相同時的信噪比相比較,約有0.8dB左右的下降,而基于K-SVD和ODL字典,信噪比約有3.4dB和3.6dB左右的下降.因此,TSRD具有更好的可遷移性.
本文主要從稀疏表示的效率和效果兩個方面對TSRD的稀疏表示性能進行評價.實驗中,從CCTV新聞聯(lián)播語料庫中隨機選取50條語料,構成20000幀的訓練集,另外隨機選取25條語料,構成5000幀的測試集,通過不同字典對測試集中的音頻信號幀進行稀疏表示,計算重構信號與原始信號之間的信噪比,結果如圖3所示.
圖3 原子數(shù)不同時原始信號與重構信號的信噪比Fig.3 SNR of original signal and reconstructed signal with different atomic number
從圖3中可以看出,基于TSRD對音頻信號進行稀疏表示并重構,原始信號與重構信號之間的信噪比明顯高于基于K-SVD和ODL字典的,在不同稀疏度的約束條件下,信噪比分別較K-SVD和ODL字典平均高約2.1dB和6.2dB.字典規(guī)模越大(原子數(shù)越大),信噪比越高,這是因為字典規(guī)模越大時,對音頻信號稀疏表示時系數(shù)中非零值的數(shù)量也越多,即參與重構的原子數(shù)越多,因此,信噪比更高,稀疏表示效果更好.通常,在信噪比為20dB時,可以認為重構信號與原始信號已非常接近,TSRD在原子數(shù)為768時,原始信號與重構信號之間的信噪比便已達到20dB,而K-SVD字典在原子數(shù)為1024時才達到,ODL字典始終沒有達到,因此,從效率的角度來看,本文提出的TSRD稀疏表示的效率更高,達到同樣的信噪比時所使用的字典規(guī)模更小,字典規(guī)模相同時,達到相同信噪比所使用原子數(shù)量更少.
本文針對音頻信號的稀疏表示問題,提出了1種可遷移的稀疏表示字典學習方法,給出了初始字典的選擇方法,提出了基于音頻信號本質特征與原始信號的字典聯(lián)合學習方法,通過音頻信號本質特征對字典進行學習,使字典具有可遷移性,并利用原始音頻信號對字典進一步優(yōu)化,使其更加適用于音頻信號的稀疏表示,通過實驗對本文方法學習的字典的可遷移性、稀疏表示效果和效率進行了評價.今后還需要對重構后信號的識別準確率進行評價,以驗證學習字典在保持信號內容上的效果.此外,還會將本文方法用于其他信號,如腦電信號,從而擴展方法的適用性.