ASRWGAN: Wasserstein Generative Adversarial Network for Audio Super Resolution

ASEGAN:WGAN音頻超分辨率git

這篇文章並不具備權威性,由於沒有發表,說不定是外國的某個大學的畢業設計,或者課程結束後的做業、或者實驗報告。github

CS230: Deep Learning, Spring 2018, Stanford University, CA. (LateX template borrowed from NIPS 2017.)算法

做者:Jonathan Gomes-Selman, Arjun Sawhney, WoodyWang數組

摘要

  本文提出使用Wasserstein(沃瑟斯坦)生成對抗網絡來提升現有神經網絡的性能,訓練神經網絡來執行音頻超分辨率任務。受SRGAN[3]的啓發,咱們利用一個預先訓練過的ASRNet版本,如Kuleshov等人描述的模型[2],做一個全卷積鑑別器模型的生成器。咱們對生成器使用一個自適應的損失函數,將content loss內容損失(生成器輸出和對應的真實音頻信號之間的MSE)與傳統的對抗性損失相加。結果代表,該模型在信噪比(SNR)和對數譜距離(LSD)兩方面均優於bicubic interpolation(雙三次插值)基線。與ASRNet相比,咱們的模型在LSD度量上表現出了更強的性能,而且咱們的模型重構低分辨率信號的更高頻率而下降了信噪比。ASRNet和咱們的模型在MUSHRA測試中都達到了近乎相同的性能,該測試結合了人類對產生的音頻信號清晰度的感知,而且都顯著優於基線。網絡

1 引言

  隨着我的助理系統和音頻數據的興起,對技術設備的聽覺輸入變得愈來愈廣泛;然而,考慮到聲音的粗糙性和可變性以及錄音設備的細微差異,以音頻做爲輸入的系統經常不得不處理質量較差的音頻,有時必須從新確認或重複詢問相同的問題來解釋輸入語音。所以,若是一個網絡可以以質量較差的音頻做爲輸入,在不須要用戶確認或重複的狀況下加強或解析它,就能夠改善我的助理和其餘使用音頻數據通知操做的技術的體驗。架構

  考慮到這個動機,咱們提出了改進現有的模型,執行語音帶寬擴展,一種特定形式的音頻超分辨率。從一個下采樣的版本低質量音頻,經過重建,生成高質量的音頻,如[2]所述。考慮到SRGAN[3]利用生成對抗網絡(GAN)對現有的圖像超分辨率模型進行改進的成功,咱們提出了一種改進的Wasserstein GAN體系結構來加強由[2]引入的音頻超分辨率模型ASRNet。經過將改進後的ASRNet做爲生成器與深度卷積鑑頻器耦合,咱們的ASRWGAN結果顯示了使用GANs加強當前音頻超分辨率方法的前景。函數

2 相關工做

  咱們的靈感來自於各類音頻和非音頻相關的深度學習方法。從根本上說,正如前面提到的,咱們項目的主要目標是改進現有的用於音頻超分辨率的深度殘差啊網絡(ASRNet)的性能。ASRNet是由[2]提出的,它借鑑了前人對圖像超分辨率的研究成果,將其建模爲具備殘差跳躍鏈接的深度卷積神經網絡。ASRNet已被證實大大優於傳統插值技術,併爲音頻超分辨率提供了一個有前途的實時網絡架構。性能

  咱們提出了一個模型來進一步提升ASRNet的性能,結合了生成對抗網絡的優勢。正如[2]所指出的,音頻超分辨率的任務在很大程度上反映了圖像超分辨率的任務。所以,咱們提出的模型和方法與SRGAN[3]中提出的模型和方法密切相關。SRGAN是一種用於圖像超分辨率的GAN,在大縮放因子下超分辨率圖像的表現優於現有的先進體系結構。學習

  在開發咱們的GAN架構時,咱們也從Wave- GAN[1]的實現中獲得了靈感。WaveGAN探索了使用全卷積架構進行音頻合成的問題,而不是使用與時間序列建模密切相關的RNNs。WaveGAN的性能展現了將卷積模型應用於一維時間序列數據的潛力,這是咱們在這裏進一步研究的一種方法。測試

3 數據集和特徵

  咱們使用的數據來自語音與技術研究中心[5]提供的CSTR VCTK語料庫。這個數據集包括109個母語爲英語的人的語音數據,每一個人背誦大約400個英語句子,儘管咱們只是爲了效率和計算時間的限制而對單個演講者的數據進行培訓。順便說一句,咱們注意到,在將來的應用中,咱們能夠預見到爲Skype或Alexa等服務中的單說話人專門訓練的音頻超分辨率模型。數據採用WAV文件格式,咱們使用Python的librosa庫將其轉換爲一個numpy數組,固定採樣率爲16000Hz。咱們將音頻信號表示爲函數$f(t):[0,T]-->R$,其中$f(t)$是$t$處的振幅,$t$是信號的時間長度。爲了將連續信號做爲輸入進行處理,必須將$f(t)$離散爲向量$x(t):[\frac{1}{R},\frac{2}{R},...,\frac{RT}{R}]$,其中R爲輸入音頻的採樣率,單位爲Hz。

  爲了標準化輸入長度,咱們從數據集中的語音中抽取半秒的patch做爲樣本,通過預處理獲得shape爲(8192,1)的向量。而後咱們隨機打亂這些向量,並執行如下的訓練/測試數據集分割

訓練集: 3328 樣本, 測試集: 500 樣本

  咱們使用Chebyshev低通濾波器對每一個高分辨率的語音進行預處理,將初始信號抽取爲低分辨率的等長信號,並將其做爲生成器網絡的輸入。基線咱們採用雙三次插值方法進行音頻超分辨率任務。

4 方法及最終模型

  如圖1所示,咱們提出的模型靈感主要來源於三個主要模型:SRGAN[3]、wave-GAN[1]和ASRNet[2]。密切關注咱們的通常方法SRGAN中提出的方法,其中包括使用pre-trained生成器網絡(ASRNet)來避免局部最小值和在生成器丟失中加入內容損失成份,經過提供有關手頭實際任務的領域知識(超分辨率)來提升性能。對於GAN體系結構的生成器和鑑別器,咱們分別使用了修改後的ASRNet和WaveGAN鑑別器。咱們選擇WaveGAN 鑑別器是由於它在音頻時間序列數據上的表現,這在很大程度上關係到長一維卷積濾波器可否成功捕捉到聲音的週期性。

  在咱們的架構研究中,咱們主要關注兩種類型的GAN,即尋常 GAN和Wasserstein GAN (WGAN)[4]。咱們最初的實現是一個普通的GAN,使用傳統的GAN訓練技術,好比使用非飽和成本函數,以及Leaky Relu非線性激活函數(如CS230課程中所述)等。然而,這個模型在訓練時表現出模式崩潰、爆炸梯度和不一樣的損失,所以咱們轉向WGAN以得到更大的訓練穩定性。

圖1:調整後超參數的ASR-WGAN架構

  WGAN經過從新定義損失函數、合併權重剪裁、下降學習速度和使用非基於動量的優化器(RMS Prop)來適應普通的GAN。正如在[4]中提到的,這些更改容許更可靠的梯度反向傳播到生成器,同時保持參數值較小,以防止出現模型崩潰等問題

修改後的損失函數

$$公式1:Discriminator\_Loss=max_DE_{x\sim p_x}[D(x)]-E_{z\sim p_z}[D(G(z))]$$

根據[4]中描述的WGAN訓練算法,鑑別器再也不訓練來識別真實和預測的例子,而是訓練來計算Wasserstein沃瑟斯坦距離

$$公式2:Generator\_Loss=\frac{1}{n}||x-G(z)||_2^2+\lambda max_GE_{z\sim p_z}[D(G(z))]$$

咱們修改了[4]中提出的生成器損失,因爲在[3]中相似方法的成功,因此在傳統對抗性損失的基礎上加入內容損失。咱們使用預測和真實示例之間的MSE(均方偏差)來提供關於實際任務目標(超分辨率)的領域知識,以及一個額外的超參數$\lambda$來平衡內容損失和對抗性損失。具體地說,咱們用$\lambda$來控制咱們的模型對內容丟失的優化

5 結構與討論

  度量:根據Kuleshov等人的研究[2],咱們使用信噪比和對數譜距離做爲度量。給定一個目標信號$y$和重建$x$,信噪比和LSD定義如方程(3)和(4)所示,其中$X$和$\hat{X}$是$x$和$y$的對數譜功率大小,它被定義爲$X=\log |S|^2$, $S$是短時傅里葉變換的信號,和$l,k$分別爲index指標幀和頻率。

$$公式3:SNR(x,y)=10\log \frac{||y||_2^2}{||x-y||_2^2}$$

$$公式4:LSD(x,y)=\frac{1}{L}\sum_{l=1}^L\sqrt{\frac{1}{K}\sum_{k=1}^K(X(l,k)-\hat{X}(l,k))^2}$$

圖2:來自各類重建方法的語音語譜圖

圖3:鑑別器和生成器的損失曲線,y軸上分別爲損失值,x軸上爲小批量迭代次數

  估計:如圖2所示。與基線雙三次插值或樣條重建相比,咱們的ASRWGAN重建顯示出在解決更高頻率的顯着改善。相對於ASRNet,咱們的ASR-WGAN仍然能夠恢復更多的高頻率,可是會出現一些原始高分辨率語音中不存在的無關噪聲,這能夠經過保存更多的預訓練生成器模型來解決。

  從表1和表2的客觀指標來看,咱們看到信噪比略有降低,大約爲1-2 dB,但LSD有所改善(減小)。LSD指標比信噪比指標[2]更能分辨更高的頻率。在仔細檢查了epochs 1-5所保存的權重以後,信噪比顯著降低到~ 5,這代表利用預先訓練好的網絡的好處正在減小,這多是因爲咱們的鑑別器和生成器之間的性能差距形成的。然而,咱們看到基線性能在短短40個週期內快速恢復和改進。所以,儘管與ASRNet生成器相比,咱們彷佛引入了更多的噪聲,但做爲權衡,咱們恢復了更多的高頻。

Objective Metrics Spline ASRNet ASR-WGAN
SNR 14.8 17.1 15.7
log Spectral Distance 8.2 3.6 3.3

表1:在上縮放比率爲4時候的音頻超分辨率方法的客觀評價

MUSHRA Sample 1 Sample 2 Sample 3 Sample 4
ASR-WGAN 70 61 73 68
ASRNet 67 63 75 68.3
SPline 42 34 36 37.3

表2:對每一個音頻樣本的平均MUSHRA用戶打分

  在添加了權重和梯度裁剪並過渡到WGAN以後,咱們避免了模型崩潰,並在訓練中看到了改進的穩定性,如圖3中咱們的損失曲線所示。咱們能夠看到,當鑑別器在連續的迭代中不斷更新時,生成器的損失穩步降低。

  根據Kuleshov等人[2]的工做建議,而後咱們經過詢問10名受過訓練的音樂家,讓他們使用MUSHRA(帶有隱藏參考和錨點的多個因素)測試來評估重建的整體質量。咱們從VCTK單說話人數據集中隨機選取三個音頻樣本,對樣本進行降採樣,而後使用雙三次樣條插值、ASRNet和咱們的ASRWGAN重構樣本。而後,咱們要求每位受試者給每一個樣本打分,分值從0(糟糕)到100(完美)。實驗結果見表2所示。咱們看到咱們的ASR-WGAN重建評分明顯高於樣條,但ASRNets和ASRWGAN重建之間的差別不那麼明顯。

6 結論與將來的工做

  咱們介紹了一種新的音頻超分辨率的深層架構。咱們的方法是新穎的,由於它結合了SRGAN, Wave-GAN和ASRNet。與傳統評價方法相比,實證評價方法的性能有所提升。

  特別適用於生成音頻信號的高頻份量。與傳統方法相比,MUSHRA評估的最終結果也優於傳統方法。咱們的架構中同時使用了普通的GAN和WGAN。咱們最終選擇了WGAN,因爲它的學習速度更小,損失函數更小,而且增長了權重和梯度剪切,提升了訓練的穩定性,因此更適合咱們的問題。

  咱們最強的模型,命名爲ASR-WGAN,在信噪比(SNR)和對數光譜距離(LSD)方面都比傳統的雙三次插值方法表現出更強的性能,同時在LSD度量上表現出更強的性能,與ASRNet相比信噪比下降。咱們認爲這些結果與咱們的模型試圖重建輸入音頻信號的最高頻率的觀察結果是一致的,這多是音頻超分辨率最具挑戰性的部分。該模型以不連續的形式對預測的輸出信號引入了一些噪聲。在定性上,MUSHRA實驗代表,輸出信號的清晰度與ASRNet至關,且遠優於咱們的基線模型。

  將來工做:咱們假設ASRWGAN的結構,特別是鑑別器和生成器之間的初始性能差距,致使ASRWGAN不能充分利用生成器的初始預訓練狀態。鑑於此,咱們將來工做的第一個行動是經過引入跳過鏈接和殘差單元使咱們的識別器更具表現力,並調整鑑別器與生成器的訓練比例。此外,咱們打算對生成器上的損失函數進行實驗,特別是內容損失,以便更好地反映優化人類耳朵性能的最終目標。給定更多的計算時間,一個天然的擴展將是在VCTK數據集中的多個揚聲器上訓練咱們的模型,並執行更完全的超參數搜索,以找到權值剪切邊界。

7 貢獻

  每一個團隊成員對項目的貢獻是平等的。Jonathan編寫了大部分代碼來建立ASRWGAN的體系結構。Woody編寫代碼在AWS實例上訓練和測試模型。Arjun在分析音頻和圖像超分辨率領域現有GAN實現的基礎上,對數據集進行預處理,並對GAN體系結構進行調整和實現。全部團隊成員都認真閱讀了相關論文,提升了團隊的工做效率,花時間調試和重構代碼,並在最終報告的撰寫中作出了同等的貢獻。

8 致謝

  咱們要感謝Volodymyr Kuleshov對咱們整個項目的支持,幫助咱們理解他最初的models架構。咱們也要感謝Ahmad Momeni, Brandon Yang和CS230的全體教師幫助咱們實施和理解咱們的ASRWGAN。

9 代碼

項目代碼可在https://github.com/jonathangomesselman/CS230-Project中找到

參考文獻

[1] Donahue, Chris et al. Synthesizing Audio with Generative Adversarial Networks in arXiv, 2018. 
[2] Kuleshov, Volodymyr et al. Audio Super Resolution with Neural Networks in arXiv (Workshop Track) 2017. 
[3] Ledig, Christian et al. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network in arXiv 2017. 
[4] Arjovsky, Martin et al. Wasserstein GAN in ICML, 2017. 
[5] English Multi-speaker Corpus for CSTR Voice Cloning Toolkit, 2010. [6] Abadi, Martín et al. TensorFlow: Large-scale machine learning on heterogeneous systems, 2015. Software available from tensorflow.org, 2015. 6

相關文章
相關標籤/搜索