論文翻譯:2020_Generative Adversarial Network based Acoustic Echo Cancellation

微笑9349426發表於2022-01-03

論文地址:http://www.interspeech2020.org/uploadfile/pdf/Thu-1-10-5.pdf

基於GAN的回聲消除

摘要

  生成對抗網路(GANs)已成為語音增強(如噪聲抑制)中的熱門研究主題。通過在對抗性場景中訓練噪聲抑制演算法,基於GAN的解決方案通常會產生良好的效能。在本文中,提出了卷積迴圈GAN架構(CRGAN-EC),以解決線性和非線性回聲情況。所提出的體系結構在頻域中進行了訓練,並預測了目標語音的時頻(TF)掩碼。部署了幾種度量損失函式,並研究了它們對回聲消除效能的影響。實驗結果表明,所提出的方法在回聲回聲損耗增強(ERLE)和語音質量感知評估(PESQ)方面優於看不見的說話者。此外,多個度量損失函式提供了實現特定目標的更大自由度,例如,更多的回聲抑制或更少的失真。

關鍵字:非線性回聲消除,深度學習,生成對抗網路,卷積迴圈網路

1 引言

  聲音回聲產生於本地音訊迴路,當(近端)麥克風從揚聲器接收音訊訊號,並將其傳送回(遠端)參與者時發生。回聲會極大地干擾談話,讓通話變得非常不愉快和分散注意力。回聲消除(AEC)或回聲抑制(AES)的目的是抑制麥克風訊號的回聲,同時使近端通話者的語音失真最小。傳統的回聲消除演算法在假設遠端訊號與回聲呈線性關係的情況下,利用自適應濾波器[1]來估計回聲路徑。在實踐中,這種線性假設並不總是成立的,因此經常使用[2][3]後置濾波器來抑制殘差回聲。然而,當引入非線性時,這種AEC演算法的效能會顯著下降。雖然提出了一些非線性自適應濾波器,如Volterra濾波器[4],但它們太昂貴而難以實現。

  隨著深度學習技術的發展,利用深度神經網路完成了語音識別[5]、噪聲抑制[6][7]、語音分離[8][9]等語音處理任務。提出了幾種消除回聲的方法。Lee等人[10]使用三層受限玻爾茲曼機(RBM)深度神經網路來預測殘差回聲抑制的增益。Muller等人[11]建議在雙講過程中使用近端非活躍頻率來適應聲傳遞函式,使用兩個全連線層網路來檢測近端訊號的活動。Zhang和Wang[12]提出了一種雙向長短時記憶(BLSTM)演算法,該演算法從麥克風訊號中預測出理想的比例掩碼,然後利用該掩碼重新合成近端語音。這種解決方案不需要雙講檢測而傳統方法做。Carbajal等[13]構建了兩層網路來預測殘差回聲抑制的相敏濾波器。Zhang等人[14]利用卷積迴圈網路和長短期記憶將近端語音從麥克風錄音中分離出來。Fazel等人[15]提出了帶多工學習的深度遞推神經網路來學習估計回聲的輔助任務,以改進估計近端語音的主要任務。

  近年來,生成對抗網路在語音增強中的應用得到了研究。許多基於GAN的語音增強演算法已經被提出。一些是端到端解決方案,直接對映噪音語音到增強訊號[16][17]。其他GANs在T-F域[18][19]工作,預測掩碼,然後在時域重新合成目標語音。

  在本文中,我們提出了一種基於GAN的回聲消除演算法,適用於線性和非線性回聲場景。在發生器網路中,將傳聲器訊號和參考訊號的對數幅值譜作為輸入,預測譜的T-F掩模作為輸出。編碼器由卷積層組成,解碼器相應由反摺積層組成。它們之間是一個兩層的BLSTM。利用卷積層提取麥克風訊號和參考訊號之間的區域性相關性,以及它們之間的對映關係。BLSTM層位於G網路的中心,可以捕獲長期的時間資訊。鑑別器D網路有卷積層和全連線層。鑑別器的輸入為一對ground-truth 訊號和增強訊號,輸出為[0,1]縮放分數,而不是真/假。

  本文的其餘部分組織如下。第2節介紹背景知識。在第3節中,我們介紹了基於GAN的演算法,然後在第4節給出了實驗設定和結果。最後的結論在第五部分給出。

2 背景知識

2.1 回聲消除

  聲波回聲是由麥克風和揚聲器耦合而產生的,如圖1所示。遠端訊號(或參考訊號)\(x(t)\)從揚聲器通過各種反射路徑\(h(t)\)傳播,與近端訊號\(s(t)\)在麥克風\(d(t)\)混合。聲學回聲是\(x(t)\)的修改版本,包括回聲路徑\(h(t)\)和揚聲器失真。

論文翻譯:2020_Generative Adversarial Network based Acoustic Echo Cancellation

圖1 回聲生成和聲學回聲消除的示例

  傳統的AEC演算法利用自適應濾波器估計回聲路徑\(h(t)\),並從麥克風訊號\(d(t)\)中減去估計回聲\(y(t)=\hat{h}(t) * x(t)\)。在雙講期間需要一個單獨的雙講檢測來凍結濾波器自適應。該線性回聲消除器是在參考訊號與聲波回聲呈線性關係的假設下實現的。然而,由於揚聲器等硬體限制,通常會引入非線性。因此,需要一個後置濾波器來進一步抑制殘留回聲。傳統AEC演算法框圖如圖2中上圖所示。

論文翻譯:2020_Generative Adversarial Network based Acoustic Echo Cancellation

圖2 傳統AEC的示例(頂部)和基於神經網路的AEC(底部)

  近年來,基於深度學習的AEC演算法顯示出了巨大的潛力。在有足夠的訓練資料的情況下,無論是在匹配的還是不匹配的測試用例中,基於神經網路的解決方案都比傳統的解決方案具有更好的效能。圖2底部是基於DNN演算法的一個例子。模型輸入由參考訊號和傳聲器訊號的對數幅度譜組成。該模型旨在估計增強的幅度譜(類似於LEC和後置濾波器組合)。最後,麥克風訊號相位用於在時域中重新合成增強訊號。

  評價AEC效能的一般指標包括ERLE和PESQ,這兩個指標也被用於本實驗。

  ERLE常用於測量系統在近端通話不活躍的情況下實現的回聲減少。ERLE的定義是

\[E R L E(d B)=10 \log _{10} \frac{E\left\{d^{2}(t)\right\}}{E\left\{q^{2}(t)\right\}}  (1) \]

其中,E{}表示統計期望。

  PESQ評估雙講期間增強的近端語音的感知質量。PESQ評分通過對比增強訊號與ground-truth訊號計算,評分範圍為(-0.5,4.5),評分越高質量越好。

2.2 生成對抗網路

  GAN由兩個網路組成:一個生成網路G和一個辨別器網路D。這形成了一個極大極小博弈方案(minimax game scenario),G試圖生成假資料來愚弄D,而D正在學習辨別真資料和假資料,重要的是,G並不記憶輸入輸出對,而是學習將資料分佈特徵對映到先驗Z中定義的流形。D通常是一個二元分類器,其輸入要麼是來自G模仿資料集的真實樣本,要麼是由G組成的假樣本。如[20]所述,傳統GAN中D和G的損失函式可以表述為

\[\begin{aligned} \min _{G} \max _{D} V(D, G)=& \mathbb{E}_{y \sim}[\log D(y)] \\ &+\mathbb{E}_{z \sim z}[\log (1-D(G(z)))] \end{aligned}  (2) \]

式中,\(\mathbb{E}_{y \sim Y}\)表示Y來自分佈T的期望。
  
  

論文翻譯:2020_Generative Adversarial Network based Acoustic Echo Cancellation

圖3 GAN訓練過程

  圖3顯示了GAN訓練過程。G調整它的引數,使D將G的輸出分類為實數。在反向傳播過程中,D在輸入中輸入真實特徵方面得到改進,反過來,G糾正其引數向前移動。

3 提出方法

  定義回聲消除問題是為了讓我們有一個輸入回聲已損壞的訊號\(d(t)\),並想要清除它以獲得增強訊號\(q(t)\)。我們建議用GAN模型來完成這項工作。在該方法中,G網路進行增強。它的輸入分別是麥克風訊號\(d(t)\)和參考訊號\(x(t)\)的對數幅度譜\(D(n,k)\)\(X(n,k)\)以及潛在表示z,它的輸出是用於重新合成增強版本\(Q(n,k)=M(n,k)*D(n,k)\)的T-F掩模\(Mask(n,k)=G\{D(n, k), X(n, k)\}\)。G網路具有類似於自動編碼器的形狀,如圖4所示。在編碼階段,有三個二維卷積層,然後是一個reshape layer。卷積使網路專注於輸入訊號中的時間密切相關性,並且顯示出在GAN訓練[21]時更加穩定。相應的,解碼階段是編碼的相反版本,它由三個反摺積層組成。編碼器和解碼器之間有兩個雙向LSTM層來捕獲額外的時間資訊。批處理歸一化(BN)[22]應用於除輸出層外的每個卷積層之後。除輸出層使用sigmoid啟用函式預測T-F掩模外,其他層均使用指數線性單元(ELU)[23]作為啟用函式。

論文翻譯:2020_Generative Adversarial Network based Acoustic Echo Cancellation

圖4 G網路的編解碼器架構

  G網路還具有跳躍連線的特點,將每個編碼層連線到其對應的解碼層,並將輸入譜的細粒度資訊傳遞給解碼器。此外,它們提供了更好的訓練行為,因為梯度可以在整個[24]結構中流動得更深。

  另一方面,D負責向G傳遞真實和虛假的資訊,G可以根據真實的分佈對輸出進行輕微的修正,去掉被認為是假的回聲分量。D可以表示為學習某種損失,使G的輸出看起來真實。D的結構與G中的編碼器相似,有三個卷積層,一個平坦層,然後是三個完全連線的層。

  向更高的客觀度量分數更新權重已經被證明是有效的[19]

\[\begin{aligned} \min _{D} V(D) &=\mathbb{E}_{(z, y) \sim(z, \Upsilon)}\left[(D(y, y)-Q(y, y))^{2}\right] \\ &+\mathbb{E}_{(z, y) \sim(z, \Upsilon)}\left[(D(G(z), y)-Q(G(z), y))^{2}\right] \\ \min _{G} V(G) &=\mathbb{E}_{z, y \sim(z, Y)}\left[(D(G(z), y)-1)^{2}\right]  (3) \end{aligned} \]

其中Q表示標準化的評估指標,其輸出範圍為0,1,因此Q(y,y)=1。此外,我們發現通過在V(G)中新增L2範數可以得到更好的結果:

\[\begin{aligned} \min _{G} V(G) &=\mathbb{E}_{z, y \sim(z, \Upsilon)}\left[(D(G(z), y)-1)^{2}\right] \\ &+\lambda\|G(z)-Y\|^{2}  (4) \end{aligned} \]

  該演算法採用對數幅度譜作為輸入特徵。我們應用的FFT大小為512,視窗長度為25毫秒,步長為10毫秒。較高的客觀指標為PESQ和ERLE, \(\lambda=10\)

  在G的編碼器中,卷積層的特徵對映數量被設定為:16,32和64。第一層的核心大小為(1,3),其餘層為(2,3),步長設定為(1,2)。BLSTM層共包含256個神經元,每個方向128個,時間步長為100。G的解碼器部分遵循與編碼器相反的引數設定。

  在D中設定卷積層的特徵對映個數為:10,20,20,完全連線層的神經元個數為:30,10,1。所有模型都使用Adam優化器[25]進行60個epoch的訓練,學習率為0.002,批處理規模為1。時間步長隨每句話的幀數而變化。D的輸入是一對ground-truth訊號和增強訊號,輸出是[0,1]的縮放分數,而不是真/假。對於PESQ 損失函式, ground-truth訊號是乾淨的近端語音,對於ERLE損失函式, ground-truth訊號是噪聲訊號(或麥克風訊號)。PESQ和ERLE的度量損失都是基於話語水平的(utterance level)。

4 實驗評價

4.1 實驗設定

  TIMIT資料集[26]用於評估回聲消除效能。我們建立了類似於[14] [15]中報告的資料集:從TIMIT的630位說話人中,我們隨機選擇100對說話人(40位男女,30位男女,30位女性-女性)作為遠端說話人。末端和近端揚聲器。隨機選擇同一遠端揚聲器的三種發音,並將其串聯起來以生成遠端訊號。然後,通過後端的零填充將近端揚聲器的每個發聲擴充套件到與遠端訊號相同的大小。近端揚聲器的七種發音用於生成3500種訓練混合訊號,其中每個近端訊號都與五個不同的遠端訊號混合。從剩餘的430個揚聲器中,隨機選擇另外100對揚聲器作為遠端和近端揚聲器。我們按照與上述相同的步驟進行操作,但是這次僅使用了三種話音的近端揚聲器來生成300種測試混合音,其中每個近端訊號都與一個遠端訊號進行了混合。因此,測試混合物來自未經訓練的說話人。

  對遠端訊號採用以下過程來模擬[27]中的非線性聲路徑。對於聲路徑的非線性模型,我們首先使用硬裁剪來模擬揚聲器飽和度(Thr =輸入訊號最大音量的80%):

\[x_{c l i p}(t)= \begin{cases}-x_{\max }, & \text { if } x(t)<-T h r \\ x(t), & \text { if }|x(t)| \leq T h r \\ x_{\max }, & \text { if } x(t)>T h r\end{cases}  (5) \]

  然後,我們應用下面的sigmoid函式來模擬揚聲器失真:

\[x_{N L}(t)=4\left(\frac{2}{1+\exp (-a \cdot b(t))}-1\right)  (6) \]

其中\(b(t)=1.5 x_{\text {clip }}(t)-0.3 x_{\text {clip }}(t)^{2}\), 且若 \(b(t)>0\),則\(a=4\),否則\(a=4\)。最後,將sigmoid函式的輸出與隨機選擇的房間脈衝響應(RIR)進行卷積,得到麥克風採集到的聲回聲。

  使用影像方法[28]生成RIRs進行訓練。RIRs的長度設定為512,模擬室大小為\(4 m \times 5 m \times 3 m\),麥克風放置在[2,2,1.5]m處。揚聲器隨機放置在五個距離麥克風1.5米的位置。混響時間(\(RT_{60}\))在0.2 到0.5秒之間。

  測試中使用RWCP資料庫[29]中的5個真實環境記錄的RIRs生成聲回聲。表1顯示了五種RIRs的資訊。

表1 來自RWCP資料庫的RIR

論文翻譯:2020_Generative Adversarial Network based Acoustic Echo Cancellation

  本次測試同時考慮了線性和非線性回聲場景。在訓練步驟中,在訊號回聲比(SER) {- 6,- 3,0,3,6} dB處隨機產生麥克風訊號,其中SER定義為

\[S E R(d B)=10 \log _{10} \frac{E\{\text { signal_near }}{E} \frac{2}{\left\{\text { signal }_{\text {far }}^{2}\right\}}  (7) \]

  在測試階段,麥克風訊號在SER級別{0,3.5,7}dB產生,與訓練的SERs稍有不同,以評估不匹配的訓練-測試用例。

4.2 實驗結果

  在本實驗中,採用兩種最先進的神經網路演算法,CRNN[14]和多工GRU[15]作為基準。研究表明,基於神經網路的方法優於[15]中傳統的“AES+RES”方法,因此我們跳過這裡的“AES+RES”比較。我們沒有在[14]中原始實現,而是直接使用本文方法中的G作為CRNN結構,引數在第3節給出。多工GRU是按照[15]中的指令實現的。

  我們首先線上性聲路徑場景下評估我們提出的方法。表2顯示了未處理、CRNN、多工GRU以及本文提出的方法的平均PESQ和ERLE得分。“CRGAN-EC-P ”表示使用PESQ作為度量損耗的GAN,“RGAN-EC-E”相應表示ERLE損耗的GAN。結果表明,在所有方法中,CRGAN-EC-P的PESQ得分最高,ERLE得分與CRNN和多工GRU相當。CRGAN-EC-P效能優越的原因如下。卷積層有助於提供麥克風訊號和參考訊號之間的區域性關聯和對映,而BLSTM層有助於捕獲長期時間資訊。傳統的均方誤差(MSE)損失函式以均勻權值度量增強訊號與ground-truth訊號之間的譜距離,而PESQ則是根據心理聲學原理,在不同權值的子帶上累積的分數。因此,最小化MSE分數的模型不能保證產生良好的PESQ分數。

表2 線性聲學路徑場景下的PESQ和ERLE得分

論文翻譯:2020_Generative Adversarial Network based Acoustic Echo Cancellation

  與CRNN和多工GRU相比,CRGAN-EC-E的PESQ得分較低,但ERLE得分最高。由於本實驗不考慮噪聲,且SER也不低,因此高ERLE分數並沒有多大意義。然而,不同的度量損失為系統實現特定目標提供了額外的自由。而結合PESQ和ERLE的度量損耗可以進一步在回聲消除和目標語音失真之間實現適當的折衷。由於篇幅有限,這裡只顯示單獨的PESQ和ERLE結果。

  我們進一步研究了非線性聲路徑對我們方法的影響。在本次測試中,我們將\(x_{N L}\)與RIRs卷積產生聲回聲,因此既包含了功率放大器的削波,也包含了揚聲器的失真。我們再次比較了我們的方法與CRNN和多工GRU的結果。表3顯示了PESQ和ERLE的平均得分。同樣,本文提出的CRGAN-EC-P在所有方法中獲得了最好的PESQ分數,ERLE分數也接近於最好的。提出的CRGAN-EC-E獲得最好的ERLE分數。

表3 非線性聲學路徑場景下的PESQ和ERLE評分

論文翻譯:2020_Generative Adversarial Network based Acoustic Echo Cancellation

5 結論

  在這項研究中,我們提出了一種新的使用卷積迴圈GAN的聲學回聲消除演算法,該演算法線上性和非線性聲路徑場景下都能很好地工作。卷積層提取麥克風訊號和參考訊號之間的區域性相關性,以及它們之間的對映關係。BLSTM層捕獲長期時間資訊。該體系結構在頻域進行訓練,預測目標語音的時頻掩碼。我們部署了各種度量損失函式,並證明了模型對回聲抑制和目標語音失真之間的權衡的魯棒性。在未來的工作中,我們打算在更嚴重的情況下,特別是無延遲的情況下,擴大對回聲消除的研究。

6 參考文獻

[1] E. Hansler and G. Schmidt, Acoustic Echo and Noise Control: A Practical Approach, Adaptive and learning systems for signal processing, communications, and control, Hoboken, NJ: Wiley-Interscience, 2004.
[2] S. Gustafsson, R. Martin and P. Vary, "Combined acoustic echo control and noise reudction for hands-free telephony," Signal Processing, vol. 64, no. 1, pp. 21-32, 1998.
[3] V. Turbin, A. Gilloire and P. Scalart, "Comparison of three postfiltering algorithms for residual acoustic echo reduction," in Proc. IEEE International Conf. on Acoustic, Speech, and Signal Processing, 1997.
[4] A. Stenger, L. Trautmann and R. Rabenstein, "Nonlinear acoustic echo cancellation with 2nd order adaptive Volterra filters," in Proc. IEEE International Conf. on Acoustics, Speech, and Signal Processing, 1999.
[5] G. Hinton, L. Deng, G. Dahl, A. Mohamed, N. Jaitly, A. Senior, V. Vanhoucke, P. Nguyen, T. Sainath and B. Kingsbury, "Deep neural networks for acoustic modeling in speech recognition," IEEE Signal Processing Magazine, vol. 29, no. 6, pp. 82-97, 2012.
[6] X. Lu, Y. Tsao, S. Matsuda and C. Hori, "Speech enhancement based on deep denoising autoencoder," in Proc. Conf. of International Speech Communication Association, 2013.
[7] Y. Xu, J. Du, L. Dai and C. Lee, "An experimental study on speech enhancement based on deep neural networks," IEEE Signal Processing Letters, vol. 21, no. 1, pp. 65-68, 2014.
[8] Y. Wang, A. Narayanan and D. Wang, "On training targets for supervised speech separation," IEEE/ACM Trans. on Audio, Speech, and Language Processing, vol. 22, no. 12, pp. 1849-1858, 2014.
[9] F. Weninger, J. Hershey, J. Roux and B. Schuller, "Discriminatively trained recurrent neural networks for single-channel speech separation," in Global Conf. on Signal and Information Processing, 2014.
[10] C. Lee, J. Shin and N. Kim, "DNN-based residual echo suppression," in Proc. Conf. of International Speech Communication Association, 2015.
[11] M. Muller, J. Jansky, M. Bohac and Z. Koldovsky, "Linear acoustic echo cancellation using deep neural networks and convex reconstruction of incomplete transfer function," in IEEE International Workshop of Electronics, Control, Measurement, Signals and their Application to Mechatronics, 2017.
[12] H. Zhang and D. Wang, "Deep learning for acoustic echo cancellation in noisy and double-talk scenarios," in Proc. Conf. of International Speech Communication Association, 2018.
[13] G. Carbajal, R. Serizel, E. Vincent and E. Humbert, "Multiple-input neural network-based residual echo suppression," in IEEE International Conf. on Acoustic, Speech and Signal Processing, 2018.
[14] H. Zhang, K. Tan and D. Wang, "Deep learning for joint acoustic echo and noise cancellation with nonlinear distortions," in Proc. Conf. International Speech Communication Association, 2019.
[15] A. Fazel, M. El-Khamy and J. Lee, "Deep multitask acoustic echo cancellation," in Proc. Conf. International Speech Communication Association, 2019.
[16] S. Pascual, A. Bonafonte and J. Serra, "Segan: Speech enhancement generative adversarial network," in arXiv preprint, 2017.
[17] D. Baby and S. Verhulst, "Sergan: Speech enhancement using relativistic generative adversarial networks with gradient penalty," in Proc. International Conf. on Acoustic, Speech and Signal Processing, 2019.
[18] M. Soni, N. Shah and H. Patil, "Time-frequency masking-based speech enhancement using generative adversarial network," in Proc. International Conf. on Acoustic, Speech and Signal Processing, 2018.
[19] S. Fu, C. Liao, Y. Tsao and S. Lin, "Metricgan: Generative adversarial networks based black-box metric scores optimization for speech enhancement," in arXiv preprint, 2019.
[20] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville and Y. Bengio, "Generative adversarial nets," in Conf. on Neural Information Processing Systems, 2014.
[21] A. Radford, L. Metz and S. Chintala, "Unsupervised representation learning with depp convolutional generative adversarial networks," in arXiv preprint, 2015.
[22] S. Ioffe and C. Szegedy, "Batch normalization: Accelerating deep network training by reducing internal covariate shift," in arXiv preprint, 2015.
[23] D. Clevert, T. Unterthiner and S. Hochreiter, "Fast and accurate deep network learning by exponential linear units (elus)," in arXiv preprint, 2015.
[24] K. He, X. Zhang, S. Ren and J. Sun, "Deep residual learning for image recognition," in IEEE Conf. on Computer Vision and Pattern, 2016.
[25] D. Kingma and J. Ba, "Adam: A method for stochastic optimization," in arXiv preprint, 2014.
[26] F. Lamel, R. Kassel and S. Seneff, "Speech database development: Design and analysis of the acousticphonetic corpus," in Speech Input/Output Assessment and Speech Databases, 1989.
[27] S. Malik and G. Enzner, "State-space frequency-domain adaptive filtering for nonlinear acoustic echo cancellation," IEEE Trans. on Audio, Speech, and Language Processing, vol. 20, no. 7, pp. 2065-2079, 2012.
[28] J. Allen and D. Berkley, "Image method for efficiently simulating small-room acoustics," The Jounal of Acoustic Society of America, vol. 65, no. 4, pp. 943-950, 1979.
[29] S. Nakamura, K. Hiyane, F. Asano, T. Nishiura and T.
Yamada, "Acoustical sound database in real environments for sound scene understanding and handsfree speech recognition," in Proc. International Conf. on Language Resources and Evaluation, 2000.

相關文章