天天看點

【論文學習】《Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks》《Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks with Multi-Resolution Spectrogram》論文學習

《Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks with Multi-Resolution Spectrogram》論文學習

文章目錄

  • 《Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks with Multi-Resolution Spectrogram》論文學習
    •   摘要
    •   1 介紹
    •   2 相關工作
    •   3 方法
      •     3.1 基于GAN的并行波形生成
      •     3.2 多分辨率STFT輔助損耗
    •   4 實驗
      •     4.1 實驗設定
        •       4.1.1 資料集
        •       4.1.2 模型細節
      •     4.2 評價
      •     4.3 從文本到語音
    •   5 結論

  摘要

       我們提出了Parallel WaveGAN,一種使用生成式對抗網絡的無蒸餾、快速和占用空間小的波形生成方法。該方法通過聯合優化多分辨率譜圖和對抗損耗函數來訓練非自回歸WaveNet,能夠有效地捕捉真實語音波形的時頻分布。由于我們的方法不需要在傳統的師生架構中使用密度蒸餾,整個模型易于訓練。此外,我們的模型在結構緊湊的情況下也能生成高保真語音。其中,提出的并行WaveGAN隻有1.44M個參數,在單個GPU環境下生成24kHz語音波形的速度比實時速度快28.68倍。感覺聽力測試結果表明,本文提出的方法在基于Transformer的文本到語音架構中獲得了4.16的平均意見得分,與基于蒸餾的最好的Parallel WaveNet系統做出對比。

       關鍵詞 - 神經聲碼器,TTS,GAN,Parallel WaveNet,Transformer

  1 介紹

       文本到語音(TTS)架構中的深度生成模型顯著提高了合成語音信号的品質(《Statistical parametric speech synthesis using deep neural networks》,《Effective spectral and excitation modeling techniques for LSTM-RNN-based speech synthesis systems》,《Natural TTS synthesis by conditioning WaveNet on mel spectrogram predictions》)。值得注意的是,自回歸生成模型如WaveNet已經顯示出比傳統參數聲碼器更優越的性能(《WaveNet: A generative model for raw audio》,《A comparison of recent waveform generation and acoustic modeling methods for neural-network-based speech synthesis》,《Speaker-dependent WaveNet vocoder》,《An investigation of multi-speaker training for WaveNet vocoder》,《Excitnet vocoder: A neural excitation model for parametric speech synthesis systems》)。然而,由于自回歸的特性,其推理速度較慢,是以在實時場景中的應用受到限制。

       解決這種局限性的一種方法是利用基于教師-學生架構的快速波形生成方法(《Parallel WaveNet: Fast high-fidelity speech synthesis》,《ClariNet: Parallel wave generation in end-to-end text-to-speech》,《Probability density distillation with generative adversarial networks for high-quality parallel waveform generation》)。在這個架構中,定義為機率密度蒸餾的橋梁将自回歸教師WaveNet的知識轉移到基于逆自回歸流(IAF)的學生模型(《Improved variational inference with inverse autoregressive flow》)。雖然IAF學生能夠以合理的感覺品質實作實時生成語音,但在訓練過程中仍然存在問題:不僅需要一個訓練良好的教師模型,還需要一種試錯方法來優化複雜的密度蒸餾過程。

       為了克服上述問題,我們提出了一種基于生成式對抗網絡(generative adversarial network, GAN)(《Generative adversarial nets》)的并行波形生成方法——Parallel WaveGAN。與傳統的基于蒸餾的方法不同,Parallel WaveGAN不需要兩個階段,而是連續的教師-學生訓練過程。

       該方法僅通過優化多分辨率短時傅裡葉變換(STFT)和對抗損失函數的組合來訓練非自回歸WaveNet模型,使該模型能夠有效地捕獲真實語音波形的時頻分布。是以,整個訓練過程比傳統方法簡單得多,并且模型參數較少,可以産生自然發聲的語音波形。我們的貢獻總結如下:

       (1)提出了一種多分辨率短時傅立葉變換損耗和波形域對抗損耗的聯合訓練方法。該方法既适用于傳統的基于蒸餾的Parallel WaveNet(如ClariNet),也适用于提出的無蒸餾Parallel WaveGAN。

       (2)由于所提出的Parallel WaveGAN可以在沒有任何教師-學生架構的情況下進行簡單的訓練,是以我們的方法大大減少了訓練和推理時間。特别是訓練過程變得快4.82倍(從13.5天到2.8天,使用兩個NVIDIA Telsa V100 GPU)和推理過程變得快1.96倍(從14.62到28.68 倍實時速度生成24kHz語音波形,使用單個NVIDIA Telsa V100 GPU),與傳統的ClariNet模型相比。

       (3)我們将提出的Parallel WaveGAN與基于Transformer的TTS聲學模型相結合(《Attention is all you need》,《Neural speech synthesis with Transformer network》,《FastSpeech: Fast, robust and controllable text to speech》)。感覺聽力測試結果表明,提出的Parallel WaveGAN模型達到了4.16 MOS,與基于蒸餾的ClariNet模型相比具有一定的競争力。

  2 相關工作

       在Parallel WaveNet架構中使用GAN的想法并不新鮮。在我們之前的工作中,IAF學生模型被納入到生成器中,并通過最小化對抗損失以及Kullback-Leibler散度(KLD)和輔助損失(《Probability density distillation with generative adversarial networks for high-quality parallel waveform generation》)進行聯合優化。由于GAN學習了真實語音信号的分布,該方法顯著提高了合成信号的感覺品質。但基于密度精餾的訓練階段複雜,限制了其應用。

       我們的目标是盡量減少訓練傳統教師-學生架構的兩階段管道的努力。換句話說,我們提出了一種新的方法訓練Parallel WaveNet不需要任何蒸餾過程。Juvela等人(《GELP: GAN-excited linear prediction for speech synthesis from melspectrogram》)也提出了類似的方法(例如GAN激發線性預測,GELP),利用對抗式訓練方法産生聲門刺激。然而,由于GELP需要線性預測(LP)參數來将聲門激勵轉換為語音波形,是以,當LP參數包含TTS聲學模型不可避免的誤差時,可能會出現品質下降。為了避免這個問題,我們的方法是直接估計語音波形。由于很難捕捉語音信号的動态特性,包括聲帶運動和聲道共振(分别由GELP中的聲門興奮和LP參數表示),我們提出了對抗損耗和多分辨率STFT損耗的聯合優化方法,以捕獲真實語音信号的時頻分布。是以,即使參數較少,整個模型也易于訓練,同時有效地減少了推斷時間,提高了合成語音的感覺品質。

  3 方法

    3.1 基于GAN的并行波形生成

       GAN是生成模型,由兩個獨立的神經網絡組成:生成器(G)和鑒别器(D)(《Generative adversarial nets》)。在我們的方法中,一個基于WaveNet型以輔助特征(如梅爾譜圖)為條件作為發生器,它将輸入噪聲并行地轉換為輸出波形。生成器與原始WaveNet的不同之處在于:(1)我們使用非因果卷積而不是因果卷積;(2)輸入為高斯分布的随機噪聲;(3)模型在訓練和推理階段都是非自回歸的。

       發生器學習真實波形的分布,通過試圖欺騙鑒别器來識别發生器樣本為真實的。這個過程是通過最小化對抗損失(Ladv)來完成的,如下所示:

L a d v ( G , D ) = E z ∼ N ( 0 , I ) [ ( 1 − D ( G ( z ) ) ) 2 ] (1) L_{adv}(G,D)=\mathbb{E}_{z\sim N(0,I)}[(1-D(G(z)))^2] \tag{1} Ladv​(G,D)=Ez∼N(0,I)​[(1−D(G(z)))2](1)       其中 z z z為輸入白噪聲。注意,為了簡潔, G G G的輔助特性被省略了。

       另一方面,利用以下優化準則訓練鑒别器,在将ground truth分類為真實的同時,将生成的樣本正确分類為假樣本:

L D ( G , D ) = E x ∼ p d a t a [ ( 1 − D ( x ) ) 2 ] + E z ∼ N ( 0 , I ) [ ( 1 − D ( G ( z ) ) ) 2 ] (2) L_{D}(G,D)=\mathbb{E}_{x\sim p_{data}}[(1-D(x))^2]+ \mathbb{E}_{z\sim N(0,I)}[(1-D(G(z)))^2] \tag{2} LD​(G,D)=Ex∼pdata​​[(1−D(x))2]+Ez∼N(0,I)​[(1−D(G(z)))2](2)       式中, x x x和 p d a t a p_{data} pdata​分别表示目标波形及其分布。

    3.2 多分辨率STFT輔助損耗

       為了提高對抗訓練過程的穩定性和效率,我們提出了一種多分辨率短時傅裡葉變換輔助損失算法。圖1顯示了我們将多分辨率短時傅立葉變換損失與3.1節中描述的對抗訓練方法相結合的架構。

【論文學習】《Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks》《Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks with Multi-Resolution Spectrogram》論文學習

       與前面的工作(《Probability density distillation with generative adversarial networks for high-quality parallel waveform generation》)相似,我們定義單個STFT損耗如下:

L s ( G ) = E z ∼ p ( z ) , x ∼ p d a t a [ L s c ( x , x ^ ) + L m a g ( x , x ^ ) ] (3) L_{s}(G)=\mathbb{E}_{z \sim p(z), x\sim p_{data}}[L_{sc}(x,\hat{x})+L_{mag}(x,\hat{x})] \tag{3} Ls​(G)=Ez∼p(z),x∼pdata​​[Lsc​(x,x^)+Lmag​(x,x^)](3)       其中 x ^ \hat{x} x^表示生成的樣本(即 G ( z ) G(z) G(z)), L s c L_{sc} Lsc​和 L m a g L_{mag} Lmag​分别表示光譜收斂性和對數STFT幅值損失,定義如下(《Fast spectrogram inversion using multi-head convolutional neural networks》):

L s c ( x , x ^ ) = ∥ ∣ S T F T ( x ) ∣ − ∣ S T F T ( x ^ ) ∣ ∥ F ∥ ∣ S T F T ( x ) ∣ ∥ F (4) L_{sc}(x,\hat{x})=\frac {\Vert \vert STFT(x)\vert - \vert STFT(\hat{x})\vert \Vert _F}{\Vert \vert STFT(x)\vert \Vert _F} \tag{4} Lsc​(x,x^)=∥∣STFT(x)∣∥F​∥∣STFT(x)∣−∣STFT(x^)∣∥F​​(4) L m a g ( x , x ^ ) = 1 N ∥ l o g ∣ S T F T ( x ) ∣ − l o g ∣ S T F T ( x ^ ) ∣ ∥ 1 (5) L_{mag}(x,\hat{x}) = \frac {1}{N} \Vert log\vert STFT(x)\vert-log\vert STFT(\hat{x})\vert\Vert _1 \tag{5} Lmag​(x,x^)=N1​∥log∣STFT(x)∣−log∣STFT(x^)∣∥1​(5)       其中 ∥ ⋅ ∥ F \Vert \cdot \Vert _F ∥⋅∥F​和 ∥ ⋅ ∥ 1 \Vert \cdot \Vert _1 ∥⋅∥1​分别為Frobenius範數和 L 1 L_1 L1​範數; ∣ S T F T ( ⋅ ) ∣ \vert STFT(\cdot) \vert ∣STFT(⋅)∣和 N N N分别表示STFT幅值和幅值中元素個數。

       我們的多分辨率STFT損失是不同分析參數(即FFT大小、視窗大小和幀移)下STFT損失的總和。設M為STFT損耗數,則多分辨率STFT輔助損耗( L a u x L_{aux} Laux​)表示為:

L a u x ( G ) = 1 M ∑ m = 1 M L s ( m ) ( G ) (6) L_{aux}(G) = \frac {1}{M} \sum_{m=1}^M L_s^{(m)}(G) \tag{6} Laux​(G)=M1​m=1∑M​Ls(m)​(G)(6)       在基于STFT的信号時頻表示中,存在時間分辨率和頻率分辨率之間的權衡;例如,增加視窗大小可以獲得更高的頻率分辨率,而降低時間分辨率(《The wavelet transform, time-frequency localization and signal analysis》)。通過結合不同分析參數的多種短時傅立葉變換損耗,極大地幫助生成器了解語音(《Neural source-filterbased waveform model for statistical parametric speech synthesis》)的時頻特性。此外,它還防止生成器過拟合到固定的STFT表示,這可能導緻在波形域的次優性能。

       我們對生成器的最終損失函數定義為多分辨率STFT損失和對抗損失的線性組合,如下所示:

L G ( G , D ) = L a u x ( G ) + λ a d v L a d v ( G , D ) (7) L_G(G,D)=L_{aux}(G)+\lambda_{adv}L_{adv}(G,D) \tag{7} LG​(G,D)=Laux​(G)+λadv​Ladv​(G,D)(7)       其中 λ a d v \lambda_{adv} λadv​表示平衡兩個損失項的超參數。通過對波形域對抗損耗和多分辨率STFT損耗的聯合優化,可以有效地了解真實語音波形的分布。

  4 實驗

    4.1 實驗設定

      4.1.1 資料集

       在實驗中,我們使用了一個由一位女性日語專業人士記錄的語音和平實平衡的語料庫。語音信号以24kHz采樣,每個采樣用16比特量化。共使用11449個話語(23.09小時)進行訓練,使用250個話語(0.35小時)進行驗證,使用250個話語(0.34小時)進行評價。提取限頻(70 ~ 8000Hz)的80波段log-mel譜圖作為波形生成模型(即局部條件(《WaveNet: A generative model for raw audio》))的輸入輔助特征。幀長設定為50ms,移位長度設定為12.5ms。訓練前将梅爾譜圖特征歸一化,使其均值和機關方差均為零。

      4.1.2 模型細節

       提出的Parallel WaveGAN由30層擴張剩餘卷積塊組成,以指數方式增加三個擴張周期。剩餘通道和跳躍通道數設為64,卷積濾波器大小設為3。該鑒别器由10層非因果擴張的一維卷積組成,具有洩漏的ReLU激活函數(α = 0.2)。步幅設定為1,從1到8的一維卷積應用線性增加的擴張,除了第一層和最後一層。通道的數量和濾波器的大小與發生器相同。我們對生成器和鑒别器(《Weight normalization: A simple reparameterization to accelerate training of deep neural networks》)的所有卷積層都進行了權值歸一化。

       在訓練階段,由三種不同的STFT損失之和計算多分辨率STFT損失,如表1所示。鑒别器損耗由鑒别器的每個時間步長标量預測的平均值計算。根據初步實驗結果,将式 (7) 中的 λ a d v \lambda_{adv} λadv​設定為4.0。用RAdam優化器( ϵ = 1 e − 6 \epsilon = 1e^{-6} ϵ=1e−6對模型進行400K步的訓練,以穩定訓練(《On the variance of the adaptive learning rate and beyond》)。注意,前100K步的鑒别器是固定的,之後聯合訓練兩個模型。迷你批大小設定為8個,每個音頻剪輯的長度設定為24K時間樣本(1.0秒)。對生成器和鑒别器分别設定初始學習率為0.0001和0.00005。每200K步學習率降低一半。

【論文學習】《Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks》《Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks with Multi-Resolution Spectrogram》論文學習

       作為基線系統,我們同時使用了自回歸Gaussian WaveNet和Parallel WaveNet(即ClariNet)(《ClariNet: Parallel wave generation in end-to-end text-to-speech》,《Probability density distillation with generative adversarial networks for high-quality parallel waveform generation》)。該WaveNet由24層膨脹剩餘卷積塊組成,具有4個膨脹周期。剩餘通道和跳躍通道的數量設定為128個,過濾器大小設定為3個。采用RAdam優化器對模型進行1.5M步的訓練。學習率設定為0.001,每200K步學習率降低一半。迷你批大小設定為8個,每個音頻剪輯的長度設定為12K時間樣本(0.5秒)。

       為了訓練基線ClariNet,我們使用上述的自回歸WaveNet作為教師模型。ClariNet以高斯IAFs為基礎,由六個流程組成。每個流的參數由10層膨脹剩餘卷積塊以指數增長的膨脹周期進行參數化。剩餘通道和跳躍通道的數量設定為64個,過濾器大小設定為3個。

       平衡KLD和STFT輔助損失的權重系數分别設為0.5和1.0。使用與Parallel WaveGAN相同的優化器設定,對模型進行了400K步的訓練。我們還研究了對抗損失ClariNet作為GAN和密度蒸餾的混合方法。模型結構與基線ClariNet相同,但采用KLD、STFT和對抗損失的混合訓練,其中平衡它們的權重系數分别設為0.05、1.0和4.0。采用固定的鑒别器對模型進行200K步的訓練,對其餘200K步的生成器和鑒别器進行聯合優化。

       在整個波形生成模型中,對輸入輔助特征進行最近鄰上采樣,然後進行二維卷積,使輔助特征的時間分辨率與語音波形的采樣率相比對(《Probability density distillation with generative adversarial networks for high-quality parallel waveform generation》,《Deconvolution and checkerboard artifacts》)。注意,輔助特征不用于鑒别器。所有模型都使用了兩個NVIDIA Tesla V100 GPU進行訓練。實驗在NAVER智能機器學習(NSML)平台(《NSML: Meet the mlaas platform with a real-world case study》)上進行。

    4.2 評價

       為評價知覺品質,采用平均意見評分(MOS)檢驗。18位以日語為母語的人被要求對合成語音樣本做出高品質的判斷,使用以下5種可能的回答:1 = Bad; 2 = Poor; 3 = Fair; 4 = Good; and 5 = Excellent。從評價集合中随機抽取20個話語,然後使用不同的模型進行合成。

【論文學習】《Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks》《Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks with Multi-Resolution Spectrogram》論文學習

       表2給出了不同生成模型的推理速度和MOS測試結果。結果表明:(1)有短時傅立葉變換損失的系統比沒有短時傅立葉變換損失的系統(即自回歸WaveNet)表現更好。注意,大多數聽者對自回歸波網系統産生的高頻噪聲不滿意。這可以用以下事實來解釋:在WaveNet中,隻有頻段有限(70 - 8000Hz)的梅爾光譜圖用于局部調節,而其他系統能夠通過STFT損失直接學習全頻帶頻率資訊。(2)所提出的基于短時傅立葉變換損失的多分辨率模型比傳統的單一短時傅立葉變換損失模型具有更高的感覺品質(分别比較系統3和系統6與系統2和系統5)。這證明了多分辨率STFT損耗有效地捕獲了語音信号的時頻特性,使其能夠獲得更好的性能。(3)提出的對抗性損失在ClariNet上沒有很好地工作。然而,當它與TTS架構相結合時,可以發現它的優點,這将在下一節中讨論。(4)最後,提出的Parallel WaveGAN達到4.06 MOS。雖然與ClariNet相比,Parallel WaveGAN的感覺品質相對較差,但它産生語音信号的速度是ClariNet的1.96倍。此外,該方法的優點在于訓練過程簡單。我們測量了獲得最優模型的總訓練時間,如表3所示。由于Parallel WaveGAN不需要任何複雜的密度蒸餾,優化隻需要2.8天的訓練時間,比自回歸WaveNet和ClariNet分别快2.64和4.82倍。

【論文學習】《Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks》《Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks with Multi-Resolution Spectrogram》論文學習

    4.3 從文本到語音

       為了驗證所提方法作為TTS架構聲碼器的有效性,我們将Parallel WaveGAN與基于Transformer的參數估計相結合(《Attention is all you need》,《Neural speech synthesis with Transformer network》,《FastSpeech: Fast, robust and controllable text to speech》)。

       為了訓練變換器,我們使用音素序列作為輸入,從錄音語音中提取梅爾譜圖作為輸出。該模型由一個六層編碼器和一個六層解碼器組成,每個編碼器和解碼器都是基于多頭注意(有8個頭)。配置遵循之前的工作(《FastSpeech: Fast, robust and controllable text to speech》),但模型被修改為接受重音作為音高重音語言(如日語)(《Investigation of enhanced Tacotron text-to-speech synthesis systems with self-attention for pitch accent language》)的外部輸入。該模型使用RAdam優化器進行1000個周期的訓練,并使用預熱學習率排程(《Attention is all you need》)。初始學習率設定為1.0,使用動态批大小(平均64)政策穩定訓練。

       在合成步驟中,輸入的音素和重音序列通過Transformer TTS模型轉換為相應的梅爾譜圖。通過輸入得到的聲學參數,聲碼器模型生成時域語音信号。

       為了評估生成的語音樣本的品質,我們進行了MOS測試。測試設定與4.2節中描述的相同,但我們在測試中使用了自回歸WaveNet和經過多分辨率STFT損失訓練的并行生成模型(分别在表2中描述的系統1、3、4和6)。MOS試驗結果如表4所示,其中可以總結如下:(1)有對抗損失的ClariNet比沒有對抗損失的ClariNet表現更好,盡管在分析/合成情況下,他們的知覺品質幾乎相同(系統3和系統4如表2所示)。這意味着使用對抗損失有利于提高模型對由聲學模型引起的預測措辭誤差的穩健性。(2)對抗性訓練的優點也有利于提出的Parallel WaveGAN系統。是以,采用Transformer TTS模型的Parallel WaveNet達到了4.16 MOS,達到了最佳的基于蒸餾的Parallel WaveNet(ClariNet-GAN)。

  5 結論

       提出了一種基于GAN的無蒸餾、快速、小足迹的并行波形生成方法。通過聯合優化波形域對抗損耗和多分辨率STFT損耗,我們的模型能夠學習如何生成真實的波形,而不需要任何複雜的機率密度蒸餾。實驗結果表明,該方法在基于Transformer的TTS架構内達到了4.16 MOS,在僅1.44M模型參數的情況下,生成24kHz語音波形的速度是實時的28.68倍。未來的研究包括改進多分辨率短時傅裡葉變換的輔助損失,以更好地捕捉語音特征(如引入相位相關損失),并驗證其在各種語料庫(包括表達語料庫)中的性能。

繼續閱讀