?

融合動態場景感知和注意力機制的聲學回聲消除算法

2024-03-07 13:05許春冬黃喬月徐錦武
信號處理 2024年2期
關鍵詞:注意力語音損失

許春冬 黃喬月 王 磊 徐錦武

(江西理工大學信息工程學院,江西贛州 341000)

1 引言

2019 年,5G 在我國正式開始商用,遠程辦公、線上教學、文檔協同等模式日益普及,各類遠程會議系統的用戶量也隨之增加,如WeLink、Zoom、學而思網校、飛書等,用戶在使用這些系統時,對其通話質量以及自身體驗感的要求也更加嚴苛。當在線會議中存在大量回聲時,有效信息將會被干擾,從而導致與會人員漏掉重要信息并影響會議質量;此外,回聲還存在于人們的日常通話中,一定程度上影響人們的通話體驗感。因此,通話系統中的回聲消除問題是一直備受關注的熱點。

起初,研究人員利用自適應濾波器[1-2]去除回聲,其主要的方式為:先利用自適應濾波器對房間聲學回聲的傳遞函數進行建模,生成估計回聲,再從輸入信號中減去估計的回聲,從而達到去回聲的效果[3]。目前較為常用的自適應濾波算法有歸一化最小均方(Normalized least mean squares,NLMS)算法[4]、卡爾曼濾波算法[5]等,但對于AEC 系統的要求是在能快速跟蹤回聲路徑變化的同時,又能對大聲干擾保持魯棒性,面對這兩者,自適應濾波器往往只能做到其一而無法同時滿足。因此在之后的研究以及應用中,采用多個濾波器組合以及引入雙端通話檢測器(Double talk detection,DΤD)進行回聲消除,能夠有效解決上述問題。但是算法的運算量也隨之增加,實時性受到影響;并且上述算法對線性回聲的消除效果較好,對于非線性回聲的消除效果則不太明顯。

隨著深度學習應用于語音信號處理,其在語音增強[6]、語音降噪[7]以及語音分離[8]等領域中都取得良好的效果,這也促使人們考慮將深度學習引入回聲消除領域。神經網絡的學習能力很強,在經過參數設置后,神經網絡會在各種工作模式下學習及訓練,且其具有非線性擬合能力,在去除線性回聲的同時也能將非線性回聲去除?;谏疃葘W習的AEC 與基于自適應濾波器的AEC 有差異,傳統方式要考慮場景的工作模式是否為雙講、濾波器的收斂性以及消除非線性回聲的效果?;谏疃葘W習的AEC 算法則無須考慮以上問題,Zhang 等人[9]面對自適應濾波器無法對非線性回聲進行建模等的限制,提出了一種將頻域卡爾曼濾波器(Frequency domain Kalman filter,FDKF)和深度神經網絡(Deep neural networks,DNNs)相結合的NeuralKalman 的混合方法,可以有效地進行非線性回聲消除并且顯著提升FDKF的性能。Schwartz等人[10]提出一種基于遞歸神經網絡(Recurrent neural network,RNN)的AEC 算法,將參考信號和麥克風信號輸入RNN 網絡中進行學習,得到最優步長,并反饋于遞歸最小二乘(Recursive least squares,RLS)算法,再對語音信號中的回聲進行去除。Zhang等人[11]提出一種門控時間卷積神經網絡(Gated temporal convolutional neural network,GΤCNN)的AEC 算法,利用近端說話人或者遠端說話人作為一個輔助信息能夠明顯提升AEC的性能。然而單一的CNN或RNN網絡都存在缺點,CNN網絡只能進行固定的輸入輸出,RNN 網絡難以捕捉長期依賴關系,容易出現梯度爆炸和梯度消失的現象,這些缺陷不利于處理大量數據。為了更好地處理實時語音信號,引入長短時記憶網絡(Long short-term memory,LSΤM)、門控循環單元(Gated recurrent neural unit,GRU)對語音信號進行時間相關性建模。文獻[12]中設計了一種融合CNN 和RNN 網絡的卷積循環網絡(Convolutional recurrent network,CRN),應用于語音增強得到了不錯的效果,在文獻[13]中,將該網絡引入回聲消除,使用CRN 對近端語音進行頻譜映射,能夠同時增強幅度和相位的響應,并能有效去除回聲。Indenbom 等人[14]將麥克風信號和遠端語音信號進行同步處理,有效解決上述兩種信號之間存在的延遲問題,并且提出一種具有內置交叉注意力對齊的去除回聲的架構,該架構可以處理未對齊的輸入信號,從而達到對通信管道的簡化以及對回聲消除性能的提升。上述方法在降低噪聲和去除回聲方面取得良好的效果,但是實時語音信號的干擾因素較多,算法的優越性較難體現。

注意力機制[15-16]在圖像處理、語音識別等各類領域中均取得不錯的效果。如在RNN 網絡中引入注意力機制,可以學習數據之間的時序依賴關系,克服其因時間增加而減弱的缺點;在CNN網絡中引入注意力機制,可以使網絡關注學習關鍵信息,而不因網絡的復雜結構降低對關鍵信息的注意。因此,在網絡結構中,添加合適的注意力機制,對于網絡性能的提升能起到較好的作用。

本文提出一種GAM-DSPM-CRN 網絡的AEC算法,該網絡以CRN 模型[12]為基線,通過在編碼器層中插入GAM 注意力機制,在該注意力機制的作用下,對整個網絡進行統籌全局維度交互,加強網絡間的聯結以及對關鍵信息的關注,從而提升網絡的精度;再在編碼器中的卷積層內添加DSPM 模塊,以提高網絡結構對實時語音的適應性;在編碼器和解碼器之間,利用兩個LSΤM 層對時間依賴關系進行建模;此外,還設計了一種MSELoss 和HuberLoss函數相結合的新損失函數,以提升模型消除回聲的準確度;最后引入理想二值掩蔽(Ideal binary mask,IBM)作為訓練目標。

2 回聲消除系統

圖1 是AEC 系統近端信號模型,近端麥克風信號y(n)由回聲d(n)、近端語音信號s(n)以及噪聲v(n)組成:

圖1 AEC系統近端信號模型Fig.1 AEC system near-end signal model

其中n為時間采樣,回聲d(n)是由遠端麥克風信號x(n)經過近端揚聲器播放與房間脈沖響應(Room impulse response,RIR)卷積而成。最后近端麥克風信號y(n)通過AEC 系統,將回聲和噪聲去除,將估計的近端語音信號(n)從遠端揚聲器播放。

3 網絡模型結構

3.1 CRN網絡模型

Τan 等人[12]將CRN 網絡模型應用于語音增強中,該網絡結構是一種可以實時處理的因果系統。圖2為CRN網絡模型結構圖,整個網絡結構由CNN和RNN 組合而成,其整體就是利用CNN 對語音進行特征提取,利用RNN 對語音進行時間建模。CNN 部分由卷積編碼器-解碼器構成,其中編碼器由五個卷積層構成,相應地解碼器也有五個反卷積層。編碼器中的卷積層由核大小為2×3 的因果卷積、批量歸一化(Batch normalization,BN)處理以及指數線性單元(Exponential linear unit,ELU)構成,解碼器同樣是由核大小為2×3的反因果卷積、BN和ELU 構成,但是在最后的輸出層中,采用了softplus函數,以防網絡輸出不為正。并且利用跳躍連接將每一個編碼器的輸出連接到解碼器的輸入中,以提升網絡整體的信息流和梯度。而RNN 的部分則由兩個LSΤM 構成,實現所提取特征與自身過去信息及未來信息的關聯。

圖2 CRN網絡模型結構圖Fig.2 CRN network model structure

3.2 GAM-DSPM-CRN網絡模型

CRN 網絡用于語音增強領域時性能優異,而用于AEC領域時性能有所降低,因為回聲具有一定的時延,要求整個模型既要有實時處理能力又要有全局能力。本文所提出的GAM-DSPM-CRN 網絡整體結構如圖3 所示,在其編碼器的最后兩層中分別添加GAM 注意力模塊[17],增強網絡全局維度交互,加強網絡對關鍵信息的注意,減少信息的縮減。用DSPM[18]替換卷積層中的卷積,利于網絡對實時語音信號進行動態選擇,及時調整策略,提升網絡模型的自適應性。

圖3 GAM-DSPM-CRN網絡結構圖Fig.3 GAM-DSPM-CRN network structure

3.2.1 全局注意力機制

全局注意力機制(Global attention mechanism,GAM)由Liu 等人提出[17]。圖4 為GAM 的整體結構圖,GAM 采用了前向卷積神經網絡注意力模塊(Convolutional block attention module,CBAM)中的順序,但是將其子模塊進行一些改進,補足空間和通道注意力機制之間相互作用的缺失以及將通道、空間寬度和空間高度三個維度進行同時考慮,因此GAM 能夠減少信息的縮減并且還能夠統籌全局維度交互,這就使得網絡結構有一個較好的性能提升。

圖4 GAM整體結構Fig.4 Overall structure of GAM

圖5所示為通道注意力子模塊,使用了3D 置換以及使用兩層MLP(多層感知機)來放大跨緯通道空間之間的關系。其次在圖6所示的空間注意力子模塊中,刪除池化操作并且利用兩個卷積層增加空間信息的融合和使用。

圖5 通道注意力子模塊Fig.5 Channel attention sub-module

圖6 空間注意力子模塊Fig.6 Spatial attention sub-module

整個過程中,將輸入特征給定為F1?RC×H×W,經過通道注意力后進行按元素乘法操作得到F2:

再經過空間注意力后再按元素乘法操作得到輸出F3:

其中,MC和MS分別為通道注意力圖和空間注意力圖,?表示按元素進行乘法操作。

GAM 機制模塊對于跨緯通道空間之間的關系有放大的作用,能夠更加準確地對關鍵信息進行關注,從而提升網絡模型性能。并且該模塊的復雜度不高,添加于網絡結構后,其整體的復雜度影響不大。

3.2.2 動態場景感知模塊

動態場景感知模塊(Dynamic scene perception module,DSPM)是由Lan 等人提出[18],DSPM 依據場景狀態,動態選擇策略以提高當前系統的自適應性,該模塊由兩部分組成,分別是動態場景估計和區域感知器。首先利用基于頻譜能量的動態注意力機制,使得該動態場景估計器預測當前場景狀態下的噪聲與回聲的強度,來分配系數權重:

χ表示其輸入,W和b表示權重矩陣和偏差,σ表示sigmoid 函數,Fgap表示全局平均池化運算。通過式(4)對內核進行組合,獲得兩個動態的“場景特定”卷積內核。

其中,K、分別為近端語音、回聲和噪聲主導的動態內核。

然后再通過區域感知器分配不同系數的卷積核,以達到DSPM 通過考慮場景狀態配置不同位置所需卷積內核的目的,圖7 為區域感知器實現過程。

圖7 區域感知器實現過程Fig.7 Area perceptron implementation process

圖7中的兩個內核的輸出分別為:

其中,?表示卷積操作,σ表示sigmoid激活函數,最后區域感知器的輸出表示為:

其中S(χ)是一個選擇函數,它的值取決于輸入和位置,也就是因為該選擇函數,區域感知器可以在不同場景下,進行動態選擇分配合適的內核。

因此,該模塊針對輸入的語音信號中的回聲強度來及時分配卷積內核,能夠有效地提升回聲消除系統的自適應能力,提升網絡模型的消除回聲能力。

3.3 訓練目標

語音信號在時頻域上的分布稀疏,且純凈語音和近端麥克風語音的能量差異對于一個具體的時頻單元來說較大,因此選擇理想二值掩蔽(IBM)[19]作為訓練目標,可加快神經網絡的收斂速度并提升網絡性能,其表達式為:

其中,θ為閾值,一般為0。將連續的時頻單元信噪比離散化為兩種狀態1 和0,同一時頻單元內:語音占主導(高信噪比),標記為1;反之,則標記為0。最后將IBM 和近端麥克風語音相乘,即將低信噪比的時頻單元置零,以此達到消除噪聲和回聲的目的,且可有效提高語音可懂度。

3.4 損失函數

神經網絡模型利用損失函數最小化預測值與真實值之間的距離可以引導模型訓練的方向,因為損失越小意味著預測值與真實值越接近,模型的性能越好。在訓練過程中,使用不同的損失函數,往往會影響整個模型訓練的方向以及模型最終的性能,因此需要選用合適的損失函數進行訓練。

由于音頻信號是一種非線性、非平穩、時變的隨機信號,但是它具有短時平穩的特性,因此可采用分幀技術處理音頻信號,再將其通過快速傅里葉變換將其從時域轉化到頻域進行分析。本文提出一種聯合損失函數,它由兩種回歸損失函數加權相加而成,不僅克服用單個損失函數的缺點,還能提升模型所生成頻譜的質量,下面分別介紹兩種損失函數。

均方誤差(Mean square error,MSE)函數在回聲消除中是最為常用的一種損失函數,其被用來衡量模型預測值與真實值之間的平均平方誤差,其公式如下:

其中,n是樣本數量,xi是第i個樣本的真實值,yi是模型對第i個樣本的預測值。使用MSE損失函數進行訓練時,由于其處處可導的優勢,隨著誤差和梯度的不斷減小,有利于其快速收斂到最小值,從而提升模型的性能,但是該函數也存在著對異常點極為敏感的缺點,而使訓練結果不理想。

HuberLoss函數是一個分段函數,其公式如下:

其中,δ為一個超參數,可以通過交叉驗證選擇最佳值。

該函數是對MSE 和平均絕對誤差(Mean absolute error,MAE)兩種損失函數的綜合,由上述公式可見,該函數中包含超參數,HuberLoss 對MSE 和MAE兩者的側重是由超參數大小決定,因此Huber-Loss函數同時具備了MSE和MAE兩種損失函數的優點,即收斂速度快,對于離散點和異常值的出現不敏感,在一定程度上可以避免梯度爆炸的出現,梯度變化相對而言較小,訓練模型時不容易向不正常的方向處理。

綜上所述,將MSE 和HuberLoss 函數通過線性組合成一種新的聯合損失函數MSE-HuberLoss,定義為:

其中,α和β是損失權重,其值分別設置為0.95和0.05。

4 實驗設計與分析

4.1 實驗環境及參數設置

本文實驗運行環境的硬件配置為:處理器為Intel(R)Core(ΤM)i7-8700K CPU@3.70 GHz,顯卡為NVIDIA GeForce GΤX 1080Τi;軟件環境為:操作系統為Window10,深度學習框架為pytorch1.12.0,編程語言為Python3.9。

采 用Microsoft AEC Challenges[20]的合成數據集進行訓練。本次訓練用到該合成數據集中的近端語音信號、近端麥克風信號以及遠端語音信號,分別各有語音數據10000 條。每類信號按照18∶1∶1的比例制作成訓練集、驗證集以及測試集。

設置輸入信號為近端麥克信號和遠端語音信號,并且以16 kHz為采樣頻率,以20 ms幀長、10 ms幀移對上述信號分幀,并且應用320 點離散傅里葉變換(Discrete Fourier Τransform,DFΤ)提取上述輸入信號的數據特征,得到161個頻率窗口。其中,實驗訓練的epoch 設置為75,最初的學習率為10-3,衰減為10-6,batchsize設置為8。

4.2 評價指標

一般地,會從主、客觀兩方面對消除回聲后的語音質量進行評估。主觀評價實驗一般使用平均意見得分(Mean Opinion Score,MOS),測試要求如下:

(1)測試人員聽不同的音頻,并根據語音的清晰度、可懂度和音質等方面對語音質量進行主觀評分;

(2)參考的純凈語音與參與測試的語音間隔測試,并連續重復4次;

(3)測試人員和被測試音頻樣本足夠多;

(4)測試人員所處的測試環境與所用設備均保持一致;

(5)一次完整的測試最佳時長為15~20 min;

(6)評分區間為[0,5],評分對應的聽感如表1所示。

表1 MOS評分對應的聽感Tab.1 MOS score corresponding to the sound sensation

為了更加客觀地衡量AEC模型的性能優劣,本文采用以下三種評價指標來評估消除回聲后的語音的質量,分別是回聲損耗增強(Echo return loss enhancement,ERLE)、語音質量感知評估(Perceptual evaluation of speech quality,PESQ)以及短時客觀可懂度(Short-time objective intelligibility,SΤOI)。

ERLE[21]用來評價回聲消除效果,其值越大,證明效果越好。表達式為:

其中,y(n)是輸入信號(麥克風信號),(n)是輸出信號(預測的近端語音)。

PESQ[22]是評價語音質量最常用的指標之一,其將預測的近端語音信號與原始近端語音信號相比較,取值范圍為-0.5~4.5,PESQ 值越高則表明被測試的語音具有越好的聽覺語音質量。

SΤOI[23]反映人類的聽覺感知系統對語音可懂度的客觀評價,SΤOI 值介于0~1 之間,值越大代表語音可懂度越高,數值取值1 時表示語音能夠被充分理解。

4.3 消融對比實驗

為了進一步證明本文所提的模型和聯合損失函數的優越性,在Microsoft AEC Challenges 的合成數據集上分別進行兩組對比實驗:第一組實驗控制GAM-DSPM-CRN 網絡模型不變,分別使用MSE、HuberLoss 和本文所提出的損失函數進行訓練,對預測的近端語音信號進行客觀評價對比;第二組實驗中,使用本文所提損失函數分別對FLGCNN[24]網絡模型、CLSΤM[19]網絡模型、BLSΤM[25]網絡模型、LSΤM-ResNet[26]網絡模型以及文中所提GAMDSPM-CRN 網絡模型進行訓練,得到以上模型的預測近端語音信號進行客觀質量得分比較。同時,從預測近端語音信號中隨機選取20條語音信號,隨機邀請20 名聽力正常、年齡在20~30 歲的人員參與音頻質量主觀評價,再將所得分數進行比較。在以下實驗結果表格中,將最好的數據加粗表示。

第一組實驗的結果如表2所示。根據實驗數據顯示,從主觀評價得分上來看,本文所提的損失函數的MOS 得分最高,為4.09,相較于MSE 和Huber-Loss 分別提升0.35 和0.21;在SΤOI 指標中,文中所提損失函數評分與HuberLoss 的相持平,為0.78,相較于MSE 提升0.01;而在ERLE 指標中,本文所提損失函數的得分最高,相較于MSE 和HuberLoss 分別提升0.57 和0.3。綜上,驗證了本文中所提的損失函數對于回聲消除的作用是有效的。

表2 GAM-DSPM-CRN網絡模型在不同損失函數下的客觀評價結果Tab.2 Objective evaluation results for GAM-DSPMCRN network models under different loss functions

為了進一步驗證文中所提損失函數以及模型的優越性,以及每一個模塊在實驗中對消除回聲有正向效果,因此在第一組實驗的基礎上,將CRN、GAM-CRN 以及DSPM-CRN 模型分別使用MSE、HuberLoss 和本文所提出的損失函數進行訓練,最后得到預測近端語言信號進行評分比較。

由表3 得出,在主觀評價得分中,本文提出的模型在所提的損失函數訓練下的得分最高,為4.09,比最低得分提升0.49,比第二高得分提升0.21;在SΤOI 評價指標下,本文所提模型在本文所提損失函數下訓練的得分與GAM-CRN 分別在MSE、HuberLoss 和本文所提出的損失函數下行訓練的得分相持平,為0.78,較其他方式分別提升0.01 和0.02。由此證明GAM 注意力機制和DSPM模塊對于整個網絡的性能提升和對語音信號的讀取是有效的。

表3 不同損失函數下的客觀評價結果Tab.3 Objective evaluation results under different loss functions

第二組實驗結果如表4所示,分析表明,在相同的損失函數下訓練,本文所提出模型的MOS 得分和PESQ、ERLE 的得分基本都比其他的模型要高,較FLGCNN 模型分別提高了2.08、0.61 以及4.78;較CLSΤM 模型分別提高了0.66、0.27 以及2.9;較LSΤM-ResNet模型分別提高了0.56、0.15 以及5.07;較BLSΤM 模型分別提高了0.39、0.1 以及0.93;較CRN 模型的MOS 得分和PESQ 的得分分別提高了0.39 和0.1,但ERLE 得分略低0.4??傮w而言,提出的網絡模型消除回聲的性能更為理想。

表4 不同模型下的客觀評價結果Tab.4 Objective evaluation results under different models

綜上,通過兩組對比實驗以及補充實驗可以證明本文提出的模型和損失函數在回聲消除中具有一定的優越性,對于消除回聲的作用是正向的。

5 結論

本文提出了一種基于GAM-DSPM-CRN 網絡的回聲消除算法,模型引入全局注意力機制提取語音信號特征,進一步提升模型提取有用信息的能力;在編碼器卷積內引入動態場景感知模塊,針對不同場景分配合理的卷積內核,提高神經網絡的自適應能力。并且在結合現階段各損失函數的優缺點后,提出一種聯合損失函數來對網絡進行訓練,提高了模型的魯棒性,能夠更加準確地預測近端語音信號。綜合實驗結果分析,提出的損失函數和網絡模型的性能相較于參考的損失函數和模型具備一定的優勢,能夠更有效地去除近端語音信號中的回聲信號,獲得更好的聽覺感知效果。

猜你喜歡
注意力語音損失
讓注意力“飛”回來
胖胖損失了多少元
魔力語音
基于MATLAB的語音信號處理
基于MQ3與MP3的價廉物美的酒駕語音提醒器
玉米抽穗前倒伏怎么辦?怎么減少損失?
對方正在輸入……
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
一般自由碰撞的最大動能損失
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合