高志強,戴琳琳,景 輝,王心雨
(1. 北京勤實信息技術有限公司,北京 100008;2. 中國鐵道科學研究院集團有限公司 電子計算技術研究所,北京 100081)
語音降噪是通過語音信號處理技術及相關算法,提高伴有背景噪聲語音信號的可懂度或整體感知評價的一種技術,是語音識別、通信系統等語音交互領域的重要研究內容。早期主要通過數字信號分析的方法來實現語音降噪,如譜減法、濾波法等,以時域、頻域或時頻結合[1]的方式對語音信號進行分解,找到干凈語音或噪聲的特征,從而將二者分離,屬于無監督方法;隨著技術的演進,以深度學習為基礎的有監督語音降噪方法倍受好評,深度學習算法以大量合成的實驗語音為樣本,通過時頻掩蔽或頻譜映射的方法,對神經網絡進行訓練,并得到干凈語音的掩碼或估測幅值,從而實現語音降噪[2-3]。
目前,應用于語音降噪的深度學習網絡結構甚多,例如,多層感知機、卷積神經網絡(CNN,Convolutional Neural Network)、循環神經網絡(RNN ,Recurrent Neural Network)、生成對抗網絡(GAN ,Generative Adversarial Network)等。多層感知機是最基本也最簡單的語音降噪網絡,其網絡中的所有節點都是完全連接的[4]。Xu等人[5]于2014年提出包含3個隱藏層的多層感知機網絡,使用對數功率譜作為輸入、輸出特征進行語音降噪,但由于模型結構過于復雜,導致計算量較大,使得處理時間和計算成本增加;CNN最初被廣泛應用于圖像相關任務[6],后有研究表明[7]CNN在語音處理中同樣具有顯著的效果;RNN擅長處理帶有時序特征的任務[8],充分利用之前時刻與當前時刻語音幀之間的聯系,但RNN在頻率維度特征提取方面能力較弱,會導致降噪語音感知度較低;GAN可看作是生成器與鑒別器的博弈[9],在語音降噪中常用的目標函數僅是估計譜圖和目標譜圖之間的L1或L2正則化距離,然而,較短的正則化距離不代表更高的語音質量。為解決該問題,MetricGAN[10]采用直接優化評價指標分數的生成器,該分數是由鑒別器學習得到的;除此以外,許多降噪方法利用Transformer[11]來捕捉波形或頻譜圖中的長距離依賴性;最近,Conformer[12-13]被引入,作為Transformer的替代方案,發揮同時捕獲局部特征和全局特征的能力。
受上述研究工作啟發,在研究面向鐵路客運站場景的語音降噪模型時,要選擇合適的語音降噪模型進行優化改進,使其達到一個較好的降噪效果,并融入鐵路客運站場景相關噪聲,以增強模型的鐵路領域特征。因此,本文研究基于Conformer關聯度量(Metrics)的生成對抗網絡ConformerGAN,改進語音降噪模型,完成鐵路客運站等嘈雜交互場景下的語音降噪任務。
MetricGAN+[14]是一種用于優化語音質量的語音降噪模型。由于語音降噪模型的損失函數與人類聽覺感知之間有差異,直接使用模型的損失函數去評估語音優化質量效果欠佳。MetricGAN+的訓練流程類似于GAN,其目的是用神經網絡模擬目標評估函數(例如客觀語音質量評估(PESQ,Perceptual Evaluation of Speech Quality)函數)的行為。代理估計函數從原始分數中學習。該模型將目標評估函數視為黑盒,將代理估計函數用作語音增強模型的損失函數,訓練模型時,交替更新代理估計部分的損失和神經網絡部分的損失。
MetricGAN+模型將幅度譜圖作為輸入,生成器部分采用前向長短時記憶(LSTM,Long Short-term Memory)網絡與后向LSTM相結合成的雙向長短時記憶(BiLSTM[15])網絡結構,之后是2個全連接層,第1層全連接層包含用于掩碼估計的激活函數(LeakyReLU)節點,第2層全連接層包含可學習的激活函數(Sigmoid)節點。當掩碼與輸入的噪聲幅度譜圖相乘時,噪聲分量被去除。鑒別器網絡采用4個二維CNN,為處理可變長度的輸入,添加了二維全局平均池化層,隨后連接3個全連接層。
MetricGAN+模型的訓練流程,如圖1所示,上半部分為生成器、下半部分為鑒別器,在訓練過程中兩部分交替更新。語音降噪模型采用神經網絡結構;音頻質量評估表示與神經網絡關聯得到的目標評估函數,如PESQ函數;掩碼用于去除噪聲分量。

圖1 MetircGAN+模型訓練流程
Conformer模型被稱作基于卷積增強的Trans former模型,是CNN和Transformer結合構成的模型,由前饋神經網絡、多頭注意力機制和CNN組成,Conformer 結構,如圖2所示。

圖2 Conformer結構示意
其中,2個前饋神經網絡模塊輸出結果都乘以了1/2。實驗驗證表明[12],與只取單個前饋神經網絡模塊結構的全部輸出相比,各取2個前饋神經網絡模塊一半的輸出,可使模型整體上表現出更為優異的性能。Conformer 計算流程如公式(1)~(4)所示。
其中,FFN、MHSA、Conv、Layernorm分別為前饋神經網絡、多頭注意力機制、卷積神經網絡、歸一化。xi表示Conformer的輸入;表示前饋網絡的輸出;表示多頭注意力機制的輸出;表示卷積模塊的輸出;yi表示Conformer的輸出結果。
深度學習語音降噪大致分為2個方向:(1)時域端到端方法,可從噪聲中直接估計除去噪聲的語音波形;(2)用短時傅里葉變換計算基于時頻的算法,基于時頻算法進一步可分為基于掩碼的估計和基于映射的估計,基于掩碼估計的方法從噪聲的聲學特征中估計出掩蓋噪聲值,將掩蓋噪聲值與噪聲幅度譜相乘,得到除去噪聲的語音信號,基于映射的估計從噪聲中直接估計干凈的幅度譜。
MetricGAN+模型采用基于掩碼估計的方法,在構建的領域數據集上可取得較好效果,PESQ分數為3.10。受相關模型結構的啟發,本文提出一種基于Conformer的語音降噪模型ConformerGAN,其訓練流程與MetricGAN+模型相同,類似于GAN。
在鐵路客運站服務場景下,存在背景噪聲過大、多噪聲類型混合的情況,同時需要考慮幀與幀之間的關聯性,因而在生成器中引入語音特征提取能力更好的Conformer編碼器結構。ConformerGAN生成器由CNN、Conformer、子像素卷積(Sub-pixel Convolution)、激活函數Relu和門控線性單元構成。鑒別器由CNN、平均池化(Avg.Pooling)、線性層(Linear Layer)和激活函數Sigmod構成。Conformer GAN的模型結構,如圖3所示。

圖3 ConformerGAN模型結構
輸入一條嘈雜的語音后,由于語音信號具有短時平穩特性,不利于進行傅里葉分析,需要對語音進行加窗分幀,然后再進行傅里葉變換,轉換為語音復數向量Y0,將復數向量Y0進行冪律壓縮得到頻譜圖Y,頻譜圖表示信號頻率與能量的關系。Ym表示幅度;c表示壓縮系數,取值在0到1之間;j表示虛數;Yp表示相位。語音信號處理過程如公式(5)所示。
生成器流程:(1)將幅度Ym作為生成器的輸入,經過2個二維卷積神經網絡,降低特征維度的同時還可學習到潛在的特征表示;(2)將提取到的潛在特征表示放入Conformer模塊,并使用激活函數Sigmod平滑Conformer模塊的輸出;(3)獲取到輸出后,使用子像素卷積層來提升特征維度;(4)使用卷積層加激活函數Relu來預測掩碼,將噪聲幅度譜圖與掩碼相乘,理論上會得到降噪后的語音。生成器的訓練目的是生成與干凈語音相似的降噪語音。
鑒別器流程:(1)經過4個相同的卷積模塊,每個卷積模塊包括卷積神經網絡、歸一化、LeakyReLU激活。CNN利用時間和空間上的平移不變性,克服語音信號本身的多樣性;歸一化保證訓練過程中數據的有效性;LeakyReLU激活函數可使網絡引入非線性因素。(2)在卷積模塊后連接一個平均池化層、一個線性層和一個Sigmoid激活函數。當輸入是一對干凈的語音和降噪語音及這對語音對應的PESQ標簽時,可用來估計降噪后的PESQ得分。
ConformerGAN的損失優化過程與GAN相同,即訓練是對生成器損失LG和相應的鑒別器損失LD的最小優化任務。損失計算公式為
其中,G表示生成器;D表示鑒別器;x表示干凈語音;y表示經過降噪的語音;QPESQ表示歸一化的PESQ得分;Ex表示對干凈語音做極大似然估計;Ex,y表示對干凈和降噪后的語音做極大似然估計。
在數據集構造方面,相比于使用相同的噪聲片段,從每類噪聲中隨機選取疊加所需的噪聲片段,可增強模型的泛化能力,提高模型對未知噪聲的降噪能力。
為加強語音降噪模型的鐵路客運站場景領域特征,需構建適用于鐵路客運站場景的語音服務數據集。干凈語音數據集一部分來源于鐵路12306互聯網售票系統人工客服對話語音數據,對人工客服語音數據進行拆分和人工校驗;另一部分是組織專人錄制的旅客常見問題的語音數據。干凈語音平均時長5~7 s,共12000條有效語音片段。噪聲數據集引入鐵路客運站廣播錄音、鐵路客運站大廳環境錄音、檢票口人工播報錄音、人工服務臺環境錄音等,每條錄音選取約5 min作為背景噪聲。在訓練集中,隨機從干凈語音片段中選擇11000條,并與鐵路客運站錄音噪聲隨機生成的與干凈語音等長的噪聲片段進行疊加,混合信噪比分別為0、5 dB、10 dB、15 dB。在測試集中,將剩余的1000條干凈語音與未見噪聲以同樣隨機生成噪聲片段的方式進行疊加,混合信噪比分別為2.5 dB、7.5 dB、12.5 dB、17.5 dB。
語音特征提取需要對語音進行加窗分幀并進行傅里葉變換,實驗所有語音均為單聲道,采樣率設為16 kHz,語音幀長設為16 ms,幀移設為8 ms。冪律壓縮系數c設為0.7,Conformer模塊數量N分別設為2、4、12,訓練的batch size設為16。模型的生成器和鑒別器均采用Adam優化器,訓練最大迭代設為100。
為保證實驗環境配置的處理能力滿足算法模型訓練需要,本文采用的配置如表1所示。

表1 實驗環境配置
實驗選用4種評價指標來評估降噪后的語音質量,分別是PESQ、CSIG、CBAK、COVL。其中,PESQ量化語音信號的感知質量,CSIG、CBAK和COVL分別代表相同尺度下語音信號的信號失真、背景干擾和整體質量的平均主觀意見評分。平均主觀意見評分的范圍在1~ 5之間,值越高表示性能越好。
以MetricGAN+模型作為基線模型,在數據集上對改進前后的模型進行對比測試,基線模型和改進后模型的測評結果,如表2所示。

表2 模型測評結果
從實驗結果可看出,本文提出的模型在所有的評價指標上都優于基線模型。考慮到網絡層數(參數規模)會對模型的評價標準有影響,在實驗中將網絡層數N分別設置為2層、4層、12層進行對比。結果表明,與基線模型相比,ConformerGAN(N=2)模型的PESQ提升0.11、CSIG提升0.28、CBAK提升0.25、COVL提升0.28;ConformerGAN(N=4)模型的PESQ提升0.19、CSIG提升0.53、CBAK提升0.46、COVL提升0.38。當嘗試進一步提高網絡層數時,各項指標并未如期增長,結果與ConformerGAN(N=4)模型基本相當,甚至略微下降,這可能是因為隨著模型深度的增加導致某些淺層的學習能力有所下降。另外,文獻[14]表明基線模型在公開數據集VoiceBank-DEMAND上指標PESQ、CSIG、CBAK、COVL分 別為3.15、4.14、3.16、3.64。可看出各項指標均優于在鐵路客運站語音服務數據集上的結果,這可能是因為相比公開數據集,自建數據集場景噪聲的影響因素更加復雜多變。
在鐵路客運站應用場景下,由于站內廣播聲音過大,會在旅客與車站智能服務機器人交互過程中產生負面影響。為解決該問題,將本文提出的語音降噪模型ConformerGAN與語音識別服務相結合,應用到車站智能服務機器人中。在鐵路客運站內多個子場景下,分別對比200條語音數據,平均音頻時長3 s。語音質量及對語音識別字錯率(CER ,Character Error Rate)的影響,如表3所示。

表3 車站智能服務機器人語音降噪效果
結果顯示,在鐵路客運站多個子場景下,使用本文的語音降噪模型均能夠提升語音質量,圖4為降噪前的音頻語圖,圖5為降噪后的音頻語圖。音頻語圖的上、下分別表示語音波形圖和語譜圖。音頻語圖橫坐標表示時間(單位:ms),語音波形圖部分縱向表示幅度,語譜圖部分縱向表示頻率(單位:Hz)。將本文研究的降噪模型與車站智能服務機器人結合后,能夠有效降低車站嘈雜背景對語音識別準確率的影響,提升用戶的交互體驗。

圖4 降噪前音頻語圖

圖5 降噪后音頻語圖
本文提出一種鐵路客運站場景下的語音降噪模型ConformerGAN,考慮到Conformer更加適用于序列建模的特性,同時在鑒別器中使用代理評估函數,解決評估度量不匹配問題。實驗和模型落地應用的結果均表明,所提出的模型在鐵路客運站場景下能夠取得較好的降噪效果,并提升客運站場景下語音識別的準確率。下一步,本文的語音降噪服務將逐漸擴展到鐵路出行服務的多個應用場景。因此,如何使語音降噪模型在更多的應用場景下達到較好的降噪效果,將是下一階段的研究重點。