徐浩森, 姜囡, 齊志坤
(中國刑事警察學院公安信息技術與情報學院, 沈陽 110854)
語音降噪一直以來都是語音識別、通信系統和司法語音檢驗等領域的重要研究內容,它是以抑制或消除背景噪聲為目的的一類信號處理的總稱[1-2]。
目前,語音降噪的方法大致可以分為兩類:一類是以數字信號處理為基礎的語音降噪方法,例如,譜減法、維納濾波法、基于統計模型的方法和小波變換法等[3-4]。另一類則是以深度學習為基礎的語音降噪方法,以大量合成實驗語音為樣本,通過時頻掩蔽或頻譜映射的方法對神經網絡進行訓練得到干凈語音的掩碼或估測幅值從而進行語音降噪[5-6]。
在深度學習領域中,許多網絡結構都可以應用于語音降噪中,例如多層感知機(multi-layer perception,MLP)、卷積神經網絡(convolutional neural networks,CNN)、自編解碼網絡(denoising auto-encoders,DAE)、循環神經網絡(rerrent neural network,RNN)、生成對抗網絡(generative adversarial networks,GAN)和混合結構網絡等。MLP網絡模型是最基本和最簡單的語音降噪網絡,其網絡中的所有節點都是完全連接的,最早由Xu等[7]于2014年提出3個隱藏層的MLP網絡,使用對數功率譜作為輸入輸出特征進行語音降噪;但由于模型結構過多的全連接從而導致巨大的計算量,增加了計算成本和處理時間。
卷積神經網絡,是一種解決MLP計算問題的網絡模型,通過在前向和后向傳播中使用卷積運算,以減少網絡參數。CNN最初是用于處理圖像相關的任務并在圖像分類領域中取得了卓越的成效,文獻[8]通過實驗證明CNN在音頻處理中同樣具有顯著的效果。文獻[9]提出將全連接層替換為2D卷積層的全卷積網絡(fully convolutional neural networks,FCNN),以減少網絡的學習參數。通過不同深度和不同感受野的卷積層可以更好地提取不同尺度的特征,有利于語音頻率特征的恢復,但由于供卷積網絡學習的語譜圖特征具有時間和頻率兩個維度,而卷積往往在時間和頻域這兩個維度同時進行,造成語音時間維度特征的丟失,導致語音降噪性能受到限制[5]。
RNN是用于處理帶有時序特征的一種神經網絡。其利用當前時刻的輸入和上一時刻的輸出來預測下一時刻的輸出,從而充分利用之前時刻與當前時刻語音幀之間的聯系,使其具有較強的時間建模能力。文獻[10]使用了具有多個訓練目標的長短期記憶(long short-term memory,LSTM)的RNN結構,顯著提高了語音質量和可理解性的客觀指標。同時,采用LSTM結構可以有效避免RNN帶來的梯度爆炸等問題。文獻[11]提出使用雙向長短期記憶(Bi-LSTM)來減弱風噪聲的影響。但文獻[12]表明,LSTM在對頻率維度特征提取方面較弱,導致降噪語音質量低。
DAE是最近研究中最常用的語音降噪架構[13],Park等在語音降噪領域首次提出自編解碼卷積網絡,并將池化層和上采樣層替換為卷積層,在人群噪音中取得了較好的效果[14]。Tan等[12]在文獻[14]的基礎上使用兩個LSTM作為中間層用于增加語音的上下文關系,在語音質量和客觀感知度上都有所提升。Yin 等[15]在網絡中引入時頻注意力機制,通過增大卷積核的感受野來提高語音的諧波關系,對諧波的恢復有一定程度的提高。文獻[16-17]通過將中間層的LSTM移至編解碼部分前后,來降低網絡的學習參數,并使用先驗信噪比作為網絡的輸出特征,明顯提高了網絡的降噪效果。
通道注意力機制的可學習參數少且嵌入簡便,可以使網絡中的卷積核在不同含噪語音降噪中的作用更加突出,減少噪音成分殘留和進一步提高語音的恢復質量。因此,現提出一種基于通道注意力機制的自編解碼卷積循環網絡,通過將中間層引入通道注意力機制,建立不同特征之間的關聯,提升卷積核在不同噪聲特征提取中的作用,并將LSTM和Bi-LSTM分別放置在編碼器前和解碼器后用于提取和恢復語音的時間維度特征。
自編碼網絡也是DNN的一種類型,目的是在使用兩個獨立網絡產生的輸出來擬合輸入:一個網絡作為編碼器,另一個網絡作為解碼器。編碼器通過去除含噪語音中的噪聲成分后生成輸入數據的壓縮形式,然后解碼器對其重構從而恢復出純凈語音的估計形式,其處理流程如圖1所示。

短時傅里葉變換(short-time Fourier transform,STFT);協同去噪自動編碼器(collaborative denoising auto-encoders,CDAE);Yl為幅值; ∠Yf為相角;為增強語音的幅度譜圖1 自編解碼網絡語音降噪流程Fig.1 Self-coding-decoding network voice enhancement flow
令含噪語音為x(n),加窗分幀等預處理后得到的語音信號為x(m),幀長為N。并對其做離散傅里葉變換(discrete Fourier transform,DFT)后為

N-1
(1)
對Xi(k)求出每個分量的幅值Yl和相角∠Yf,相角計算公式為

(2)

編解碼的卷積循環網絡框架如圖2所示。其中,編碼網絡由5個卷積層組成,每個卷積層包含一個2D卷積層、批標準化層(batch normalization, BN)和指數線性單元(exponential linear unit,ELU)激活函數層。ELU相比RELU,具有更快的收斂以及更好的泛化效果。解碼網絡同樣也是由相對應的5個轉置卷積層組成,每個轉置卷積層包含一個2D轉置卷積層、BN層和ELU激活函數層。LSTM層與Bi-LSTM層分別由一個LSTM和一個Bi-LSTM和一個全連接層組成,循環網絡的加入有利于語音時間特征的恢復。同時,將循環網絡層置于編解碼網絡的前后相比于將循環網絡作為中間層其降噪效果更好,且可以減少網絡的學習參數[14]。

圖2 基于自編解碼的卷積循環網絡框架Fig.2 Framework of convolutional loop network based on self-codec
由于隨著網絡的加深,特征在逐層傳遞的過程中不可避免地造成部分信息丟失,從而影響網絡的降噪效果,因此,在編碼網絡中的每個卷積層,都與解碼網絡中對應的轉置卷積層之間添加一個跳躍連接,防止語音信息在深層網絡傳遞中的丟失。因此,基線模型R-CED由編碼網絡、解碼網絡以及LSTM和Bi-LSTM層組成。
文獻[18]指出,在編碼網絡中,每一個卷積層都包含由不同數量的卷積核,這些卷積核有的充當高頻濾波器的作用;有的充當低頻濾波器的作用;有的作為噪聲檢測;還有的與帶通濾波器相似等,因此卷積層中的每個卷積核對語音降噪起著不同的作用。通道注意力機制的作用,在于構建了各個噪聲頻率特征之間的重要性,可以根據不同的含噪語音進行特征權重分配,簡潔且有效。例如,當輸入為高頻含噪語音時,通道注意力機制將會給充當高頻濾波器的卷積核分配更高的權重,減少高頻噪聲殘留對語音降噪的影響。應用一個單獨的網絡用于訓練不同通道的權重分布[19],其流程如圖3所示。

圖3 通道注意力機制加權流程Fig.3 Channel attention mechanism weight flow
通道注意力模塊的輸入為編碼網絡的輸出,H為經過編碼網絡編碼后的特征圖在頻率特征上的數值,T為輸入網絡的語音幀數,C為編碼后的特征圖的通道數,也即編碼網絡中第五個卷積層卷積核的個數。通道注意力機制加權流程如下。
編碼網絡編碼后的H×T×C的編碼數據,經過全局平均池化層后,將每個H×T的頻譜圖值相加求平均得到一個數值,并用該數值(1×1×C)表示對應特征圖,直接賦予每個頻譜圖實際的類別意義。
通過參數r為每個特征通道生成權重,r通過兩個全連接層(先將通道數降維隨后升維)學習各通道之間的相關性。在兩個全連接層之間使用一個激活函數增加網絡的非線性關系。
由Sigmoid激活函數得到一個一維的激勵權重來激活每一層通道并加權到每個通道的特征上,并逐通道乘以權重系數,從而完成在通道上引入注意力機制。
引入注意力機制的網絡模型如圖4所示,由5個部分組成。引入注意力機制的網絡模型在編碼網絡后增加了通道注意力機制層(紅色虛線框部分),由1個池化層、2個用于權重分配的全連接層和2個激活函數層組成。
網絡進行卷積運算時為使輸入的語音幀不產生變化,避免解碼網絡在復原時產生時間上的混亂,將編碼網絡中的卷積層輸入邊填充設置為:same;解碼網絡中轉置卷積層輸出大小縮減設置為:1,1,1,0,從而保證在卷積與反卷積過程中時間維度始終為T。將編碼網絡中的卷積層和解碼網絡中的轉置卷積層中卷積核的大小都設置為3×2,構建編解碼網絡卷積的因果關系。各層超參數設置如表1所示。

圖4 引入通道注意力機制的網絡模型框架Fig.4 A network model framework with channel attention mechanism

表1 引入通道注意力機制的網絡模型各層參數配置Table 1 Parameter configuration of network model layers with channel attention mechanism
實驗語音選用由麻省理工學院構建的聲學-音素連續語音語料庫(TIMIT庫)共包含6 300個句子;由美國多個主要方言地區的630個人每人說出給定的10個句子組成;所用的噪聲數據為俄亥俄州立大學實驗室的15類噪聲(分別為白噪聲、車內噪聲、軍用車輛噪音、坦克內部噪聲、餐廳內嘈雜噪聲、高頻信道噪聲、粉紅噪聲、機槍噪聲、工廠車間噪音1、工廠車間噪音2、F16座艙噪聲、驅逐艦機艙噪聲、驅逐艦作戰室背景噪音、Buccaneer駕駛艙噪聲1、Buccaneer駕駛艙噪聲2)。將TIMIT數據集的語音和噪聲庫中的噪聲采樣頻率轉換為16 kHz,從中選取4 500條純凈語音(4~7 s)并從15類噪聲(每類約3 min)中隨機生成與純凈語音等長的片段分別以不同程度的信噪比(-10、-5、0、5、10)進行疊加,在各個信噪比下分別生成4 500條含噪語音的訓練集(共22 500條)。從每類噪聲中隨機選取疊加所需的噪聲片段相比于使用相同的噪聲片段可以增強模型的泛化能力,提高模型對未知噪聲的降噪能力。同時,選取與訓練集不同的218條純凈語音以相同的方法在3種信噪比(-7、0、7)下生成1 090條含噪語音構成模型的測試集。
由于語音具有短時平穩特性,因此需要對語音進行加窗分幀操作并進行傅里葉變換后才能提取出包含語音特征的語譜圖用于模型的訓練。用于實驗的所有語音采樣率均為 16 kHz,語音幀長為 16 ms,即 256 個采樣點,幀移設為 8 ms 并加漢明窗(Hamming window)以防止頻譜泄露。加窗分幀后逐幀進行 STFT后取變換后的幅度譜(amplitude),即包含129維的STFT幅度譜,為了增加語音幀與幀之間的相關性,純凈語音的每1幀對應含噪語音的7個時間幀(由前三幀和后三幀組成),故輸入模型的特征維度為129×7,輸出特征維度為129×1。
在模型訓練上,選用均方誤差(mean squared error, MSE)作為模型的損失函數,模型梯度優化器上選擇帶有偏差修正的Adam優化器,設置每批次進入網絡訓練的分幀數據批(mini-Batch)為512以及最大訓練輪數為60,并設置學習率每20輪乘以0.1。
為證明改進網絡的效果,分別選擇3種模型做對照實驗,第一種模型為文獻[16]中所提出的由三層LSTM組成的循環神經網絡(記為SE-LSTM),其超參數分別為512、512、512。第二種模型為文獻[20-21]中所提出的自編解碼卷積神經網絡(記為CED)。第3種模型為所提的不含注意力機制的卷積循環神經網絡(記為R-CED)。第四種模型為所提出的結合注意力機制的卷積循環網絡(記為AR-CED),四種模型的輸入輸出維度均保持一致。首先,模型SE-LSTM與CED和R-CED進行比較編解碼網絡與循環網絡在語音降噪方面的性能差異。其次, R-CED用于比較AR-CED在引入注意力機制作為中間層后對語音質量及可懂度方面帶來的改進,以及引入注意力機制在語音降噪方面具有的優勢。
實驗選用感知語音質量評價(perceptual evaluation of speech quality,PESQ)作為語音質量的評估指標[22],PESQ分值范圍在-0.5~4.5,分值越高代表降噪后的語音質量越好。在語音可懂度的評估上,使用短時客觀可懂度(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)的情況下表現更為優越。

buccaneer1為駕駛艙噪聲1;destroyer engine為驅逐艦機艙噪聲;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的分上有很大幅度的提升,這也證明了加入時頻注意力機制使模型更加關注語音部分,從而減少噪聲對語音成分的干擾。SE-LSTM在各類噪聲中STOI得分均較低,這是因為LSTM在時間維度上的處理效果較為明顯,但在對頻率維度上的特征影響較大,導致語音頻率上特征的丟失,從而使其STOI得分低。如表3所示,在信噪比為0 dB下,改進的模型在各噪聲下其STOI得分均在0.84以上,相比于含噪語音平均提升約6.3%。
圖7為帶有f16類噪聲的含噪語音分別通過3種模型進行處理后的語譜圖,對比分析圖7(c)、圖7(d)、圖7(e)和圖7(f)后發現,在含語音區域內(紅框),由于噪聲的影響,將紅框內的諧波完全覆蓋,4種模型都可以部分消除噪聲頻率,但引入注意力機制的模型對語音諧波的影響最小,且保留更多的語音頻率信息。在不含語音區域內(黑框),SE-LSTM、CED和R-CED都存在部分噪聲頻率成分殘留,但改進后的模型因為加入通道注意力機制的作用使在復雜的噪聲降噪后可以很大程度上消除不含語音區域的噪聲頻率成分。同時這一現象也與以上模型得分的結果相一致。
在輔音特征方面,對比分析圖7(c)、圖7(d)、圖7(e)和圖7(f)后發現,改進后的模型可以較為準確的恢復輔音能量強度分布,且能夠準確恢復出頻率約2 200 Hz的共振峰(第一個紅框內)。相較于其他3種模型,改進的模型對于輔音特征的恢復能力更佳。

buccaneer1為駕駛艙噪聲1;Destroyer engine為驅逐艦機艙噪聲;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在整體得分上都優于基線模型。對比語譜圖可知,加入注意力機制的改進模型在語音諧波恢復上具有較好的成效,提高了模型的性能。
由于語音頻譜特征具有時間和頻率維度特征,且不同噪聲具有不同的頻率特征,在基于自編解碼卷積循環網絡的語音降噪研究中,通過在編解碼前后加入循環網絡來彌補卷積層對語音時間特征的損失。同時,結合卷積核在網絡中的不同作用,提出引入通道注意力機制對不同功能的卷積核賦予不同的權重,增強網絡對不同噪聲的處理能力。通過PESQ和STOI語音質量評價標準及語譜圖對比分析,可以發現通道注意力機制提高了語音降噪模型對含噪語音的降噪效果。