[論文] 基於軸向注意多尺度時頻卷積網路的語音增強演算法

本文介紹了ICASSP2022 DNS Challenge和AEC Challenge第一名百度的技術方案。該方案提出了一種訊號處理-深度學習混合式方法(hybrid method),同時抑制回聲、雜訊和混響。其中訊號處理部分利用線性回聲消除演算法為深度神經網路提供條件資訊(conditional information);而深度學習部分提出了一種語音密集預測網路(speech dense-prediction backbone),其中包括麥克風接收訊號和參考訊號的相位編碼器、多尺度時頻處理和流式軸向注意力(axial attention)機制等策略。該系統在ICASSP2022年AEC和DNS挑戰賽(非個性化賽道)中均排名第一,並擴展到多通道在ICASSP2022 L3DAS22 Challenge中獲得第二名

論文題目:Multi-scale temporal frequency convolutional network with axial attention for speech enhancement
作者:Guochang Zhang, Libiao Yu, Chunliang Wang, Jianqiang Wei (百度語音技術部)

背景動機

線性回聲消除常用於語音通訊中的聲學回聲抑制,然而,揚聲器的非線性失真等效應嚴重影響線性回聲消除的性能。由於深度神經網路相比傳統訊號處理對於殘留回聲、雜訊和混響具有更強的抑制能力。因此本文結合訊號處理和神經網路提出一個同時去噪去混響和回聲抑制的系統。其中,訊號處理部分包括基於廣義互相關的時延對齊模組和基於PNLMS雙濾波器結構的線性回聲消除模組;而神經網路部分是作者提出的基於軸向自注意力的多尺度時頻卷積神經網路(multi-scale temporal frequency convolutional network with axial self-attention, MTFAA-Net)框架,本論文主要有以下兩點貢獻:

  • 為了消除回聲,不同於以往的線性AEC與DNN的直接級聯,本文只使用線性AEC輸出作為DNN的條件資訊,即:除了將線性AEC的輸出和參考訊號作為網路輸入外,還將傳聲器接收訊號作為網路輸入,從而避免將線性AEC引起的失真引入到網路輸入;
  • 本文提出了一種語音密集預測任務的架構,設計了相位編碼器(Phase Encoder, PE)、多尺度時頻處理和流式軸向自注意力(Axial Self-attention, ASA)來提高模型性能。經過PE後利用頻帶合併模組(Band Merging, BM)將STFT域訊號轉換成等效矩形頻寬(Equivalent Rectangular bandwidth, ERB)域以降低全帶訊號處理時的計算複雜度,並在經過網路學習後使用頻帶分解(Band Splitting, BS)操作變換回STFT域。

模型框架

下圖展示了系統框架,其中MTFAA-Net由PE、BM和BS、掩碼估計和應用(masking estimating and applying, MEA)模組和主網路(Main-Net)組成。主網路由頻率下取樣(Frequency Downsampling, FD)或頻率上取樣(Frequency Upsamling, FU)、T-F卷積和ASA組成的模組堆疊而成。

相位編碼層:實值網路(這裡的實值是指相對DCCRN等的復值網路的概念)更容易實現並在許多數據集上取得優異的結果,因此網路的主要部分採用實值網路。相位編碼器用於將複數譜特徵轉換到實數域。在PE模組中,有三個復值卷積層,分別接收傳聲器接收訊號、線性AEC輸出和遠端參考訊號。復值卷積層的卷積核大小和步長分別為(3,1)和(1,1)。此外,PE還包含復值-實值轉換層和特徵動態範圍壓縮(feature dynamic range compression, FDRC)層(就是SDD-Net中的功率壓縮),其中FDRC用於壓縮語音特徵的動態範圍,使網路更魯棒。

頻帶合併與分解:由於語譜資訊在頻率維度上分布不均勻,高頻段存在大量冗餘特徵,本文將STFT域轉換到ERB域以減少冗餘。
時頻卷積模組(TFCM):本文的卷積模組將時序卷積網路(Temporal Convolutional Network, TCN)中的一維空洞卷積代替為二維空洞卷積,卷積核大小為(3,3),B個空洞率從1到\(2^(B-1)\)的二維卷積形成一個TFCM。依次達到小卷積核下多尺度建模時頻資訊的目的。

軸向自注意力機制:自注意力機制可以提高網路捕捉遠距離特徵之間關係的能力,本文提出的ASA可以減少對記憶體和計算的需求,更適合於語音等長序列訊號,如下圖所示。ASA的注意得分矩陣分別沿頻率軸和時間軸計算,分別稱為F-attention和T-attention。分數矩陣可以表示為

其中Mask()保證網路只是用輸入矩陣的上三角部分,從而保證系統因果。

頻率下取樣和上取樣:頻率下取樣(FD)層如下圖左圖所示,是一個包含二維卷積層、batchnorm 和PReLU的卷積模組;頻率上取樣(FU)層則是帶門控融合的反卷積模組,如下圖右圖所示(應該是參考了SNNet)。FD和FU用於提取多尺度特徵,然後在每個尺度上採用TFCM和ASA進行特徵建模,提高了網路對特徵的描述能力。二維卷積和反卷積層的卷積核大小為(1,7),步長為(1,4),分組數為2。

掩蔽估計和應用:掩蔽估計和應用包含兩個階段,第一階段是按照DeepFilter的形式將尺寸為(2V+1,2U+1)的實值掩蔽作用在幅度譜上,第二階段估計復值掩蔽作用在幅度和相位譜上(和PHASEN的形式一樣)。

模型參數:幀長32ms、幀移8ms的STFT復譜作為網路輸入,因此系統總延遲為40ms。FDRC壓縮係數為0.5,ERB的頻帶數為256。PE中複數卷積層的輸出通道數為4。3個FD的輸出通道數分別為48、96、192。一個TFCM中含有6個二維卷積塊。ASA中的通道數為輸入通道的1/4。MEA的實值掩蔽尺寸為(3,1)(推測應該是V=1,U=0)。採用STFT一致的冪律壓縮譜均方誤差作為損失函數。我們以學習率為5e-4的Adam作為優化器。我們訓練MTFAA-Net為300k步,batch size為16。

數據及結果

使用DNS挑戰賽的語音和雜訊進行訓練,VCTK語音集和DEMAND雜訊集進行評估。AEC挑戰賽訓練和驗證集的遠端單講被用作AEC的訓練和評估。採用鏡像源法分別獲取10萬對和1000對混響時間在0.1s到0.8s的RIR進行訓練和評估。所有語句均為48kHz取樣率。訓練時信噪比(SNR)和回波訊號比(SER)分別為[-5,15]dB和[-10,10]dB,評估時SNR和SER分別為[0,10]dB和[- 5,5]dB。


在AEC Challenge和DNS Challenge中都取得第一名,並大幅度優於PoCoNet等語音增強模型。

MTFAA-Net的乘累加操作數約為每秒2.4G。Python實現的系統實時係數(RTF)約為0.6(在使用Intel Core i5 Core的MacBook Pro上),滿足實時性處理要求。

本文所有圖片均來自Multi-scale temporal frequency convolutional network with axial attention for speech enhancement