郭志楷,楊明堃,蔣國峰,陶 祁,劉歡歡,馬紅強
(空軍工程大學航空機務士官學校 航空電子工程系,河南 信陽 464099)
單聲道語音分離是將說話人語音信號從混合語音中分離出來,也被稱為雞尾酒會問題[1]。人類的聽覺系統可以很容易的從混合語音中分離感興趣的源信號,但是這對于計算機識別系統來講并不容易,尤其是在單聲道情況下,提取目標語音非常困難。因而關于語音信號處理的大多數研究都集中在單聲道語音分離(SCSS,single channel speech separation)[2-4]。非負矩陣分解(NMF,nonnegative matrix factorization)[5]和計算聽覺場景分析(CASA,computational auditory scene analysis)[6]都是SCSS的常用方法。在文獻[5]中,NMF為每個源都訓練一個非負基的集合,以此來進行語音分離。在文獻[6]中,CASA由語音的客觀質量評估(OQAS,objective quality assessment of speech)指導,解決了語音質量與分離過程相結合的問題。但是對于多個說話人混合的語音,NMF和CASA取得的分離效果有限。
近幾年,深度學習技術在很多領域都得到了很好的應用。隨著深度學習技術的發展,研究學者們已經提出了很多基于深度學習的語音分離方法[7-10],SCSS技術取得了很大的進步。基于深度神經網絡(DNN,deep neural network)的語音分離通常在以下3種情況下應用:1)聲音與樂器之間的分離;2)多個說話者的分離;3)嘈雜語音的分離。基于DNN的單聲道語音大體可分為兩種主要形式,第一種是將混合信號的特征直接通過DNN映射到源信號的特征[11],第二種是將混合信號映射到各種頻譜掩蔽,以解釋混合信號中每個源的貢獻。眾多研究表明,二進制掩蔽相比較比例掩蔽分離性能低,比例掩蔽表示混合信號中源信號所占的真實能量比[12]。大多數關于混合語音的分離研究,都是針對所有源信號的分離。然而在實際情況下,例如,單個揚聲器向個人移動設備發出語音查詢,或者自動語音識別設備對說話人的語音識別,在這些場景下更傾向于恢復單個目標揚聲器,同時降低噪聲和干擾揚聲器的影響,這個問題被定義為目標說話人提取[13-14]。與語音分離相比,提取目標說話者可以有效解決置換不變訓練(PIT,permutation invariant training)[15]、說話者數量未知的說話人跟蹤等問題。當網絡僅專注于目標說話者語音提取時,總體分離性能可能會更好。
大多數針對提取目標說話人的研究,都是在目標說話人語音基礎上只訓練一個神經網絡,以此建立專門用來提取說話人的模型[16-18]。在這些提取模型的訓練過程中,目標說話者和干擾者的語音都被使用,而訓練的目的只是為了估計目標說話人的掩蔽,單一的網絡難以充分考慮語音樣本的深度特征。
Zhao等人[19]發現頻譜映射在去混響中比時頻掩蔽更有效,而掩蔽在去噪和分離方面比頻譜映射更好。因此構造了兩個階段的DNN,其中第一階段執行掩蔽去噪,第二階段執行頻譜映射去混響。受此啟發,利用這兩種方法的優點,可以開發一個包含頻譜特征映射分離和掩蔽提取功能的框架,可在目標說話人提取過程中同時融入這兩種方法的優勢[20]。與單一網絡相比,聯合網絡識別目標語音的精度更高[21]。
本文著重進行了目標說話人語音提取研究,提出了一個包含語音分離和提取相結合的注意機制模型,基于語音數據的迭代訓練過程,仿真了模型訓練的收斂性,利用訓練好的網絡模型進行了目標說話人語音提取實驗,并給出部分實驗的處理結果。
對于單聲道語音提取問題,可理解為從線性混合的單聲道語音y(t)中提取目標說話人語音s0(t)的過程。混合信號為:
(1)
式中,si(t)為任何數量的干擾者語音或者是噪聲(在實驗中考慮了干擾者);i=1,2,…,I為干擾說話人或者是噪聲的索引。
通過短時傅里葉變換(STFT,short time fourier transform)將混合信號y(t)轉化為Y(t,f):
(2)
式中,t和f分別為時間和頻率索引;Y(t,f)、S0(t,f)和Si(t,f)分別為y(t)、s0(t)和si(t)在時頻域的表示。
在語音增強[22-23]和語音分離[24-25]的研究中表明,對 DNN訓練時,采用信號幅度譜近似(SA,signal approximation)損失收斂方法比理想比例掩蔽(IRM,ideal ratio mask)和估計的幅值譜掩蔽(SMM,spectral magnitude mask)之間的近似損失收斂方法性能更好。
(3)
(4)

在基于DNN的監督語音分離系統中,語音的分離工作通常分兩階段進行,首先是模型的訓練階段,其次是測試分離階段。我們要講的是在訓練階段中目標的獲取,目標的選取一般都是基于干凈的目標語音和背景干擾得到的,合適有效的目標對于模型的學習能力和系統的分離性能起著重要的作用。目前使用的目標主要分為兩類:基于時頻掩蔽的目標和基于語音幅度譜估計的目標。這里簡單介紹下主要的四種分離目標。
理想二值掩蔽(IBM,ideal binary mask)經常作為深度神經網絡模型學習的目標,該目標是一個二值函數(0或1),該二值掩蔽的取值是根據語音信號時頻譜的每個時頻單元中語音能量和噪聲能量的大小關系決定。首先設定一個閾值,如果一個時頻單元中局部信噪比大于閾值,則對應的單元掩蔽值設為1,反之為0。IBM表示為:
(5)
其中:SNR(t,f)表示語音信號時頻單元的局部信噪比,IBM(t,f)表示理想二值掩蔽,LC是設置的閾值。
Wang等人首先提出了理想比例掩蔽(IRM,ideal ratio mask),IRM是一種軟函數類型的目標[12]。該目標計算公式如下:
(6)
其中:IRM(t,f)是在時間t和頻率為f的時頻單元掩蔽值,S2(t,f)和N2(t,f)分別表示語音能量和噪聲能量,β是一個可調節參數,而Wang等人已經通過實驗證明,β為0.5時,模型的訓練結果是最好的。IRM的值在[0,1]之間是連續的,這樣在分離語音的時候可以提高目標語音能量譜完整性。
幅度譜掩蔽(SMM,spectral magnitude mask)由目標語音和帶噪語音的STFT譜計算得到,表示如下:
(7)
|S(t,f)|和|M(t,f)|分別表示目標語音和帶噪語音幅度譜,利用兩者的比值得到SMM目標。由于SMM目標用來估計目標語音的幅度譜,所以在信號的重構時需要結合帶噪語音信號或目標語音信號的相位,經過STFT得到重構的目標語音的時域信號。
信號近似估計(SA,signal approximation)的思想就是最小化目標語音和估計輸出的語音幅度之間的誤差,當誤差逐漸收斂時,默認為此時的模型參數最優,損失函數如下:
SA(t,f)=(RM(t,f)|Y(t,f)|-|S(t,f)|)2
(8)
其中:RM(t,f)是網絡模型的輸出,可直接認為是估計的掩蔽,也可以通過用SMM目標估計RM(t,f)來訓練模型參數,然后通過上述目標函數最小化對模型參數進行微調得到最優解。
DNN是模仿人類神經系統而設計的信息分析處理結構,由神經元作為基本單元組成。一組輸入經過加權進入神經單元,然后對加權后的輸入進行激活計算,最后產生某種輸出。其結構如圖1所示。

圖1 神經單元結構
基本神經單元中含有多個輸入、一組權重、一個加法器、一個激活函數和一個輸出,其計算原理為:
(9)
其中:xi表示輸入數據,wi表示權重和偏置(i=0),F表示激活函數,yk表示第k層神經單元的輸出。
激活函數F有多種表達式,常用的激活函數有:線性函數、雙曲正切函數(Tanh)、Sigmoid函數、線性整流函數(ReLU,rectified linear units)。
1)線性函數:
F(x)=x
(10)
2)Tanh函數:
(11)
3)Sigmoid函數:
(12)
4)ReLU函數:
F(x)=max(0,x)
(13)
除了上述四種激活函數外,還有閾值函數等。激活函數是影響神經網絡功能的重要因素之一,不同的激活函數實現的功能是不一樣的,例如Tanh函數在特征相差明顯時效果會更好,ReLU函數的稀疏性可解決網絡訓練時的梯度消失現象。連續平滑的Sigmoid函數和具有稀疏性的ReLU函數常用于語音分離任務中。
深度神經網絡又包含三種屬性層,即輸入層、隱藏層、輸出層,深度的大小取決于神經網絡的隱藏層個數。圖2展示了一個三層的神經網絡。

圖2 三層神經網絡結構
頻譜映射分離網絡主要由單個DNN體系結構組成,其中每個揚聲器對應一個輸出層,而利用譜映射分離后的兩個語音幅度譜之和不等于混合語音的幅度譜,表明直接映射分離語音幅度譜是有缺陷的。因此,一個掩蔽層被添加到網絡輸出端,很好地解決了這個問題,其網絡結構如圖3所示。

圖3 附加掩蔽層的頻譜映射分離網絡


(14)
(15)
頻譜映射分離網絡將說話人選擇機制包括在其分離框架中,在輸出層之后進行說話人語音的選擇,然而目前還不清楚這是否會提供最佳的說話人語音。因此本文將基于頻譜映射的分離解釋為內部分離機制的頻譜映射,如圖4所示。
由此,可以認為分離機制存在于兩個模塊中,其中一個分離模塊生成了對應每個源信號的內部嵌入向量Zi,另一個掩蔽估計模塊生成來自內部嵌入向量的時頻掩蔽Mi,如式(16)、 (17)函數所示:
(16)
Mi= MaskEstimator (Zi) (i= 1,...I)
(17)
其中:Separator(·)為內部嵌入向量分離器;i為Separator(·)源信號對應的嵌入向量的索引;MaskEstimator(·)為基于嵌入向量的掩蔽估計器。假設I個源共用MaskEstimator(·),并且其中shared表示參數和網絡層激活函數共享,linear是DNN中的線性運算。
對于人耳聽力來講,在一個多人說話的環境中只關注自己感興趣的語音是很容易的。然而這對于人機交互的語音識別設備來說是很困難的,因此為了更好地識別感興趣的說話人,就需要提取目標說話人的語音信息而忽略其他人聲音。為了解決這個問題,本文提出的基于注意機制的多任務學習語音提取算法,它成功地提取出了目標說話人信息,同時輔助信息的利用更好地提高了說話人語音質量。
本文提出的分離系統可以擴展到更多源信號混合的分離工作,為了簡化說明,只考慮兩個源信號混合的分離提取工作(目標語音s1,干擾語音s2)。
基于分離和提取相結合的嵌入式注意機制模型如圖5所示,意在實現一個分離和提取雙重標準下的語音處理系統。該模型由分離器、注意機制模塊和掩膜估計器三部分串聯而成,分離器分離出不同說話人的嵌入向量{Zi}Ii=1,在注意機制模塊中與說話人輔助語音譜特征相結合運算,提取出目標說話人的嵌入向量Ztar,進而在掩蔽估計器中得出目標說話人對應的時頻掩蔽Mtar。
該模型通過在分離器和掩蔽估計器之間添加說話人注意機制模塊,該模塊可以有針對性的選擇對應目標說話人的嵌入向量,從而集成了說話人感知提取功能。下列功能函數可表示基于嵌入式注意機制的分離和提取進程:
(18)
(19)
Mtar=MaskEstimator(Ztar)
(20)


(21)
(22)

在嵌入注意機制中多層感知器的輸出端使用了雙曲正切函數,該函數在特征相差明顯時效果會很好,循環過程中不斷擴大特征效果。其計算如下:
(23)
(24)
式中,w,WΓ,WAUX為網絡可訓練的權重;b為網絡模型偏置參數;γ為設置的超參數。

LMTL=αLSEPA+(1-α)LEXTR
(25)
(26)
(27)

為了驗證目標語音提取算法的有效性和優越性,設計了兩組實驗。第一組實驗證明了本算法的有效性,同時探討了說話人性別對目標語音提取的影響。第二組實驗分別使用不同的訓練目標作為目標語音提取的對比試驗,驗證了算法的優越性。
實驗所用語音數據由TIMIT[27]數據庫提供,分別從TIMIT數據庫中選取兩個不同性別的說話人語音片段,針對每個說話人截取了40秒時長的語音,前8秒作為測試樣本,中間16秒作為訓練樣本,最后16秒作為輔助語音樣本。然而為了研究說話人性別和語種影響,采集了兩段相同時長的母語為漢語的說話人語音數據。根據采集得到的數據,利用Matlab軟件對信號進行處理分析,將兩說話人語音進行混合,混合的信噪比(SNR,signal-to-noise ratio)從0~5 dB均勻分布。采樣頻率為16 000 Hz。
本實驗分離和提取的統一網絡采用五層結構的DNN,一個輸入層,三個隱藏層和一個輸出層,其每層網絡的單元數為[513 1024 1024 1024 513]。
預訓練:掩蔽估計網絡采用玻爾茲曼機(RBM,restricted boltzmann machine)進行預訓練,訓練迭代次數為20,語音數據最小批次大小為256(幀數),學習率為0.003。通過RBM預訓練,得到網絡的初始權重和偏置。
實驗使用RBM預訓練方法初始化網絡參數,將前一層的輸出作為下一層的輸入以這種數據傳遞方式訓練RBM模型,其模型如圖6所示。

圖6 玻爾茲曼機模型
RBM是一種無方向的兩層神經網絡,嚴格意義上并不算深層網絡。在圖6中,下面一層神經元組成了可見層(輸入層),用v表示可見層的神經單元值,上面一層神經元組成了隱藏層(輸出層),用h表示隱藏層的神經單元值。可見層和隱藏層是全連接的,兩層之間的權重由w表示。RBM工作時,首先獲取一個訓練樣本v,計算隱藏層節點概率,然后在這基礎上獲取隱藏層激活的樣本h,計算v和h的外積作為“正梯度”。反過來從h中獲取重構的可見層激活向量樣本v′,然后從v′再次獲得隱藏層激活向量h′,計算v′和h′的外積作為“負梯度”。利用正負梯度差乘上學習率更新權重w。
精調:預訓練得到初始化網絡參數,在此基礎上利用反向傳播算法有監督的訓練神經網絡,使用隨機梯度下降法更新權重,并且在訓練過程中引入了可變動量項,訓練的前十次動量項為0.5,后續的迭代過程中動量項為0.9的可變化學習率,其值在區間[0.08,0.004]中均勻減小,自適應學習率改善了固定學習率在學習權重時精確性差的問題。精調階段的訓練次數為180,隱藏層和輸出層的激活函數分別是ReLU函數和Sigmoid函數。
ReLU(x)=max(0,x)
(28)
(29)
Sigmoid函數的連續光滑性質,使網絡輸出在一定范圍內,數據在傳遞過程中不易發散,ReLU函數的稀疏性可解決網絡訓練時的梯度消失現象。
掩蔽估計網絡的目標函數為LMTL,參數α設為0.5,多次試驗表明γ=2時分離性能最優,其收斂曲線如圖7所示,曲線逐漸趨于收斂,這表示網絡的訓練是有效的。

圖7 多任務學習的損失曲線
為了評估說話人語音的提取性能,實驗采用了BSS_EVAL工具箱中的三個評估指標:源信號失真比(SDR,source to distortion ratio)、源信號偽影比(SAR,source to artifacts ratio)、源信號干擾比(SIR,source to interference ratio)。SDR反映了綜合分離效果,SAR反映算法對產生噪聲的抑制能力,SIR 反映算法對干擾信號的抑制能力。三者數值越大就說明分離提取性能越高。
首先對算法的有效性進行了實驗評估,實驗結果以波形圖和語譜圖的形式展示,如圖8和圖9所示。

圖8 語音時域信號波形圖

圖9 目標說話人的估計掩
圖8分別展示目標語音、干擾語音、混合語音和算法提取的目標說話人語音的波形圖。波形圖的橫軸表示時間,縱軸表示波形的幅值大小。通過對比提取的目標說話人波形和混合語音的波形,可以看出算法具有提取目標人語音的功能,提取的目標說話人波形與目標源語音波形的相似程度體現了算法模型對目標說話人語音提取性能的優劣。
圖9和圖10分別表示目標說話人的估計掩蔽插圖和語譜圖。掩蔽插圖橫坐標為時間幀,縱坐標為網絡輸出通道數。該掩蔽插圖由掩蔽值歸一化后描繪而成,其圖上的白色部分是有值的,在0~1之間取值。黑色背景代表很小的值,接近于0。注意下列圖右上角的矩形框區域,在掩蔽插圖和目標語音語譜圖框內黑色占主導,說明此區域的譜值絕大多數很小或為0,而對應的干擾語音和混合語音矩形框內具有不同顏色值,說明此區域的譜值大于0,最終提取的目標說話人語音語譜圖在相應位置也是黑色占主導,這在時頻域里體現了掩蔽提取目標說話人的本質。

圖10 語音頻域信號語譜
除了驗證所提算法的有效性,同時也在相同信噪比混合情況下,探討了說話人的性別對提取算法的影響,實驗結果如表1所示。

表1 混合信噪比為0 dB下的男1目標語音提取性能 dB
利用這4個人的語音分別得到了以上5種組合方式,其中男1和女1為不同性別的目標說話人,選自是TIMIT數據集中的說話人語音。男2和女2是干擾說話人,為課題組錄制的說話人語音。通過分析表1和表2指標,可以發現,相比較同性別混合語音,不同性別混合語音中的提取效果更好。在同性別混合語音中,女聲的提取效果由于男聲的提取效果,這可能與說話人的音質和音色有一定的關系。除了說話人性別對語音的提取有影響以外,干擾說話人語音的說話內容和語種對目標語音提取性能也有關系。同語種的混合的說話人提取效果要比不同語種混合的說話人提取效果好。這表明由同語種混合語音訓練的網絡模型,對本語種語音信號的提取更有效。而對于不同語種的語音來講,特征可能相差較大,無法在同一特征水平上進行很好的分離提取。

表2 混合信噪比為0 dB下的女1目標語音提取性能 dB
為了探究混合信噪比對提取性能的影響,因此在不同混合語音信噪比下進行了語音提取性能測試,由表3分析可知,隨著干擾混合信噪比的增大,語音提取性能也不斷提高。這表明在目標語音信號功率越大時,提取性能越高。

表3 不同信噪比下的語音提取性能 dB
為了驗證所提算法的優越性,分別使用幅度譜掩蔽(SMM,spectral magnitude mask)和信號近似估計(SA,signal approximation)目標方法進行了對比實驗,結果如表4所示。

表4 混合信噪比為0 dB下不同方法的目標語音提取性能 dB
根據表4的實驗結果表明,相比較SA和SMM這兩種方法,本文提出的基于多任務學習的嵌入式注意機制語音提取算法在SDR分別取得了0.877 1 dB和3.290 4 dB的提高。對于SAR和SIR指標,本文算法也均優于其它兩種方法。
在這篇文章中,針對目標說話人語音的提取,我們提出了一種基于分離和提取多任務學習的嵌入式注意機制目標語音提取算法。本文的算法模型主要分為分離模塊、嵌入式注意機制模開、語音提取模塊三部分,在分離和提取的多任務優化標準下,充分利用了說話人輔助信息,更加集中地對目標說話人語音進行提取。實驗結果表明,本文提出的算法利用較少的訓練數據集,可實現相對較高的提取性能。
本文的不足之處在于使用的數據集單一,下一步努力方向是擴大數據集總類,保證語音信號質量的前提下,提高模型的普適性。同時可探究在其他各種噪聲環境下目標說話人語音的提取性能。