郭佳敏,李鴻燕
(太原理工大學(xué)信息與計(jì)算機(jī)學(xué)院,山西太原 030024)
人耳可以輕易地將感興趣的語音從背景噪聲中分辨出來,為了使機(jī)器學(xué)會這一能力,文中將目標(biāo)語音從背景噪聲中有效地區(qū)分出來,即“雞尾酒會問題”[1]。語音分離的主要任務(wù)是解決雞尾酒會問題,并將其應(yīng)用到實(shí)際場景中。隨著人工智能、深度學(xué)習(xí)等相關(guān)知識的迅速發(fā)展,很多算法相繼被提出。文獻(xiàn)[2]將深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)運(yùn)用到語音分離的研究中,在大規(guī)模訓(xùn)練的基礎(chǔ)上,使語音分離性能實(shí)現(xiàn)了顯著的提升。文獻(xiàn)[3]將深度神經(jīng)網(wǎng)絡(luò)的語音分離系統(tǒng)進(jìn)一步優(yōu)化,并取得了顯著的效果。文獻(xiàn)[4]將長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)運(yùn)用到語音分離任務(wù)中,通過其記憶功能,能有效獲取信號的上下文信息,提升語音分離的性能,相較于DNN,可以有效提升分離語音的短時可懂度指標(biāo),但在語音質(zhì)量等其他方面表現(xiàn)欠佳。同時,由于其結(jié)構(gòu)復(fù)雜,參數(shù)眾多,計(jì)算復(fù)雜度較高,導(dǎo)致訓(xùn)練時間成本較大。文中通過簡化長短時記憶網(wǎng)絡(luò)模型結(jié)構(gòu)和參數(shù),使用門控循環(huán)單元(Gated Recurrent Unit,GRU)[5]縮短訓(xùn)練時間,降低了計(jì)算復(fù)雜度。
為實(shí)現(xiàn)系統(tǒng)語音分離性能的綜合提升,根據(jù)人耳的掩蔽效應(yīng),針對信號的時頻(Time Frequency,T-F)單元,結(jié)合注意力機(jī)制進(jìn)行建模,并提出將噪聲和語音主導(dǎo)T-F 單元分類方法與回歸任務(wù)中常用的均方誤差(Mean-Square Error,MSE)[6]相結(jié)合的方法,構(gòu)建新的損失函數(shù),對模型的訓(xùn)練過程進(jìn)行優(yōu)化,以獲得性能更好的語音分離模型。
圖1 所示是語音分離算法結(jié)構(gòu)框圖。系統(tǒng)分為訓(xùn)練和測試兩個階段,根據(jù)算法各部分功能,各模塊可歸為數(shù)據(jù)處理和模型優(yōu)化兩個部分。其中,數(shù)據(jù)處理部分包括時頻分解、目標(biāo)計(jì)算和特征抽取。在訓(xùn)練階段,數(shù)據(jù)由干凈語音和噪聲在固定信噪比下混合得到,通過時頻分解后,提取混合語音特征作為輸入,計(jì)算干凈語音作為輸出,通過大量的“特征-目標(biāo)對”訓(xùn)練模型得到二者之間的映射關(guān)系,獲得分離模型。在測試階段,運(yùn)用訓(xùn)練好的分離模型,將帶噪語音通過時頻分解、抽取特征值輸入模型,獲得估計(jì)的目標(biāo)語音,進(jìn)行性能測試。針對傳統(tǒng)LSTM 語音分離系統(tǒng)中存在的問題,文中從分離模型的結(jié)構(gòu)簡化、輸入優(yōu)化和損失函數(shù)改進(jìn)3 個方面出發(fā),通過對原有算法的改進(jìn),最終達(dá)到提升語音分離性能的目的。
圖1 語音分離系統(tǒng)結(jié)構(gòu)框圖
1.1.1 時頻分解
系統(tǒng)的時頻分解部分采用短時傅里葉變換算法[7],將輸入時間域的干凈語音信號、噪聲信號以及混合得到的帶噪語音信號通過分幀、加窗、快速傅里葉變化轉(zhuǎn)化為二維的時域信號:
其中,ω(t)=ω(-t)是一個長度為N的實(shí)對稱窗函數(shù),每次移動N/2,X(t,f)是一維時域信號x(t)在第t個時間幀,f個頻段的短時傅里葉變換系數(shù)。
1.1.2 目標(biāo)計(jì)算
使用時頻掩蔽可以很好地保留語音的共振峰特性,有效提高分離語音的可懂度,通過傅里葉逆變換可以直接合成目標(biāo)語音分波形[8-9]。文中以理想二值掩蔽(Ideal Binary Mask,IBM)作為計(jì)算目標(biāo),信號在短時譜中語音能量大于噪聲能量時值為1,否則為0:
其中,LC是設(shè)定的局部閾值,SNR(t,f)是混合信號的信噪比。為更好地獲得目標(biāo)語音的能量譜,將LC設(shè)置為小于SNR(t,f)。
1.1.3 特征抽取
根據(jù)人耳的特性,提取混合語音信號的梅爾倒譜系數(shù)(Mel-Frequency Cepstral Coefficients,MFCC)[10],可以更好地展現(xiàn)語音感知特性的相對譜變換-感知 線性預(yù)測(Relative Spectral Transform-Perceptual Linear Prediction)[11]特征。提取的特征組合中包含了許多與目標(biāo)語音無關(guān)的噪聲信息,對語音分離的效果造成一定影響。
1.2.1 模型結(jié)構(gòu)優(yōu)化
LSTM 作為一種時序模型,比起深度神經(jīng)網(wǎng)絡(luò),在其隱層間增加了反饋連接,對時序信號的短時動態(tài)信息進(jìn)行建模,使網(wǎng)絡(luò)具備記憶功能。其輸入門it用于控制當(dāng)前時態(tài)輸入xt是否融入當(dāng)前細(xì)胞狀態(tài)ct;輸出門ot用于判斷隱層向量ht對上一時間細(xì)胞狀態(tài)ct-1部分的保留與否;遺忘門ft用于控制上一時間細(xì)胞狀態(tài)ct-1是否影響當(dāng)前細(xì)胞狀態(tài)ct。細(xì)胞狀態(tài)ct綜合了每個時刻的當(dāng)前輸入xt和上一時刻細(xì)胞的狀態(tài)ct-1。
如圖2 所示,為簡化LSTM 計(jì)算,保留了其核心功能,采用兩個門結(jié)構(gòu)的GRU,將細(xì)胞狀態(tài)ct融入隱層向量ht中,輸入門it和遺忘門ft合并,為更新門zt選擇控制xt輸入,重置門rt替換輸出門ot。其前向計(jì)算原理如下:
圖2 LSTM單元結(jié)構(gòu)簡化
其中,σ(·)表示sigmoid 函數(shù),W表示連接不同門的權(quán)重矩陣,表示隱層向量當(dāng)前時刻的記憶候選向量。使用簡化后的LSTM 單元構(gòu)建網(wǎng)絡(luò),循環(huán)層沿時間反向傳播,保留上下文信息,其循環(huán)的單元數(shù)隨輸入數(shù)據(jù)的時間長度變化,在每個時間點(diǎn)上將信息分別輸出到下一個隱層。模型采用單循環(huán)層的結(jié)構(gòu),并通過兩個全連接層調(diào)整數(shù)據(jù)的輸出維度。循環(huán)層采用dropout 算法,各層間采用Batch Normalization 算法對網(wǎng)絡(luò)訓(xùn)練過程進(jìn)行優(yōu)化。
1.2.2 模型輸入的優(yōu)化
針對抽取特征值無法避免噪聲影響的問題,結(jié)合注意力機(jī)制原理以及人耳的掩蔽效應(yīng),對獲得的語音特征進(jìn)行篩選。根據(jù)人耳的掩蔽效應(yīng),弱的聲音會被較強(qiáng)的聲音覆蓋,輸入特征序列的T-F 單元可以被區(qū)分為由噪聲或目標(biāo)語音分別主導(dǎo)。對模型輸入施加注意力機(jī)制,使模型輸入更關(guān)注于目標(biāo)語音主導(dǎo)的T-F 單元,使用Transformer 模型中的自注意力機(jī)制[12],計(jì)算T-F 單元之間的相似性,得到對應(yīng)的注意力權(quán)重,從而獲得可以弱化噪聲影響的特征序列。
其中,Attention(·)表示一次注意力的計(jì)算過程,Q、K、V分別對應(yīng)注意力機(jī)制計(jì)算中的元素內(nèi)容矩陣、尋址矩陣和對應(yīng)的值矩陣,dk表示矩陣K的維度。僅通過一次Attention計(jì)算無法很好地區(qū)分噪聲和目標(biāo)語音主導(dǎo)的時頻單元,需要經(jīng)過多次計(jì)算,獲得疊加的權(quán)值系數(shù)。將輸入矩陣映射到不同子空間,并采用縮放點(diǎn)積的形式對數(shù)據(jù)進(jìn)行編碼,即多頭自注意力計(jì)算,從而實(shí)現(xiàn)對輸入T-F 單元之間相似度的反復(fù)計(jì)算和權(quán)重疊加。
其中,headi對應(yīng)輸入的不同子空間,concat(·)表示對每個head的拼接計(jì)算,A表示注意力模型的權(quán)重參數(shù)。由于目標(biāo)語音主導(dǎo)的單元數(shù)量在整個特征序列中占大多數(shù),因此經(jīng)過多頭自注意力編碼后的特征序列,可以加強(qiáng)目標(biāo)語音在輸入中的重要程度,對噪聲實(shí)現(xiàn)有效的抑制,最終作為優(yōu)化后的訓(xùn)練數(shù)據(jù)輸入分離模型。
1.2.3 訓(xùn)練準(zhǔn)則——損失函數(shù)的優(yōu)化
使用IBM 作為目標(biāo)時,語音分離任務(wù)可以自然地看作是0-1分類的問題,命中率減誤報(bào)率(HIT-FA)可以直接作為語音性能評價(jià)指標(biāo),該指標(biāo)與分離語音效果呈現(xiàn)正相關(guān)關(guān)系,可以客觀地反映語音分離系統(tǒng)的性能[13]。通過直接比較干凈語音理想二值掩蔽和模型估計(jì)的目標(biāo)語音理想二值掩蔽,可得到命中率-誤報(bào)率。
根據(jù)表1 所示的計(jì)算方式,并通過模型估計(jì)的二值掩蔽和理想二值掩蔽表示,HIT-FA可表示為:
表1 二值掩蔽評價(jià)指標(biāo)計(jì)算表示方式
其中,st和yt分別對應(yīng)當(dāng)前時刻t混合語音經(jīng)過模型估計(jì)得到的二值掩蔽和干凈語音的理想二值掩蔽。HIT表示預(yù)測結(jié)果中,分類正確的目標(biāo)語音主導(dǎo)T-F 單元在所有目標(biāo)語音主導(dǎo)T-F 單元中所占的比例,HIT越大,對應(yīng)的語音分離結(jié)果越好。FA計(jì)算的是預(yù)測結(jié)果中被錯誤分類為目標(biāo)語音主導(dǎo)的噪聲T-F 單元在全部噪聲主導(dǎo)T-F 單元中所占的比重,F(xiàn)A越小,對應(yīng)的語音分離結(jié)果越好。
在模型訓(xùn)練時,損失函數(shù)計(jì)算為模型估計(jì)值與理想輸出之間的距離,為網(wǎng)絡(luò)中每一個需要更新的權(quán)重找到對應(yīng)的梯度,尋找最優(yōu)解。MSE作為模型訓(xùn)練中最為常見的損失函數(shù),在短時可懂度等方面具有較好的表現(xiàn),但不能很好地匹配其他語音分離的評價(jià)指標(biāo)。優(yōu)化模型結(jié)構(gòu)可以有效提高語音的可懂度,但在語音質(zhì)量等方面表現(xiàn)出不平衡現(xiàn)象。以IBM 作為語音分離目標(biāo),可以自然地將語音分離任務(wù)轉(zhuǎn)化為分類問題。通過對比幾種不同損失函數(shù)對語音分離結(jié)果的影響,并根據(jù)HIT-FA的計(jì)算原理,將錯誤估計(jì)的噪聲T-F 單元數(shù)量作為分子即FP,實(shí)際語音主導(dǎo)的T-F 單元數(shù)量作為分母即P,構(gòu)成損失函數(shù)LH-F:
LH-F對估計(jì)為目標(biāo)語音主導(dǎo)的T-F 單元進(jìn)行判斷,錯誤估計(jì)的單元數(shù)量越多,LH-F越大,通過訓(xùn)練使LH-F最小,從而抑制被噪聲主導(dǎo)的時頻單元對語音分離效果的影響。最小化LH-F可實(shí)現(xiàn)語音評價(jià)指標(biāo)HIT-FA的最大化,但無法刻畫預(yù)測值與真實(shí)值之間的差距。結(jié)合在STOI 等方面表現(xiàn)較好的MSE,其損失函數(shù)為:
綜合LH-F和LMSE的性能,在縮小預(yù)測值與真實(shí)值之間距離的同時,抑制噪聲T-F 單元錯誤分類對結(jié)果的影響,提出一種新的損失函數(shù)L:
這里采用加權(quán)調(diào)和平均將二者融合構(gòu)成新的損失函數(shù),α大小反映函數(shù)LH-F在計(jì)算中的重要程度,α=1 時,表示兩個函數(shù)同等重要,α設(shè)置越大,對應(yīng)LH-F在計(jì)算中越重要。通過訓(xùn)練獲取一個閾值,使二者同時實(shí)現(xiàn)最小化,以獲得分離語音性能在HIT-FA和STOI方面的最佳表現(xiàn),實(shí)現(xiàn)對模型訓(xùn)練過程的改進(jìn)。
根據(jù)計(jì)算,自定義的損失函數(shù)L是可導(dǎo)可微的,滿足自定義函數(shù)的條件。配合優(yōu)化后的LSTM 網(wǎng)絡(luò),沿時間反向傳播,通過適當(dāng)?shù)膶W(xué)習(xí)率lr實(shí)現(xiàn)梯度的下降迭代對模型參數(shù)進(jìn)行更新,網(wǎng)絡(luò)權(quán)值和偏差最終通過時間展開后積累得到。
新的損失函數(shù)、學(xué)習(xí)率等參數(shù)的設(shè)置以及梯度下降優(yōu)化算法的選擇也影響著整個系統(tǒng)的性能?;谀P徒Y(jié)構(gòu)特點(diǎn)、訓(xùn)練速度等多方面因素,使用配合歷史信息動量加速的隨機(jī)梯度下降法(Stochastic Gradient Descent,SGD)、自適應(yīng)學(xué)習(xí)率的RMSProp(Root Mean Square Prop)算法和Adam 算法3 種算法分別對訓(xùn)練過程進(jìn)行優(yōu)化。
在優(yōu)化結(jié)構(gòu)后的網(wǎng)絡(luò)中,分別運(yùn)用3 種不同的優(yōu)化器算法對訓(xùn)練過程中的自定義損失函數(shù)進(jìn)行可視化[14-20],如圖3 所示,縱軸為損失函數(shù)值,橫軸為迭代次數(shù)。同時觀察訓(xùn)練過程,可驗(yàn)證該函數(shù)是否可以實(shí)現(xiàn)有效收斂。根據(jù)結(jié)果,自定的損失函數(shù)L在模型訓(xùn)練中可以實(shí)現(xiàn)有效的收斂。根據(jù)訓(xùn)練過程的損失函數(shù)值變化曲線的收斂速度和收斂效果來看,使用RMSProp 和Adam 算法進(jìn)行優(yōu)化的表現(xiàn)相當(dāng),對比訓(xùn)練過程中損失函數(shù)的最小值,最終選擇RMSProp 算法對模型進(jìn)行優(yōu)化。
圖3 SGD、RMSProp、Adam算法對比
實(shí)驗(yàn)基于深度學(xué)習(xí)原理構(gòu)建LSTM 的語音分離系統(tǒng),并進(jìn)一步優(yōu)化。從語料庫中抽取720 條干凈語音及一種工廠噪聲作為數(shù)據(jù)來源,分別在-2 dB、0 dB、2 dB 和5 dB 信噪比下生成600 條混合語音信號,用于模型訓(xùn)練,另生成120 條混合語音信號用于測試訓(xùn)練好的模型。為證明算法性能的提升,在相同實(shí)驗(yàn)環(huán)境下,使用傳統(tǒng)的LSTM 語音分離系統(tǒng)同優(yōu)化后的LSTM 語音分離系統(tǒng)進(jìn)行對比。數(shù)據(jù)處理部分采用Matlab2016a 實(shí)現(xiàn),包括對原始語音數(shù)據(jù)的混合處理以及時頻分解,計(jì)算干凈語音的IBM 和混合語音的特征值組合構(gòu)成訓(xùn)練集和測試集。模型搭建、優(yōu)化和損失函數(shù)的自定義通過Python 和Pytorch平臺實(shí)現(xiàn),同時利用TensorboardX 對整個訓(xùn)練過程進(jìn)行監(jiān)控。
測試中,為了可視化地對比語音分離的效果,計(jì)算處理后語音的短時包絡(luò)相關(guān)性,使用短時客觀可懂度指標(biāo)(Short-Time Objective Intelligibility,STOI)作為客觀語音清晰度指標(biāo),該指標(biāo)取值范圍在[0,1]之間,且值越大性能越好。同時,采用與語音主觀評價(jià)MOS 值相關(guān)的語音質(zhì)量感知評價(jià)指標(biāo)(Perceptual Evaluation of Speech Quality,PESQ)對測試合成語音的質(zhì)量性能進(jìn)行評估測試,該指標(biāo)取值范圍在[-0.5,4.5]之間,值越大對應(yīng)性能越好。同時,針對分類問題,使用模型分類精確度(Accuracy)和HIT-FA 對系統(tǒng)性能進(jìn)行評估。此外,為縮短訓(xùn)練時間,實(shí)驗(yàn)訓(xùn)練過程使用GPU 進(jìn)行加速。
首先,為驗(yàn)證優(yōu)化模型結(jié)構(gòu)后性能的變化,分別使用優(yōu)化前后的模型在-2 dB 信噪比條件下進(jìn)行測試,并記錄測試結(jié)果,如表2 所示。
表2 優(yōu)化后的LSTM模型性能測試結(jié)果
分析表2 數(shù)據(jù)可以得出,相較于傳統(tǒng)的LSTM 模型,優(yōu)化結(jié)構(gòu)后的LSTM 模型在簡化計(jì)算后,各項(xiàng)性能指標(biāo)均獲得了一定的提升,并且在完成100 次迭代訓(xùn)練時,耗時縮短了約21%??梢缘贸?,LSTM 經(jīng)過優(yōu)化后,仍然可以很好地保留語音的時序信息,使其在STOI 方面獲得較明顯的提升,且計(jì)算復(fù)雜度降低,訓(xùn)練速度更快,但在語音質(zhì)量PESQ 方面表現(xiàn)仍有待提升。
為驗(yàn)證結(jié)合注意力機(jī)制在模型輸入的改進(jìn)是否有效,在不同信噪比條件下分別使用結(jié)合注意力機(jī)制改進(jìn)前后的模型進(jìn)行訓(xùn)練和測試,記錄測試結(jié)果,并取平均值,如表3 所示。
表3 結(jié)合注意力機(jī)制優(yōu)化前后的模型性能測試結(jié)果
實(shí)驗(yàn)結(jié)果表明,優(yōu)化模型輸入后,各性能指標(biāo)都得到了一定的提升。結(jié)合注意力機(jī)制對模型輸入進(jìn)行優(yōu)化,通過計(jì)算T-F 單元之間的相似性,可以將訓(xùn)練的注意力集中在語音主導(dǎo)的T-F 單元上,有效抑制噪聲在模型計(jì)算過程中的影響,實(shí)現(xiàn)各個語音分離性能的綜合提升。
最后,使用提出的損失函數(shù)對分離性能提升的有效性進(jìn)行驗(yàn)證。首先,確定L中α的取值,在2 dB信噪比條件下,分別取α=0.5、α=1 和α=2 進(jìn)行訓(xùn)練,結(jié)果如表4 所示。
表4 不同α取值的測試結(jié)果
結(jié)果表明,取α=1 時,在訓(xùn)練中將L中的LH-F和LMSE計(jì)算視為同等重要,分離結(jié)果在Accuracy、HIT-FA、STOI 和PESQ 性能方面的表現(xiàn)較α=0.5 和α=2 時好。
令α=1,同時考慮其泛化性能,分別在-2 dB、0 dB、2 dB和5 dB信噪比條件下,使用式(12)與式(11)以及式(13)作為對比,在優(yōu)化結(jié)構(gòu)和輸入后的模型中進(jìn)行訓(xùn)練,測試分離語音性能,并記錄實(shí)驗(yàn)結(jié)果,如圖4 所示。
圖4 損失函數(shù)對比測試結(jié)果
如圖4 所示,根據(jù)訓(xùn)練提出的損失函數(shù)L,在Accuracy 方面的表現(xiàn)與單獨(dú)訓(xùn)練LMSE損失和LH-F損失時大致相當(dāng)。通過對HIT-FA 原理改進(jìn)后,訓(xùn)練L得到的HIT-FA 指標(biāo)性能相較于訓(xùn)練LMSE時獲得較明顯的提升。而且,由于HIT-FA 指標(biāo)與主觀聽音測試存在正相關(guān)關(guān)系,因此通過其原理改進(jìn)損失函數(shù)后,相較于兩種損失函數(shù)單獨(dú)訓(xùn)練時,在STOI 和PESQ 方面都表現(xiàn)出較好的性能。實(shí)驗(yàn)結(jié)果表明,提出的結(jié)合語音分離指標(biāo)HIT-FA 改進(jìn)均方誤差構(gòu)成的損失函數(shù)L不僅可以在訓(xùn)練中有效收斂,同時可以實(shí)現(xiàn)語音分離系統(tǒng)HIT-FA、STOI 和PESQ 性能方面的提升。
將優(yōu)化后的語音分離系統(tǒng)算法與傳統(tǒng)的LSTM語音分離系統(tǒng)作對比,取不同信噪比條件下分離語音結(jié)果的平均值,如圖5 所示,文中構(gòu)建的語音分離系統(tǒng)算法在Accuracy、HIT-FA、STOI 和PESQ 方面都獲得了較好的表現(xiàn),實(shí)現(xiàn)了對系統(tǒng)優(yōu)化的目的。
圖5 算法性能測試對比結(jié)果
文中將IBM 作為目標(biāo),采用LSTM 網(wǎng)絡(luò)構(gòu)建語音分離模型并進(jìn)行優(yōu)化,為實(shí)現(xiàn)訓(xùn)練時間的縮短,簡化其單元結(jié)構(gòu),結(jié)合注意力機(jī)制對抽取的語音MFCC及RASTA-PLP 特征組合進(jìn)一步優(yōu)化,對輸入特征中的噪聲予以抑制,優(yōu)化數(shù)據(jù)在訓(xùn)練過程中的計(jì)算,減少噪聲對最終結(jié)果的影響。由于通過模型結(jié)構(gòu)的優(yōu)化無法實(shí)現(xiàn)系統(tǒng)綜合性能的全面提升,提出一種新的損失函數(shù)對模型訓(xùn)練過程進(jìn)行改進(jìn),將與語音評價(jià)指標(biāo)HIT-FA 直接相關(guān)的函數(shù)與傳統(tǒng)的MSE損失函數(shù)相結(jié)合運(yùn)用到模型訓(xùn)練中,從而更好地匹配語音分離性能指標(biāo)。為驗(yàn)證算法的泛化性,在不同信噪比條件下,將干凈語音和噪聲進(jìn)行混合分別進(jìn)行訓(xùn)練和測試。實(shí)驗(yàn)證明,從模型的單元結(jié)構(gòu)和輸入對傳統(tǒng)LSTM 系統(tǒng)進(jìn)行優(yōu)化,實(shí)現(xiàn)了訓(xùn)練時間的縮短,同時結(jié)合注意力機(jī)制對模型輸入進(jìn)行優(yōu)化,使訓(xùn)練過程中的計(jì)算更集中在目標(biāo)語音上,系統(tǒng)各性能實(shí)現(xiàn)提升。最后,將提出的損失函數(shù)運(yùn)用到訓(xùn)練中,可以更好地與語音分離各性能相匹配,實(shí)現(xiàn)系統(tǒng)性能的綜合提升。