周曉東,陳人楷,孫華星,莫鈔然
(1.國網(wǎng)福建省電力有限公司信息通信分公司,福建 福州 350000;2.廣州廣哈通信股份有限公司,廣東 廣州 510000)
在傳統(tǒng)電力調(diào)度通信系統(tǒng)中,調(diào)度通話雙方甚至多方的語音必須在錄音系統(tǒng)中存儲,其存儲方式為雙方甚至多方的語音被存儲在單個錄音文件中。這種存儲方式對于語音識別和聲紋識別的準(zhǔn)確率會帶來阻礙,其中單聲道多人語音問題被稱為雞尾酒會問題。解決雞尾酒會問題的傳統(tǒng)機(jī)器學(xué)習(xí)方法,主要有計算機(jī)聽覺場景分析(Computational Auditory Scene Analysis,CASA)、非負(fù)矩陣分解(Non-negative Matrix Factorization,NMF)和生成模型的方法等。計算機(jī)聽覺場景分析系統(tǒng)(CASA)[1]是利用一定的組織準(zhǔn)則和適當(dāng)?shù)姆蛛x線索,模擬人類聽覺系統(tǒng)處理聲音的過程。CASA 的計算目標(biāo)是理想二值掩碼IBM。在混合語音中,如果目標(biāo)語音占主導(dǎo)地位,則IBM 值記為1;否則,為0。但是,CASA 對噪聲掩蔽不夠徹底,分離出的語音仍含有較多的干擾聲音,且在分離相對時延較大的一路信號時存在困難。文獻(xiàn)[2-3]提出了非負(fù)矩陣分解(NMF)方法,求解兩個非負(fù)矩陣,使得它們的乘積盡可能地接近輸入矩陣。NMF 應(yīng)用于雞尾酒會問題的主要思路:學(xué)習(xí)單個說話者的語音特征wk,將所有說話者的字典矩陣串聯(lián)起來形成一個最終的字典,再求解系數(shù)矩陣Hm,最后將第k 個說話者的基矩陣Wk(k=1,2,…,p)乘以系數(shù)矩陣(k=1,2,…,p),從而提取出第k 個說話者的語音信號的幅度譜Xk。文獻(xiàn)[4-7]解釋了基于生成模型的方法,應(yīng)用最廣泛的是GMM-HMM,但計算量較大,且只能用于說話人已知的情況。隨著深度學(xué)習(xí)的發(fā)展,深度學(xué)習(xí)方法逐漸應(yīng)用到雞尾酒會問題中,基本思路是根據(jù)輸入的語音信息,通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練對應(yīng)說話人的掩碼,然后用這個掩碼與混合語音信號相乘,從而分離出不同說話人。文獻(xiàn)[8-11]提出了幾種使用廣泛的掩碼,主要有IBM、IRM、SMM、PSM 和cIRM。其中,在不同信噪比下,IRM 性能都優(yōu)于IBM、SMM 和IRM 性能類似,且都優(yōu)于傳統(tǒng)的非負(fù)矩陣分解的方法。文獻(xiàn)[12-13]提出了深度聚類(Deep Clustering,DPCL)的方法,是一種說話人無關(guān)的分離模型。這種方法通過把混疊語音中的每個時頻單元結(jié)合其上下文信息映射到一個新的空間,并在這個空間上進(jìn)行聚類,使得在這一空間中屬于同一說話人的時頻單元距離較小,可以聚類到一起。文獻(xiàn)[14]提出了深度吸引子網(wǎng)絡(luò)(Deep Attractor Network,DANet)。研究表明,人的腦回路會產(chǎn)生感知吸引子,這些吸引子使吸引空間形變,將與之相似的聲音吸引過來。DANet 與之類似,會在嵌入空間中形成參考吸引子,并將與之類似的聲音吸引過來。文獻(xiàn)[15]提出了置換不變網(wǎng)絡(luò)(Permutation Invariant Training,PIT),實(shí)驗(yàn)結(jié)果顯示,PIT 的性能優(yōu)于傳統(tǒng)的非負(fù)矩陣分解(NMF)、計算機(jī)聽覺場景分析(CASA)和深度聚類(DPCL),且和說話人的數(shù)目和語言無關(guān),容易實(shí)現(xiàn),且易與其他方法結(jié)合。但是,PIT 在分離性別相同的說話人時,性能比性別相反的說話人時性能要差,且能分離的最大數(shù)目取決于網(wǎng)絡(luò)結(jié)構(gòu)。由于傳統(tǒng)的方法都是在頻域?qū)φZ音信號進(jìn)行處理,而將信號變換到頻域時需要對信號加窗。為實(shí)現(xiàn)足夠的頻率分辨率,需要的窗函數(shù)對應(yīng)的時間很長,且可能引起相位幅度的解耦。為解決以上限制,文獻(xiàn)[16]首次提出在時域直接處理信號,并提出了TasNet(Time-domain Audio Separation Network)。實(shí)驗(yàn)結(jié)果表明,TasNet 減少了計算量,分離效果優(yōu)于之前提出的DPCL、PIT 和DANet。
本文的模型結(jié)構(gòu)如圖1 所示,主要包括預(yù)處理、特征提取、attention 模塊和k-means 聚類4 部分。

圖1 模型結(jié)構(gòu)
在將語音信號輸入到神經(jīng)網(wǎng)絡(luò)之前,要先對語音信號進(jìn)行降采樣到8 kHz,然后對其做短時傅里葉變化。本文在實(shí)驗(yàn)中使用32 ms 的漢明窗,窗移為8 ms。為了保證語音信號的局部一致性,對語音信號進(jìn)行100 幀的分割。

圖2 LSTM 結(jié)構(gòu)

本文使用雙向LSTM(BiLSTM)提取語音信號的特征。LSTM 是RNN 的特例,解決了RNN 長距離依賴的問題。LSTM 主要包括遺忘門、輸入門和輸出門,結(jié)構(gòu)如圖2 所示。ft是遺忘門輸入,xt是當(dāng)前時刻輸入,it是輸入門輸入,是輸入門神經(jīng)元輸出,ht是當(dāng)前時刻隱藏層輸出,ht-1是上一時刻隱藏層輸出,Ct是輸出神經(jīng)元最終輸出,Wf、bf、Wi、bi和Wc、bc、Wo、bo是在訓(xùn)練過程中需要學(xué)習(xí)的參數(shù)。雙向LSTM 由前向LSTM 和后向LSTM 組成,如圖3 所示,輸出yt為兩個LSTM 輸出的組合,如式(7)~式(9)所示,可以更好地捕捉數(shù)據(jù)之間的數(shù)據(jù)依賴。


圖3 雙向LSTM 結(jié)構(gòu)
人類在觀察一幅圖片時,可通過快速掃描獲取整體圖像信息獲得重點(diǎn)觀察區(qū)域,也就是注意力焦點(diǎn),然后對這一區(qū)域投入更多資源,目的是取更多細(xì)節(jié)信息而忽略其他無用信息。這是在長期進(jìn)化過程中人類逐漸形成的一種生存機(jī)制,使得可以從大量信息中用有限的資源篩選出更高價值的信息。神經(jīng)網(wǎng)絡(luò)中的注意力機(jī)制與此類似,核心是從大量信息中篩選出對當(dāng)前任務(wù)更有效的信息。注意力模型在機(jī)器翻譯、圖像描述、文本摘要中被廣泛使用,主要包括hard attention、soft attention、global attention、local attention 和self attention 等類型。在本文模型中采用的attention 機(jī)制的結(jié)構(gòu)如圖4 所示。

圖4 attention 模型結(jié)構(gòu)
初始時令Q=K=V=I,其中I 為輸入向量且I=[i1,i2,…,in],其中n 為向量維度,計算Q 和K 的點(diǎn)積,并除以K 的維度,然后將所得結(jié)果通過softmax函數(shù),從而得到每一特征向量的權(quán)重α:

經(jīng)過attention 模塊后,所得向量為:

無監(jiān)督聚類算法主要包括k-means、高斯混合聚類、密度聚類以及層次聚類等。由于k-means具有原理簡單、實(shí)現(xiàn)容易等優(yōu)點(diǎn),因此本文選擇k-means 算法對經(jīng)過attention 模塊后的語音特征進(jìn)行聚類,算法流程如下:
(1)首先確定K 值,即聚類后的集合數(shù)目;
(2)從數(shù)據(jù)集中隨機(jī)選擇K 個數(shù)據(jù)點(diǎn)作為初始質(zhì)心;
(3)對于數(shù)據(jù)集中的每一個點(diǎn),分別計算它們與這K 個點(diǎn)的歐氏距離,根據(jù)距離遠(yuǎn)近分別將這些數(shù)據(jù)劃分到K 個質(zhì)心所在的集合中;
(4)對(3)中K 個集合中的每個數(shù)據(jù)點(diǎn),分別重新計算每個集合的質(zhì)心;
(5)如果(4)中得到的新的質(zhì)心沒有變化,則聚類結(jié)束,所得的K 個集合就是最后的劃分結(jié)果,否則返回(3)。
本文中,訓(xùn)練和測試所用的數(shù)據(jù)集為wsj0 數(shù)據(jù)集。其中,訓(xùn)練集包含50 個男性說話人和51 個女性說話人,測試集包含10 個男性說話人和8 個女性說話人。每個說話人有141 ~142 條語音,每條語音持續(xù)時間為5 ~6 s,采樣率為16 kHz,比特率為256 kb/s,在預(yù)處理中將其降采樣到8 kHz。實(shí)驗(yàn)中按照測試集中的語音是否出現(xiàn)在訓(xùn)練集中,將測試集劃分為開放的數(shù)據(jù)集和封閉的數(shù)據(jù)集,并按照性別將測試集劃分為男性和男性混合、男性和女性混合、女性和女性混合3 種情況。
假設(shè)語音信號經(jīng)過短時傅里葉變化后的向量為I=[i1,i2,…,in],每層雙向LSTM 有600 個節(jié)點(diǎn),經(jīng)過attention 模塊后輸出的向量為O=[o1,o2,…,on]。對每一個時頻點(diǎn),若說話人A 的信號能量高于B,則記mi為1,否則為0。那么,對于每一個輸出向量O,在對應(yīng)的時頻點(diǎn)上有M=[m1,m2,…,mn]。在本文的模型中,損失函數(shù)為:

將文獻(xiàn)[12]中的結(jié)果與本文的模型進(jìn)行性能對比,結(jié)果如表1 所示。評價指標(biāo)為SDR。SDR 是評價語音信號損失的指標(biāo),值越大說明語音信號損失越小。

表1 不同情況下混合說話人的語音分離結(jié)果
從表1 可見,在封閉數(shù)據(jù)集下,當(dāng)混合語音由男性和男性組成時,SDR(Signal-to-Distortion Ratio)增加了20.58%;當(dāng)混合語音由女性和女性、男性和女性組成時,SDR 分別增加了17.25%、1.88%,整體SDR 增加了22.78%;在開放數(shù)據(jù)集下,SDR 在男性和男性混合、女性和女性混合、女性和男性混合時,SDR 分別增加了3.56%、20.87%、1.04%,整體SDR 增加了17.67%。需要說明的是,上述數(shù)據(jù)通過“(本文數(shù)據(jù)-DC+k-means)/DC+k-means”獲得。綜上,本文的模型相比于原來的模型在不同性別的語音混合情況下,SDR 都有所提升,其中在女性和女性的語音混合時性能提升幅度最大。
本文提出了一種雙向BLST 和注意力機(jī)制融合的語音分離模型。在算法模型中使用雙向LSTM 來提取語音信號的高維特征,用attention 模塊為每一個語音特征分配權(quán)重,用k-means 對輸出結(jié)果進(jìn)行聚類,從而在混合語音中分離出兩個說話人。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)沒有attention 模塊的深度聚類模型相比,本文的算法模型取得了更好的分離性能。在封閉/開放的數(shù)據(jù)集上,新算法的SDR 增長率在不同聲音混合情形下都有不同數(shù)量的提升。在電力調(diào)度領(lǐng)域中,實(shí)際情況下可能不止有2 個人在同時說話,對于3 人或3 人以上的語音分離任務(wù)將是未來的研究重點(diǎn)。