徐浩森, 姜囡, 齊志坤
(中國刑事警察學(xué)院公安信息技術(shù)與情報學(xué)院, 沈陽 110854)
語音降噪一直以來都是語音識別、通信系統(tǒng)和司法語音檢驗等領(lǐng)域的重要研究內(nèi)容,它是以抑制或消除背景噪聲為目的的一類信號處理的總稱[1-2]。
目前,語音降噪的方法大致可以分為兩類:一類是以數(shù)字信號處理為基礎(chǔ)的語音降噪方法,例如,譜減法、維納濾波法、基于統(tǒng)計模型的方法和小波變換法等[3-4]。另一類則是以深度學(xué)習(xí)為基礎(chǔ)的語音降噪方法,以大量合成實驗語音為樣本,通過時頻掩蔽或頻譜映射的方法對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練得到干凈語音的掩碼或估測幅值從而進行語音降噪[5-6]。
在深度學(xué)習(xí)領(lǐng)域中,許多網(wǎng)絡(luò)結(jié)構(gòu)都可以應(yīng)用于語音降噪中,例如多層感知機(multi-layer perception,MLP)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)、自編解碼網(wǎng)絡(luò)(denoising auto-encoders,DAE)、循環(huán)神經(jīng)網(wǎng)絡(luò)(rerrent neural network,RNN)、生成對抗網(wǎng)絡(luò)(generative adversarial networks,GAN)和混合結(jié)構(gòu)網(wǎng)絡(luò)等。MLP網(wǎng)絡(luò)模型是最基本和最簡單的語音降噪網(wǎng)絡(luò),其網(wǎng)絡(luò)中的所有節(jié)點都是完全連接的,最早由Xu等[7]于2014年提出3個隱藏層的MLP網(wǎng)絡(luò),使用對數(shù)功率譜作為輸入輸出特征進行語音降噪;但由于模型結(jié)構(gòu)過多的全連接從而導(dǎo)致巨大的計算量,增加了計算成本和處理時間。
卷積神經(jīng)網(wǎng)絡(luò),是一種解決MLP計算問題的網(wǎng)絡(luò)模型,通過在前向和后向傳播中使用卷積運算,以減少網(wǎng)絡(luò)參數(shù)。CNN最初是用于處理圖像相關(guān)的任務(wù)并在圖像分類領(lǐng)域中取得了卓越的成效,文獻[8]通過實驗證明CNN在音頻處理中同樣具有顯著的效果。文獻[9]提出將全連接層替換為2D卷積層的全卷積網(wǎng)絡(luò)(fully convolutional neural networks,F(xiàn)CNN),以減少網(wǎng)絡(luò)的學(xué)習(xí)參數(shù)。通過不同深度和不同感受野的卷積層可以更好地提取不同尺度的特征,有利于語音頻率特征的恢復(fù),但由于供卷積網(wǎng)絡(luò)學(xué)習(xí)的語譜圖特征具有時間和頻率兩個維度,而卷積往往在時間和頻域這兩個維度同時進行,造成語音時間維度特征的丟失,導(dǎo)致語音降噪性能受到限制[5]。
RNN是用于處理帶有時序特征的一種神經(jīng)網(wǎng)絡(luò)。其利用當前時刻的輸入和上一時刻的輸出來預(yù)測下一時刻的輸出,從而充分利用之前時刻與當前時刻語音幀之間的聯(lián)系,使其具有較強的時間建模能力。文獻[10]使用了具有多個訓(xùn)練目標的長短期記憶(long short-term memory,LSTM)的RNN結(jié)構(gòu),顯著提高了語音質(zhì)量和可理解性的客觀指標。同時,采用LSTM結(jié)構(gòu)可以有效避免RNN帶來的梯度爆炸等問題。文獻[11]提出使用雙向長短期記憶(Bi-LSTM)來減弱風(fēng)噪聲的影響。但文獻[12]表明,LSTM在對頻率維度特征提取方面較弱,導(dǎo)致降噪語音質(zhì)量低。
DAE是最近研究中最常用的語音降噪架構(gòu)[13],Park等在語音降噪領(lǐng)域首次提出自編解碼卷積網(wǎng)絡(luò),并將池化層和上采樣層替換為卷積層,在人群噪音中取得了較好的效果[14]。Tan等[12]在文獻[14]的基礎(chǔ)上使用兩個LSTM作為中間層用于增加語音的上下文關(guān)系,在語音質(zhì)量和客觀感知度上都有所提升。Yin 等[15]在網(wǎng)絡(luò)中引入時頻注意力機制,通過增大卷積核的感受野來提高語音的諧波關(guān)系,對諧波的恢復(fù)有一定程度的提高。文獻[16-17]通過將中間層的LSTM移至編解碼部分前后,來降低網(wǎng)絡(luò)的學(xué)習(xí)參數(shù),并使用先驗信噪比作為網(wǎng)絡(luò)的輸出特征,明顯提高了網(wǎng)絡(luò)的降噪效果。
通道注意力機制的可學(xué)習(xí)參數(shù)少且嵌入簡便,可以使網(wǎng)絡(luò)中的卷積核在不同含噪語音降噪中的作用更加突出,減少噪音成分殘留和進一步提高語音的恢復(fù)質(zhì)量。因此,現(xiàn)提出一種基于通道注意力機制的自編解碼卷積循環(huán)網(wǎng)絡(luò),通過將中間層引入通道注意力機制,建立不同特征之間的關(guān)聯(lián),提升卷積核在不同噪聲特征提取中的作用,并將LSTM和Bi-LSTM分別放置在編碼器前和解碼器后用于提取和恢復(fù)語音的時間維度特征。
自編碼網(wǎng)絡(luò)也是DNN的一種類型,目的是在使用兩個獨立網(wǎng)絡(luò)產(chǎn)生的輸出來擬合輸入:一個網(wǎng)絡(luò)作為編碼器,另一個網(wǎng)絡(luò)作為解碼器。編碼器通過去除含噪語音中的噪聲成分后生成輸入數(shù)據(jù)的壓縮形式,然后解碼器對其重構(gòu)從而恢復(fù)出純凈語音的估計形式,其處理流程如圖1所示。
短時傅里葉變換(short-time Fourier transform,STFT);協(xié)同去噪自動編碼器(collaborative denoising auto-encoders,CDAE);Yl為幅值; ∠Yf為相角;為增強語音的幅度譜圖1 自編解碼網(wǎng)絡(luò)語音降噪流程Fig.1 Self-coding-decoding network voice enhancement flow
令含噪語音為x(n),加窗分幀等預(yù)處理后得到的語音信號為x(m),幀長為N。并對其做離散傅里葉變換(discrete Fourier transform,DFT)后為
N-1
(1)
對Xi(k)求出每個分量的幅值Yl和相角∠Yf,相角計算公式為
(2)
編解碼的卷積循環(huán)網(wǎng)絡(luò)框架如圖2所示。其中,編碼網(wǎng)絡(luò)由5個卷積層組成,每個卷積層包含一個2D卷積層、批標準化層(batch normalization, BN)和指數(shù)線性單元(exponential linear unit,ELU)激活函數(shù)層。ELU相比RELU,具有更快的收斂以及更好的泛化效果。解碼網(wǎng)絡(luò)同樣也是由相對應(yīng)的5個轉(zhuǎn)置卷積層組成,每個轉(zhuǎn)置卷積層包含一個2D轉(zhuǎn)置卷積層、BN層和ELU激活函數(shù)層。LSTM層與Bi-LSTM層分別由一個LSTM和一個Bi-LSTM和一個全連接層組成,循環(huán)網(wǎng)絡(luò)的加入有利于語音時間特征的恢復(fù)。同時,將循環(huán)網(wǎng)絡(luò)層置于編解碼網(wǎng)絡(luò)的前后相比于將循環(huán)網(wǎng)絡(luò)作為中間層其降噪效果更好,且可以減少網(wǎng)絡(luò)的學(xué)習(xí)參數(shù)[14]。
圖2 基于自編解碼的卷積循環(huán)網(wǎng)絡(luò)框架Fig.2 Framework of convolutional loop network based on self-codec
由于隨著網(wǎng)絡(luò)的加深,特征在逐層傳遞的過程中不可避免地造成部分信息丟失,從而影響網(wǎng)絡(luò)的降噪效果,因此,在編碼網(wǎng)絡(luò)中的每個卷積層,都與解碼網(wǎng)絡(luò)中對應(yīng)的轉(zhuǎn)置卷積層之間添加一個跳躍連接,防止語音信息在深層網(wǎng)絡(luò)傳遞中的丟失。因此,基線模型R-CED由編碼網(wǎng)絡(luò)、解碼網(wǎng)絡(luò)以及LSTM和Bi-LSTM層組成。
文獻[18]指出,在編碼網(wǎng)絡(luò)中,每一個卷積層都包含由不同數(shù)量的卷積核,這些卷積核有的充當高頻濾波器的作用;有的充當?shù)皖l濾波器的作用;有的作為噪聲檢測;還有的與帶通濾波器相似等,因此卷積層中的每個卷積核對語音降噪起著不同的作用。通道注意力機制的作用,在于構(gòu)建了各個噪聲頻率特征之間的重要性,可以根據(jù)不同的含噪語音進行特征權(quán)重分配,簡潔且有效。例如,當輸入為高頻含噪語音時,通道注意力機制將會給充當高頻濾波器的卷積核分配更高的權(quán)重,減少高頻噪聲殘留對語音降噪的影響。應(yīng)用一個單獨的網(wǎng)絡(luò)用于訓(xùn)練不同通道的權(quán)重分布[19],其流程如圖3所示。
圖3 通道注意力機制加權(quán)流程Fig.3 Channel attention mechanism weight flow
通道注意力模塊的輸入為編碼網(wǎng)絡(luò)的輸出,H為經(jīng)過編碼網(wǎng)絡(luò)編碼后的特征圖在頻率特征上的數(shù)值,T為輸入網(wǎng)絡(luò)的語音幀數(shù),C為編碼后的特征圖的通道數(shù),也即編碼網(wǎng)絡(luò)中第五個卷積層卷積核的個數(shù)。通道注意力機制加權(quán)流程如下。
編碼網(wǎng)絡(luò)編碼后的H×T×C的編碼數(shù)據(jù),經(jīng)過全局平均池化層后,將每個H×T的頻譜圖值相加求平均得到一個數(shù)值,并用該數(shù)值(1×1×C)表示對應(yīng)特征圖,直接賦予每個頻譜圖實際的類別意義。
通過參數(shù)r為每個特征通道生成權(quán)重,r通過兩個全連接層(先將通道數(shù)降維隨后升維)學(xué)習(xí)各通道之間的相關(guān)性。在兩個全連接層之間使用一個激活函數(shù)增加網(wǎng)絡(luò)的非線性關(guān)系。
由Sigmoid激活函數(shù)得到一個一維的激勵權(quán)重來激活每一層通道并加權(quán)到每個通道的特征上,并逐通道乘以權(quán)重系數(shù),從而完成在通道上引入注意力機制。
引入注意力機制的網(wǎng)絡(luò)模型如圖4所示,由5個部分組成。引入注意力機制的網(wǎng)絡(luò)模型在編碼網(wǎng)絡(luò)后增加了通道注意力機制層(紅色虛線框部分),由1個池化層、2個用于權(quán)重分配的全連接層和2個激活函數(shù)層組成。
網(wǎng)絡(luò)進行卷積運算時為使輸入的語音幀不產(chǎn)生變化,避免解碼網(wǎng)絡(luò)在復(fù)原時產(chǎn)生時間上的混亂,將編碼網(wǎng)絡(luò)中的卷積層輸入邊填充設(shè)置為:same;解碼網(wǎng)絡(luò)中轉(zhuǎn)置卷積層輸出大小縮減設(shè)置為:1,1,1,0,從而保證在卷積與反卷積過程中時間維度始終為T。將編碼網(wǎng)絡(luò)中的卷積層和解碼網(wǎng)絡(luò)中的轉(zhuǎn)置卷積層中卷積核的大小都設(shè)置為3×2,構(gòu)建編解碼網(wǎng)絡(luò)卷積的因果關(guān)系。各層超參數(shù)設(shè)置如表1所示。
圖4 引入通道注意力機制的網(wǎng)絡(luò)模型框架Fig.4 A network model framework with channel attention mechanism
表1 引入通道注意力機制的網(wǎng)絡(luò)模型各層參數(shù)配置Table 1 Parameter configuration of network model layers with channel attention mechanism
實驗語音選用由麻省理工學(xué)院構(gòu)建的聲學(xué)-音素連續(xù)語音語料庫(TIMIT庫)共包含6 300個句子;由美國多個主要方言地區(qū)的630個人每人說出給定的10個句子組成;所用的噪聲數(shù)據(jù)為俄亥俄州立大學(xué)實驗室的15類噪聲(分別為白噪聲、車內(nèi)噪聲、軍用車輛噪音、坦克內(nèi)部噪聲、餐廳內(nèi)嘈雜噪聲、高頻信道噪聲、粉紅噪聲、機槍噪聲、工廠車間噪音1、工廠車間噪音2、F16座艙噪聲、驅(qū)逐艦機艙噪聲、驅(qū)逐艦作戰(zhàn)室背景噪音、Buccaneer駕駛艙噪聲1、Buccaneer駕駛艙噪聲2)。將TIMIT數(shù)據(jù)集的語音和噪聲庫中的噪聲采樣頻率轉(zhuǎn)換為16 kHz,從中選取4 500條純凈語音(4~7 s)并從15類噪聲(每類約3 min)中隨機生成與純凈語音等長的片段分別以不同程度的信噪比(-10、-5、0、5、10)進行疊加,在各個信噪比下分別生成4 500條含噪語音的訓(xùn)練集(共22 500條)。從每類噪聲中隨機選取疊加所需的噪聲片段相比于使用相同的噪聲片段可以增強模型的泛化能力,提高模型對未知噪聲的降噪能力。同時,選取與訓(xùn)練集不同的218條純凈語音以相同的方法在3種信噪比(-7、0、7)下生成1 090條含噪語音構(gòu)成模型的測試集。
由于語音具有短時平穩(wěn)特性,因此需要對語音進行加窗分幀操作并進行傅里葉變換后才能提取出包含語音特征的語譜圖用于模型的訓(xùn)練。用于實驗的所有語音采樣率均為 16 kHz,語音幀長為 16 ms,即 256 個采樣點,幀移設(shè)為 8 ms 并加漢明窗(Hamming window)以防止頻譜泄露。加窗分幀后逐幀進行 STFT后取變換后的幅度譜(amplitude),即包含129維的STFT幅度譜,為了增加語音幀與幀之間的相關(guān)性,純凈語音的每1幀對應(yīng)含噪語音的7個時間幀(由前三幀和后三幀組成),故輸入模型的特征維度為129×7,輸出特征維度為129×1。
在模型訓(xùn)練上,選用均方誤差(mean squared error, MSE)作為模型的損失函數(shù),模型梯度優(yōu)化器上選擇帶有偏差修正的Adam優(yōu)化器,設(shè)置每批次進入網(wǎng)絡(luò)訓(xùn)練的分幀數(shù)據(jù)批(mini-Batch)為512以及最大訓(xùn)練輪數(shù)為60,并設(shè)置學(xué)習(xí)率每20輪乘以0.1。
為證明改進網(wǎng)絡(luò)的效果,分別選擇3種模型做對照實驗,第一種模型為文獻[16]中所提出的由三層LSTM組成的循環(huán)神經(jīng)網(wǎng)絡(luò)(記為SE-LSTM),其超參數(shù)分別為512、512、512。第二種模型為文獻[20-21]中所提出的自編解碼卷積神經(jīng)網(wǎng)絡(luò)(記為CED)。第3種模型為所提的不含注意力機制的卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(記為R-CED)。第四種模型為所提出的結(jié)合注意力機制的卷積循環(huán)網(wǎng)絡(luò)(記為AR-CED),四種模型的輸入輸出維度均保持一致。首先,模型SE-LSTM與CED和R-CED進行比較編解碼網(wǎng)絡(luò)與循環(huán)網(wǎng)絡(luò)在語音降噪方面的性能差異。其次, R-CED用于比較AR-CED在引入注意力機制作為中間層后對語音質(zhì)量及可懂度方面帶來的改進,以及引入注意力機制在語音降噪方面具有的優(yōu)勢。
實驗選用感知語音質(zhì)量評價(perceptual evaluation of speech quality,PESQ)作為語音質(zhì)量的評估指標[22],PESQ分值范圍在-0.5~4.5,分值越高代表降噪后的語音質(zhì)量越好。在語音可懂度的評估上,使用短時客觀可懂度(short time objective intelligibility,STOI)作為指標[23],STOI分值在0~1范圍,值越大,可懂度越高。
選取測試集中6種具有代表性的噪聲在信噪比為0 dB下的PESQ得分差值如圖5所示,可以很清晰地看到,改進模型的得分差值在任何噪聲中,相比于其他模型都有所提升。其中,在F16噪聲中相比于SE-LSTM的PESQ差值提升最大,約0.3;在Destroyer engine類噪聲中相比于R-CED的PESQ差值提升最大,約0.13;在Hf channel類噪聲中相比與CED 的PESQ差值提升最大,約0.15。如表2所示,改進的模型在各種噪聲中的PESQ得分相比于含噪語音均值提高0.53。而且,相比于R-CED,AR-CED在低信噪比(0 dB)的情況下表現(xiàn)更為優(yōu)越。
buccaneer1為駕駛艙噪聲1;destroyer engine為驅(qū)逐艦機艙噪聲;f16為F16座艙噪聲;factory1為工廠車間噪音1; Hf channel為高頻信道噪聲;pink為粉紅噪聲圖5 不同噪聲下增強語音PESQ得分Fig.5 PESQ enhanced speech PESQ scores in different noise
表2 不同信噪比下各模型PESQ得分Table 2 PESQ score of each model under different SNR
圖6為在信噪比為0 dB時各類噪聲下的STOI得分,較3種對比模型,改進的模型在STOI的分上有很大幅度的提升,這也證明了加入時頻注意力機制使模型更加關(guān)注語音部分,從而減少噪聲對語音成分的干擾。SE-LSTM在各類噪聲中STOI得分均較低,這是因為LSTM在時間維度上的處理效果較為明顯,但在對頻率維度上的特征影響較大,導(dǎo)致語音頻率上特征的丟失,從而使其STOI得分低。如表3所示,在信噪比為0 dB下,改進的模型在各噪聲下其STOI得分均在0.84以上,相比于含噪語音平均提升約6.3%。
圖7為帶有f16類噪聲的含噪語音分別通過3種模型進行處理后的語譜圖,對比分析圖7(c)、圖7(d)、圖7(e)和圖7(f)后發(fā)現(xiàn),在含語音區(qū)域內(nèi)(紅框),由于噪聲的影響,將紅框內(nèi)的諧波完全覆蓋,4種模型都可以部分消除噪聲頻率,但引入注意力機制的模型對語音諧波的影響最小,且保留更多的語音頻率信息。在不含語音區(qū)域內(nèi)(黑框),SE-LSTM、CED和R-CED都存在部分噪聲頻率成分殘留,但改進后的模型因為加入通道注意力機制的作用使在復(fù)雜的噪聲降噪后可以很大程度上消除不含語音區(qū)域的噪聲頻率成分。同時這一現(xiàn)象也與以上模型得分的結(jié)果相一致。
在輔音特征方面,對比分析圖7(c)、圖7(d)、圖7(e)和圖7(f)后發(fā)現(xiàn),改進后的模型可以較為準確的恢復(fù)輔音能量強度分布,且能夠準確恢復(fù)出頻率約2 200 Hz的共振峰(第一個紅框內(nèi))。相較于其他3種模型,改進的模型對于輔音特征的恢復(fù)能力更佳。
buccaneer1為駕駛艙噪聲1;Destroyer engine為驅(qū)逐艦機艙噪聲;f16為F16座艙噪聲;factory1為工廠車間噪音1; Hf channel為高頻信道噪聲;pink為粉紅噪聲圖6 不同噪聲下增強語音STOI得分Fig.6 STOI score of speech enhancement under different noise
表3 不同信噪比下各模型STOI得分Table 3 STOI score of each model under different SNR
圖7 -7 dB下F16類含噪語音降噪后語譜圖Fig.7 -7 dB F16 noise enhanced speech spectrogram
通過分析各模型得分,AR-CED在整體得分上都優(yōu)于基線模型。對比語譜圖可知,加入注意力機制的改進模型在語音諧波恢復(fù)上具有較好的成效,提高了模型的性能。
由于語音頻譜特征具有時間和頻率維度特征,且不同噪聲具有不同的頻率特征,在基于自編解碼卷積循環(huán)網(wǎng)絡(luò)的語音降噪研究中,通過在編解碼前后加入循環(huán)網(wǎng)絡(luò)來彌補卷積層對語音時間特征的損失。同時,結(jié)合卷積核在網(wǎng)絡(luò)中的不同作用,提出引入通道注意力機制對不同功能的卷積核賦予不同的權(quán)重,增強網(wǎng)絡(luò)對不同噪聲的處理能力。通過PESQ和STOI語音質(zhì)量評價標準及語譜圖對比分析,可以發(fā)現(xiàn)通道注意力機制提高了語音降噪模型對含噪語音的降噪效果。