陳美均,武欣嶸,鄭 翔,皮 磊
(陸軍工程大學(xué),江蘇 南京 210007)
盲信號提?。˙lind Source Extraction,BSE)源于經(jīng)典的雞尾酒會問題[1],研究如何從未知先驗(yàn)信息的混合信號中分離出特定目標(biāo)源信號的問題,是當(dāng)前信號處理領(lǐng)域的研究熱點(diǎn)。根據(jù)觀測信號數(shù)量N與待分離源信號數(shù)量M之間的關(guān)系,可以將盲源提取模型分為超定(M<N)混合模型、正定(M=N)混合模型和欠定(M>N)混合模型。其中,欠定混合模型與實(shí)際情況最貼合,更具有實(shí)際應(yīng)用意義。但是,早期盲信號處理的典型方法如獨(dú)立分量分析(Independent Component Analysis,ICA)都不適用于欠定混合模型。
Ozerov 等人提出多通道非負(fù)矩陣分解算法(Multichannel Non-negative Matrix Factorization,MNMF)[2],用于處理欠定混合模型的BSE 問題。該算法利用了多通道信號空間信息輔助進(jìn)行BSE,在低混響簡單場景的欠定BSE 問題可以取得較為理想的結(jié)果,但當(dāng)混響較高時無法以NMF 模型對源信號建模,致使算法結(jié)果不理想。
Nugraha 等人指出,可以利用深度網(wǎng)絡(luò)替代NMF 模型對源信號進(jìn)行建模[3]。Kameoka 等人提出了多通道變分自動編碼器(Multichannel Variational Autoencoder,MVAE)[4]的BSE 算法。該方法預(yù)訓(xùn)練條件變分自碼器(Conditional VAE,CVAE)[5]表示每個信號源的生成模型,將深度網(wǎng)絡(luò)表示能力用于源信號時頻圖建模,使基于深度網(wǎng)絡(luò)的數(shù)據(jù)驅(qū)動信號模型和具有可解釋性的迭代投影更新分離矩陣的盲源分離算法相結(jié)合。然而,MVAE 算法采用獨(dú)立低秩矩陣分析算法對部分參數(shù)進(jìn)行更新,使其只適用于正定混合模型的BSE 問題。
為解決欠定混合模型的BSE 問題,本文將以MVAE 為基礎(chǔ)的改進(jìn)算法擴(kuò)展MVAE 算法[6](Generalized MVAE,GMVAE)和基于X-vector 的說話人識別模塊[7]結(jié)合,構(gòu)建了一個兩步欠定盲信號提取算法,并引入了注意力機(jī)制,提升了識別準(zhǔn)確率。利用GMVAE 算法分離盲信號后,將輸出的估計信號利用X-vector 系統(tǒng)進(jìn)行目標(biāo)語音提取。本文利用500 人清晰語音數(shù)據(jù)集訓(xùn)練CVAE,以提高GMVAE 說話人無關(guān)的信號分離能力,并在X-vector系統(tǒng)引入自注意力計算機(jī)制,以增強(qiáng)特征提取時對關(guān)鍵幀的信息處理,并進(jìn)一步利用語音信號的自相關(guān)特性。
本文信號提取在短時傅立葉變換(Short-Time Fourier Transform,STFT)域中進(jìn)行。在時頻域中,卷積混合通常被近似地估計為每個頻帶線性瞬時混合模型。假設(shè)使用n個麥克風(fēng)陣列捕獲m個信號源的信號混合模型,如圖1 所示。
圖1 信號混合模型
信號經(jīng)過短時傅立葉變換到時頻域并忽略噪聲后,將接收信號與源信號關(guān)系以線性瞬時混合模型表示為:
式中:f、t分別為頻率與時間索引;sm(f,t)和xn(f,t)分別由第m個源信號和第n個觀測信號經(jīng)過STFT 得到;A(f)為n×m維混合矩陣。本文研究n<m的欠定混合情況。
在GMVAE 算法中,假設(shè)源信號符合局部高斯模型(Local Gaussian Model,LGM),即sm(f,t) 獨(dú)立服從方差為vm(f,t)=E[|sm(f,t)|2]的零均值復(fù)高斯分布:
當(dāng)m≠m′時,sm(f,t) 與sm′(f,t) 相互獨(dú)立,s(f,t)分布為:
式中,v(f,t) 為對角矩陣,其對角元素為v1(f,t),…,vm(f,t)。根據(jù)式(1)和式(6),可以得到x(f,t)分布為:
式中,(·)H表示共軛轉(zhuǎn)置。給定觀測信號x(f,t)時,混合矩陣A(f)與源信號模型參數(shù)v(f,t)的對數(shù)似然函數(shù)為:
若不對vm(f,t)施加約束條件,則式(8)將轉(zhuǎn)化為多個按頻率劃分的源分離問題。由于m的排列不會影響對數(shù)似然的值,此時混合信號的分離將存在排列歧義問題,因此需要在得到A之后進(jìn)行排列對齊,以解決排列歧義問題。
在MNMF 算法中,將式(7)中A(f)v(f,t)AH(f)改寫為:
式中,Rm(f)表示第m個源信號的空間協(xié)方差矩陣。MNMF 算法利用獨(dú)立向量分析的思想,通過將vm(f,t)建模為如式(10)所示Km個時變激活函數(shù)um,k(t)與頻譜模板hm,k(f)乘積的線性和,從而對vm(f,t)施加約束來解決估計信號的排列歧義問題。
假設(shè)每個源的所有頻譜模板都是共享的,以數(shù)據(jù)驅(qū)動的方式確定第k個頻譜模板對第m個源信號的貢獻(xiàn),式(10)也可改寫為:
式中,bm,k表示第k個頻譜模板的貢獻(xiàn)指標(biāo),滿足條件bm,k∈[0,1]且∑kbm,k=1。
MNMF 算法中包含迭代更新空間協(xié)防差矩陣R={Rm(f)}m,f、源模型參數(shù)H={hm,k(f)}m,k,f與U={um,k(t)}m,k,t估計。
由于MNMF 算法處理信號只能處理能以NMF模型表示的信號,當(dāng)信號頻譜模型不符合式(10)時,MNMF 算法不能完成信號處理任務(wù)。在GMVAE 中,使用預(yù)先訓(xùn)練好的條件變分自動編碼器(CVAE)替代式(10)。令表示源信號的時頻圖模型,GMVAE 利用帶有輔助輸入條件c的CVAE對其進(jìn)行建模。輔助條件c代表源信號的類標(biāo)簽,使用one-hot 向量進(jìn)行表示。
CVAE 包含了一組編解碼網(wǎng)絡(luò),在用于分離前使用有標(biāo)簽樣本進(jìn)行訓(xùn)練。編碼器分布為:
式 中,z表示隱層變量,和分別表示的第k個元素。
解碼器分布為零均值復(fù)數(shù)高斯分布:
圖2 為提出的BSE 算法GA-X-vector 流程示意圖。GA-X-vector 需進(jìn)行兩部分預(yù)訓(xùn)練,先訓(xùn)練CVAE 得到解碼器作為GMVAE 部分源模型,后利用通過基于注意力機(jī)制的特征提取模塊提取到的X-vector 訓(xùn)練得到概率線性判別分析(Probabilistic Linear Discriminate Analysis,PLDA)模型,用于信號提取判別。算法將兩通道信號作為輸入,經(jīng)過GMVAE 部分得到3 個估計信號,并對其進(jìn)行X-vector 提取操作后輸入PLDA 模型。根據(jù)參考信號的注冊信息利用PLDA 模型進(jìn)行判別,系統(tǒng)將輸出預(yù)提取的目標(biāo)信號。
圖2 GA-X-vector 算法流程
根據(jù)文獻(xiàn)[8],可以證明以下公式:
式(16)等號成立的條件為:
將式(16)右邊作為L的推廣,P={Pm(f,t)}m,f,t和K={K(f,t)}f,t是輔助變量。在對參數(shù)進(jìn)行更新時,通過插入softmax 層對cm進(jìn)行歸一化:
將dm作為待估計的參數(shù),G 更新公式如下:
X-vector 系統(tǒng)[9]是一種基于嵌入向量(embedding)由DNN 搭建的說話人識別系統(tǒng)。嵌入向量的本質(zhì)是由訓(xùn)練后的深度網(wǎng)絡(luò)提取到的說話人聲紋特征。此系統(tǒng)中將嵌入向量用X-vector 表示。X-vector提取網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。該網(wǎng)絡(luò)可以分為兩個模塊。第一個模塊為幀級別特征提取模塊,采用時延神經(jīng)網(wǎng)絡(luò)處理存在時序關(guān)系的語音信號幀,輸出幀級別說話人特征。模塊一的輸出經(jīng)過統(tǒng)計層計算均值與標(biāo)準(zhǔn)差,由幀級別特征過渡為語句級別特征輸入模塊二,即語句級別特征提取模塊的兩層全連接層中,將輸出輸入softmax 輸出層,最終輸出后驗(yàn)概率,其中輸出神經(jīng)元的個數(shù)和訓(xùn)練集的說話人個數(shù)一致。從全連接層中提取的特征向量即為說話人特征X-vector。
圖3 X-vector 提取網(wǎng)絡(luò)結(jié)構(gòu)
在傳統(tǒng)X-vector 系統(tǒng)中,統(tǒng)計層在計算均值與標(biāo)準(zhǔn)差時,認(rèn)為不同幀的權(quán)重相同和語音信號的每一幀重要性相同。Zhu Y 等人指出不同幀能提供的區(qū)分信息量是不同的[10],如同人耳對一段聲音的關(guān)注也有差異。本文在X-vector 系統(tǒng)的幀級別特征提取模塊與統(tǒng)計層間引入多頭自注意力機(jī)制,通過引入多頭自注意力機(jī)制來解決統(tǒng)計池化算過程語音幀特征權(quán)重相同的問題。自注意力機(jī)制是一種特殊的注意力機(jī)制,通過對序列本身進(jìn)行注意力計算,給不同元素分配權(quán)重來獲得序列內(nèi)部的聯(lián)系,而多頭的目的是關(guān)注信號的多個子空間信息。
圖4 為引入注意力機(jī)制后幀級別特征提取后到統(tǒng)計層的流程。
圖4 基于自注意力的統(tǒng)計層
引入自注意力機(jī)制[11]后,需要計算不同幀之間的權(quán)重。假設(shè)統(tǒng)計層輸入T幀H={h1,h2,…,hT},每幀特征維度為dh,H維度為dh×T,注意力機(jī)制中利用縮放點(diǎn)積注意力(Scaled Dot-product Attention,SDA)計算權(quán)重,計算式如下:
式中,Q、K、V分別為查詢向量、鍵矩陣和值矩陣,dk表示鍵的維度。分母中的對權(quán)重進(jìn)行縮放,防止向量維度太高時計算出的點(diǎn)積過大。在多頭自注意力機(jī)制中,有Q=K=V=H。對H做線性變換如下:
本文利用VoxCeleb1 數(shù)據(jù)集[12]進(jìn)行仿真分析。VoxCeleb1 數(shù)據(jù)集中數(shù)據(jù)屬于自然環(huán)境下的真實(shí)場景,全部音頻來源于YouTube 網(wǎng)站,是真實(shí)的文本無關(guān)的英文語音數(shù)據(jù)集。數(shù)據(jù)集內(nèi)涉及場景多樣,男女性別比例均衡,年齡、職業(yè)、口音等都具有多樣性。該數(shù)據(jù)集音頻的采樣率為16 kHz,格式為16 bit單聲道的wav文件。語音中帶有真實(shí)場景噪聲。
實(shí)驗(yàn)?zāi)繕?biāo)為從兩個觀測信號中分離出3 個源信號并提取出目標(biāo)語音信號。利用RIR-Generator[13]工具準(zhǔn)備測試用的混合信號數(shù)據(jù),圖5 展示了在混合源信號得到待處理信號時,信源與麥克風(fēng)的模擬位置。“+”表示麥克風(fēng),“○”表示信號源。測試用兩通道混合語音信號采樣頻率為16 kHz,短時傅立葉變換幀長為256 ms,跳長為128 ms。
圖5 麥克風(fēng)與信號源位置示意
針對本文提出的提取算法實(shí)驗(yàn)分析,目標(biāo)信號提取質(zhì)量評價主要使用BSS_Eval 工具[14],評估指標(biāo)為信號失真比(Signal-to-Distortion Ratio,SDR)、信號干擾比(Signal-to-Interference Ratio,SIR)以及系統(tǒng)誤差比(Sources-to-Artifacts Ratio,SAR),使用等錯誤率(Equal Error Rate,EER)評價目標(biāo)語音提取存在誤判的情況。
圖6 展示了一組由本文提出算法提取的目標(biāo)信號與干凈源信號的時頻圖對比。可以看出,算法提取出的目標(biāo)信號與源信號相似度極高,提取效果良好。
表1 展示了所提算法提取信號質(zhì)量與基準(zhǔn)模型的評估指標(biāo)對比,對比采用的基準(zhǔn)模型為基于使用式(10)作為源模型的MNMF-X-vector 系統(tǒng)結(jié)合的盲信號提取算法。GMVAE-X 表示GMAVE 與傳統(tǒng)X-vector 系統(tǒng)結(jié)合算法,實(shí)驗(yàn)混響時間T60分別設(shè)置為78 ms 和351 ms。從表1 可以看出,與基準(zhǔn)模型相比,應(yīng)用GMVAE 的BSE 算法在各項(xiàng)指標(biāo)都優(yōu)于基于MNMF 的BSE 算法,各項(xiàng)指標(biāo)提高2 dB。尤其在較高混響條件下,GA-X-vector 算法提取質(zhì)量也高于基準(zhǔn)算法在低混響條件下的提取質(zhì)量??梢?,利用VAE 建模提升了信號提取質(zhì)量,增強(qiáng)了對復(fù)雜場景的盲信號處理能力,且表1 中數(shù)據(jù)也體現(xiàn)了增加注意力機(jī)制可以提升目標(biāo)信號提取的質(zhì)量。
圖6 源信號與提取出目標(biāo)信號時頻圖
表1 目標(biāo)信號提取質(zhì)量比較
表2 反映了所提的多頭注意力算法中注意力頭數(shù)量對信號提取準(zhǔn)確率的影響,其中attn-k 中k表示自注意力機(jī)制中的注意力頭數(shù)量。從表2 可以直觀看出,注意力頭數(shù)量增加能夠提升提取準(zhǔn)確率。相較于不增加注意機(jī)制的算法,當(dāng)注意力頭數(shù)為5時,等錯誤率指標(biāo)降低了1%。結(jié)合檢測錯誤權(quán)衡(Detection Error Tradeoff,DET)曲線進(jìn)一步分析自注意力頭數(shù)量對X-vector 系統(tǒng)的目標(biāo)信號提取準(zhǔn)確率的影響,圖7 展示了4 種算法的DET 曲線。DET 曲線刻畫了算法“漏查”和“誤查”兩種錯誤的權(quán)衡。曲線越接近左下角,則表示判別算法越好。圖7 中顯示注意力頭數(shù)量為5 時,判別算法的曲線最接近左下角,此時判別算法最優(yōu)。結(jié)合圖7 與表2,注意力機(jī)制中注意力頭的數(shù)量與提取準(zhǔn)確率呈正相關(guān)。每一個注意力頭都能單獨(dú)學(xué)習(xí)信號的不同依賴性,從模型訓(xùn)練的角度來看多頭注意力,使模型能夠處理來自不同子空間的信息,并利用幀與幀間的關(guān)聯(lián)性來增強(qiáng)關(guān)鍵幀的信息,以達(dá)到提升識別性能的目的。
表2 注意力機(jī)制對于目標(biāo)信號判別準(zhǔn)確率的影響
圖7 不同注意力頭數(shù)的算法DET 曲線
在復(fù)雜場景中準(zhǔn)確提取特定信號具有重要的現(xiàn)實(shí)意義和研究前景。針對欠定混合模型的BSE 問題,本文提出了GA-X-vector 算法。將GMVAE 與引入自注意力機(jī)制的X-vector 目標(biāo)信號判別系統(tǒng)相結(jié)合,利用深度網(wǎng)絡(luò)的表示能力,使用CVAE 對源信號進(jìn)行建模,提升了高混響復(fù)雜場景的信號提取性能,并利用MNMF 替代低秩矩陣分析對參數(shù)進(jìn)行初始化,使其能夠用于欠定混合模型的信號提取。在X-vector 系統(tǒng)中引入自注意力機(jī)制,增強(qiáng)特征提取時對關(guān)鍵幀的信息處理,并進(jìn)一步利用語音信號的自相關(guān)特性提高目標(biāo)信號提取的準(zhǔn)確度。仿真結(jié)果表明,與基準(zhǔn)算法相比,本文提出算法的信號提取質(zhì)量指標(biāo)均高2 dB 以上,提取準(zhǔn)確率提高了1%。