當前位置:
首頁 > 新聞 > 將文本轉語音速度提高38倍,這個FastSpeech真的很fast

將文本轉語音速度提高38倍,這個FastSpeech真的很fast

基於神經網路的端到端文本語音轉換(TTS)顯著改善了合成語音的質量,但存在推理速度慢、合成語音不穩健等問題。在本文中,來自浙大和微軟的研究者提出了一種基於 Transformer 的新型前饋網路,用於為 TTS 並行生成梅爾頻譜。在 LJSpeech 數據集上的實驗表明,本文的並行模型在語音質量方面達到了自回歸模型的水平,而且與自回歸 Transformer TTS 相比,本文的模型可以將梅爾頻譜生成速度提高 270 倍,將端到端語音合成速度提高 38 倍。

基於神經網路的端到端文本語音轉換(TTS)顯著改善了合成語音的質量。一些主要方法(如 Tacotron 2)通常首先從文本生成梅爾頻譜(mel-spectrogram),然後使用諸如 WaveNet 的聲碼器從梅爾頻譜合成語音。

與基於連接和統計參數的傳統方法相比,基於神經網路的端到端模型有一些不足之處,包括推理速度較慢,合成語音不穩健(即某些詞被跳過或重複),且缺乏可控性(語音速度或韻律控制)。

本文提出了一種基於 Transformer 的新型前饋網路,用於為 TTS 並行生成梅爾頻譜。具體來說就是,從基於編碼器-解碼器的教師模型中提取注意力對齊(attention alignments),用於做音素(phoneme)持續時間預測。長度調節器利用這一預測來擴展源音素序列,以匹配目標梅爾頻譜序列的長度,從而並行生成梅爾頻譜。

在 LJSpeech 數據集上的實驗表明,本文的並行模型在語音質量方面達到了自回歸模型的水平,基本上消除了複雜情況下的單詞跳過和重複的問題,並且可以平滑地調整語音速度。最重要的是,與自回歸 Transformer TTS 相比,本文的模型可以將梅爾頻譜生成速度提高 270 倍,因此,研究者將該模型命名為 FastSpeech 模型。代碼將在論文發表後發佈於 GitHub 上。

將文本轉語音速度提高38倍,這個FastSpeech真的很fast

基於神經網路的端到端 TTS 模型存在哪些問題?

當前基於神經網路的 TTS 系統中,梅爾頻譜是自回歸地生成的。由於梅爾頻譜的長序列和自回歸性質,這些系統面臨著如下挑戰:

  1. 產生梅爾頻譜的推理速度慢。雖然 CNN 和基於 Transformer 的 TTS 可以加速對 RNN 模型的訓練,但所有模型都以先前生成的梅爾頻譜為條件來生成新的梅爾頻譜,並且由於梅爾頻譜序列長度成百上千,推理速度會因此變慢。
  2. 合成語音不穩健。由於自回歸生成時的誤差傳播以及文本和語音之間錯誤的注意力對齊,所生成的梅爾頻譜往往存在單詞跳過和重複的問題。
  3. 合成語音缺乏可控性。以前的自回歸模型會自動逐個生成梅爾頻譜,而不會明確地利用文本和語音之間的對齊。因此,通常很難直接控制自回歸生成中的語音速度和韻律。

本文解決方案

考慮到文本和語音之間的單調對齊,為了加速生成梅爾頻譜,本文提出的新模型 FastSpeech 採用基於 Transformer 和一維卷積中自注意力機制的前饋網路,以文本(音素)序列作為輸入,生成非自回歸的梅爾頻譜。

將文本轉語音速度提高38倍,這個FastSpeech真的很fast

圖 1:FastSpeech 的整體架構。a. 前饋 Transformer。b. 前饋 Transformer 模塊。c. 長度調節器。d. 持續時間預測器。MSE 損失表示僅存在於訓練過程中的預測和提取持續時間之間的損失。

本文提出的 FastSpeech 可以解決上述三個挑戰:

  • 通過並行生成梅爾頻譜,FastSpeech 大大加快了合成過程。
  • 與自回歸模型中的自動注意力軟對齊非常不同的是,音素持續時間預測器確保音素與其梅爾頻譜之間的硬對齊,從而可以使 FastSpeech 避免錯誤傳播和錯誤注意對齊的問題,減少單詞跳過和重複單詞的比例。
  • 長度調節器可以通過延長或縮短音素持續時間來輕鬆調節語音速度,以確定生成的梅爾頻譜的長度,此外還可以通過在相鄰音素之間添加間隔來控制部分韻律。

FastSpeech 模型在 LJSpeech 數據集上進行的實驗結果表明,在語音質量方面,FastSpeech 幾乎達到了自回歸 Transformer 模型的水平。此外,與自回歸 Transformer TTS 模型相比,FastSpeech 在梅爾頻譜生成時速度提高 270 倍,在最終語音合成時速度提高 38 倍,幾乎消除了單詞跳過和重複的問題,並且可以平滑地調整語音速度。

前饋 Transformer

如圖 1a 所示,FastSpeech 的架構是基於 Transformer 和一維卷積中自注意力機制的前饋結構,稱之為為前饋 Transformer(FFT)。前饋 Transformer 將多個 FFT 塊堆疊以進行音素到梅爾頻譜的變換,其中音素側有 N 個塊,梅爾頻譜側有 N 個塊,長度調節器(將在下一小節中介紹)介於兩者之間,用於彌合音素和梅爾頻譜序列之間的長度差距。如圖 1b 所示,每個 FFT 塊由一個自注意力結構和一個一維卷積網路組成。自注意力網路由多頭注意力提取交叉位置信息。與 Transformer 中的 2 層密集網路不同,由於在語音任務中的字元/音素和梅爾頻譜序列中,相鄰的隱藏狀態更緊密相關,因此本文使用具有 ReLU 激活函數的 2 層一維卷積網路。文章在實驗部分評估了一維卷積網路的有效性。在 Transformer 之後,分別在自注意力網路和一維卷積網路之後添加了殘差連接、層歸一化和 dropout。

長度調節器

長度調節器(圖 1c)用於解決前饋 Transformer 中音素和頻譜圖序列之間長度不匹配的問題,此外還可以用於控制語音速度和韻律。音素序列長度通常小於其梅爾頻譜序列的長度,並且每個音素對應於多個梅爾頻譜。本文將對應於某音素的梅爾頻譜長度稱為音素持續時間(論文將在下一小節中描述如何預測音素持續時間)。基於音素持續時間 d,長度調節器將音素序列的隱藏狀態擴展 d 倍,從而使得隱藏狀態的總長度等於梅爾頻譜的長度。將音素序列的隱藏狀態表示為 Hpho = [h_1,h_2,...,h_n],其中 n 是序列的長度。將音素持續時間序列表示為 D = [d_1,d_2,...,d_n],其中

將文本轉語音速度提高38倍,這個FastSpeech真的很fast

,m 是梅爾頻譜序列的長度。從而可以將長度調節器 LR 表示為

將文本轉語音速度提高38倍,這個FastSpeech真的很fast

其中,α 是一個用於確定擴展序列 Hmel 長度的超參數,從而控制語音速度。

持續時間預測器

音素持續時間預測對於長度調節器很重要。如圖 1d 所示,持續時間預測器由具有 ReLU 激活函數的 2 層一維卷積網路組成,每個網路後都加上層歸一化、dropout,以及用於輸出標量的額外線性層,該標量正是預測的音素持續時間。請注意,此模塊堆疊在音素側的 FFT 塊之上,並使用均方誤差損失(MSE)與 FastSpeech 模型共同訓練,以預測每個音素的梅爾頻譜的長度。研究者在對數域中預測長度,使其更加符合高斯分布,並且更容易訓練。請注意,訓練好的持續時間預測器僅用於 TTS 推理階段,因為我們可以直接使用從訓練中的自回歸教師模型中提取的音素持續時間(參見下面的討論)。如圖 1d 所示,為了訓練持續時間預測器,本文從自回歸教師 TTS 模型中提取真實音素持續時間。

實驗設置

訓練和推理

研究者首先在 4 個 NVIDIA V100 GPU 上訓練自回歸 Transformer TTS 模型,其中每個 GPU 上運行一個 batch,每個 batch 包含 16 個句子。本文使用 Adam 優化,其中β_1= 0.9,β_2= 0.98,ε= 10^(-9),學習率與[22]相同。訓練至收斂需要 80k 步。然後再次將訓練集中的文本-語音對輸入模型以獲得用於訓練持續時間預測器的編碼器 - 解碼器注意力對齊。此外,本文還利用 5 個序列級知識精餾,在將知識從教師模型轉移到學生模型的非自回歸機器翻譯中取得了良好的表現。對於每個源文本序列,本文使用自回歸 Transformer TTS 模型生成梅爾頻譜,並將源文本和生成的梅爾頻譜作為 FastSpeech 模型訓練的成對訓練數據。

本文將 FastSpeech 模型與持續時間預測器一起訓練,其優化器選擇和其他超參數與自回歸 Transformer TTS 模型相同。為了加快訓練過程並提高性能,研究者從自回歸 Transformer TTS 模型初始化了部分權重:1)初始化自回歸 Transformer TTS 模型的音素嵌入; 2)由於共享相同的架構,研究者使用自回歸 Transformer TTS 模型的編碼器在音素側初始化 FFT 塊。在 4 個 NVIDIA V100 GPU 上訓練 FastSpeech 模型大約需要 80k 步。在推理過程中,使用預訓練的 WaveGlow 將 FastSpeech 模型的輸出梅爾頻譜轉換為音頻樣本。

將文本轉語音速度提高38倍,這個FastSpeech真的很fast

圖 2:FastSpeech 和 Transformer TTS 的推理時間(秒)與梅爾頻譜長度對比。

將文本轉語音速度提高38倍,這個FastSpeech真的很fast

圖 3:分別為 1.5x、1.0x 和 0.5x 倍速的語音梅爾頻譜。輸入文本是「For a while the preacher addresses himself to the congregation at large, who listen attentively」。

將文本轉語音速度提高38倍,這個FastSpeech真的很fast

圖 4:在單詞之間添加中斷之前和之後的梅爾頻譜。對應的文本是「that he appeared to feel deeply the force of the reverend gentleman』s observations, especially when the chaplain spoke of」。在「deeply」和「especially」之後添加了中斷以改善韻律。圖 4b 中的紅色框對應於添加的中斷。

將文本轉語音速度提高38倍,這個FastSpeech真的很fast

表 3:FastSpeech 和 Transformer TTS 在 50 個特別難的句子上的穩健性比較。每種單詞錯誤在一個句子中最多計算一次。

論文鏈接:https://arxiv.org/pdf/1905.09263.pdf

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

結合符號主義和深度學習,DeepMind提出新型端到端神經網路架構 PrediNet
找不到合適的數據?這裡有281個計算機視覺數據集任你選

TAG:機器之心 |