帶你讀論文 | 端到端語音識別模型

2021-03-02 arXiv每日學術速遞

編者按:過去十年,得益於人工智慧與機器學習的突破、算法與硬/軟體能力的進步,以及擁有既多樣又大量的語音資料庫,用以訓練多參數的、大規模的語音識別與合成模型,使得語音處理技術獲得飛躍性進展。 

隨著端到端神經網絡在機器翻譯、語音生成等方面的進展,端到端的語音識別也達到了和傳統方法可比的性能。不同於傳統方法將語音識別任務分解為多個子任務(詞彙模型,聲學模型和語言模型),端到端的語音識別模型基於梅爾語譜作為輸入,能夠直接產生對應的自然語言文本,大大簡化了模型的訓練過程,從而越來越受到學術界和產業界的關注。

本文將通過六篇論文,從建模方法、響應時間優化、數據增強等不同方面講解端到端語音模型的發展,並探討不同端到端語音識別模型的優缺點。

在講述語音識別建模之前,首先明確端到端語音識別的輸入和輸出。

輸入:目前端到端語音識別常用的輸入特徵為 fbank。fbank 特徵的處理過程為對一段語音信號進行預加重、分幀、加窗、短時傅立葉變換(STFT)、mel 濾波、去均值等。一個 fbank 向量對應往往對應10ms的語音,而一段十秒的語音,即可得到大約1000個 fbank 的向量描述該語音。除了 fbank,MFCC 以及 raw waveform 在一些論文中也被當做輸入特徵,但主流的方法仍然採用 fbank。

輸出:端到端的輸出可以是字母、子詞(subword)、詞等等。目前以子詞當做輸出比較流行,和 NLP 類似,一般用 sentence piece 等工具將文本進行切分。

Seq2Seq

參考論文:Listen, Attend and Spell: A Neural Network for Large Vocabulary Conversational Speech Recognition. ICASSP 2016(William Chan, Navdeep Jaitly, Quoc V. Le, Oriol Vinyals)

給定序列 X,輸出 Y,最直白的一種辦法就是延伸在機器翻譯中所使用的 Seq2Seq 模型。Seq2Seq 模型由兩部分組成:編碼器和帶有注意力機制的解碼器。在解碼每個詞語的時候,注意力機制會動態計算每個輸入隱狀態的權重,並通過加權線性組合得到當前的注意力向量。在此處的語音識別任務中,Seq2Seq 模型與機器翻譯中的 Seq2Seq 模型異曲同工,可以使用不同的模型作為編碼器和解碼器,例如 RNN、Transformer 模型等。

圖1:Listen, attend and spell 模型結構圖

為了訓練更好的 Seq2Seq 語音識別模型,一些優化策略也被提出:

引入增強學習策略,將最小詞錯率(minimum word error rate)當作模型訓練的獎勵函數,更新模型參數。

由於語音的輸入和輸出有著單調性,並不存在機器翻譯的調序問題,所以使用單調注意力策略,在一些實驗中可以提升語音識別的性能。

引入覆蓋(coverage)機制,緩解語音識別的漏詞問題。

與 CTC 聯合訓練以及聯合解碼,可大幅提升 Seq2Seq 模型性能。

CTC

參考論文:Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks. ICML 2006(AlexGraves, SantiagoFernández,FaustinoGomez)

除了簡單易懂的 Seq2Seq 模型之外,還需要關注另一個經典之作 CTC 模型。CTC 模型是端到端語音識別的開山始祖,提出時間遠早於 Seq2Seq 模型,其建模思想也與 Seq2Seq 模型相去甚遠。CTC 模型可以看作自動學習輸入 X 與 Y 的對齊,由於 Y 的長度遠小於 X,所以 CTC 引入空和 y_i 的重複來讓 X 和 \{y}_hat 一一對應。

圖2:CTC 輸入音頻與文本對應關係

例如,在圖2中,CTC 引入空和重複使得句子 THE CAT (Y)和輸入音頻(X)做對齊。這種對齊方式有三個特徵:

(1)X 與 Y 映射是單調的,即如果 X 向前移動一個時間片,Y 保持不動或者也向前移動一個時間片。

(2)X 與 Y 的對齊是多對一的。一個 X 可以有很多種方式和 Y 進行對應。

(3)X 的長度大於 Y 的長度。

為了求得該映射,需要最大化後驗概率 P(Y|X)

這裡 A 是一條合法的 x 和 y 的對應路徑,a_t 代表 t 時刻 X 所對應的輸出。如有興趣可參見 https://distill.pub/2017/ctc/ 了解更多的推導細節。

在訓練中 CTC 與 Seq2Seq 模型相比,CTC 模型有如下不同:

Transducer

參考論文:Sequence Transduction with Recurrent Neural Networks. arXiv 2012(Alex Graves)

由於 CTC 模型無法顯示建模 Y 中詞與詞的依賴關係,Transducer 模型在2012年被提出。Transducer 可以被看作是 CTC 模型的延伸,由文本預測網絡(text prediction network)來建模語言模型,彌補了 CTC 的缺點。之後語言模型的隱狀態和語音編碼器的隱狀態傳遞給聯合網絡(joint network),以預測當前時刻的輸出。

圖3:Transducer 結構圖

值得注意的是,Transducer 的狀態轉移矩陣和 CTC 稍有不同,在 CTC 中一個詞連續出現兩次會在後處理時被合併,而 Transducer 不支持這種表示,其主要原因為 Transducer 對語言模型進行了建模,每輸出一個詞它的 prediction network 的隱狀態就會變化一次。並且 Transducer 支持同一幀對應多個輸出單元,而 CTC 不支持。因為 CTC 和 Transducer 都是逐幀解碼,語音結束解碼過程結束,他們也被稱作是幀同步(frame synchronized) 模型。與之相反的是 Seq2Seq 模型是逐詞解碼,直到出現 EOS 才結束,所以被稱作詞同步(word synchronized)模型。

圖4:Transducer 轉移矩陣

有了大致的模型結構之後,科研人員們又從不同的方面對端到端模型進行了優化。

數據增強

參考論文:SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition. INTERSPEECH 2019(Daniel S. Park, William Chan, Yu Zhang, Chung-Cheng Chiu, Barret Zoph, Ekin D. Cubuk, Quoc V. Le)

由於端到端模型需要大規模數據訓練,而很多場景並沒有那麼多的數據,因此數據增強算法在端到端語音識別系統裡最近被多次研究。其中最著名的數據增強算法為 Spec Augmentation。該方法簡單實用,可以被看作是一種用於頻譜的增強方法,來幫助神經網絡學習有用的特徵。為了使模型更加魯棒,研究者採用了3種方法,對數據進行增強:

Time-warp: 可通俗理解為在梅尓譜中沿著時間軸把任意一幀向左或向右扭曲隨機距離。

Frequency mask:添加在頻率 f 的連續梅爾譜上,將 [f0, f0+f]mask。其中 f是一個統一的0到 F 的參數,f0 是選自 [0,v-f] 中的。v 則代表了梅爾頻譜圖的通道數量。

Time mask:添加在 t 的連續時間上,將譜圖 [t0,t0+t] 全部掩蓋掉。t 是一個0到 T 的均勻分布。

這其中 Time mask 和 Frequency mask 對模型魯棒性的貢獻最大。

延遲優化

參考論文:Towards Fast and Accurate Streaming End-to-End ASR. ICCASP 2019(Bo Li, Shuo-yiin Chang, Tara N. Sainath, Ruoming Pang, Yanzhang He, Trevor Strohman, Yonghui Wu)

端到端模型由於模型小,不需要額外的語言模型,所以很容易部署到行動裝置之上。而在行動裝置上的語音場景往往需要一個延時非常小的語音識別模型。例如,當用戶說完「請為我查找歌曲晴天」時,系統應該儘可能快的進行響應,壓縮延遲。迄今為止,有一系列工作對壓縮 Transducer 的延遲展開了研究。其中比較著名的是 Google 所提出的 Endpointer 和其對應的關於延遲的懲罰。Endpointer 可以當做 Transducer 模型的句子結束符 EOS,研究員們希望這個 EOS 可以儘早出現,然而過早的出現可能導致刪除錯誤,所以 Google 的研究員提出了 Early and Late Penalties 去建模 EOS 出現位置。

在公式中,首先需要知道 EOS 所出現的真實時刻,之後如果 EOS 早出現或者晚出現(允許晚 t_buffer)都要進行相應的懲罰。然而,此種方法往往會帶來對精度的損失,在語音識別任務中,往往更好的延遲會以犧牲精度為代價。

參考論文:On the Comparison of Popular End-to-End Models for Large Scale Speech Recognition. InterSpeech 2020(Jinyu Li, Yu Wu, Yashesh Gaur, Chengyi Wang, Rui Zhao, Shujie Liu)

在今年的 InterSpeech 的論文中,微軟亞洲研究院和微軟 Azure Speech 團隊的研究員們對比了主流的 E2E 模型,其中包括 Transformer 和 RNN 的結構對比,以及在流式場景下 Transducer 和流式 S2S 的框架對比,所有試驗均在超大規模數據集上進行。實驗的結論為,Transformer 模型比 RNN 模型效果稍好,而 Transducer 模型在流式場景下要好於流式的 S2S 模型。在此之後,研究員們在論文「Developing Real-time Streaming Transformer Transducer for Speech Recognition on Large-scale Dataset」中又探討了 RNN 和 Transformer 模型在 Transducer 的優劣比較,實驗結果表明,Transformer 在精度上要好於 RNN,在允許幾百毫秒的延遲時從精度、速度上都要好於 RNN。然而 Transformer 模型在0延遲時計算代價要遠遠大於 LSTM,需要良好的計算設備才能支持實時運行。

相關焦點

  • 語音識別新範式:完全的「端到端」模型,優勢在哪裡?
    語音識別新範式以自然語言處理的子領域「語音識別」為例,從 2012 年引入深度學習技術開始,語音識別的研究熱點經歷了三個階段:2011 年前後,基於 DNN+HMM(深度神經網絡+隱馬爾科夫模型)的語音識別 2014 年前後,基於 LSTM+CTC(長短時記憶網絡+連接時序分類)的不完全端到端語音識別
  • 百度ICML論文:端對端中英文語音識別
    簡介幾十年來手工設計領域積累的知識已經進入最先進的自動語音識別(ASR)等的管道。一個簡單但有效的替代解決方案是訓練出端對端語音自動識別模式,使用深度學習的方法用一個模型來代替大多數模式。如同Hannun et al., 2014a and Graves & Jaitly, 2014b在他們的論文所提及一樣。
  • 序列轉換模型三合一!谷歌提出首個端到端的直接語音翻譯模型
    雷鋒網 AI 科技評論按:不同語言之間的語音到語音轉換早已不是什麼新鮮事了,任務拆分簡單直接,只需要把「源語言的語音識別模型(語音轉文本)」、「文本到文本翻譯模型」、「目標語言的語音生成模型(文本轉語音)」這三個模型串聯使用就可以。
  • 谷歌語音識別端到端系統單詞錯誤率降至5.6%,較傳統模型提升16%
    提升語音識別的端到端模型在谷歌各式各樣的語音搜索應用中,都是基於傳統的自動語音識別(Automatic speech recognition, ASR)系統實現的。在過去的幾年裡,開發端到端(End-to-end)的系統越來越受到學者們的歡迎,而這些端到端系統試圖將這些獨立的組件作為一個單一系統進行聯合訓練。雖然在文獻[2, 3]中這些端到端模型已經展示出了頗為驚豔的結果,但是這種端到端的方法是否可以被提升到趕上甚至超越最先進的傳統方法卻還仍然是一個未知數。
  • DeepMind端到端對抗語音合成
    機器之心 & ArXiv Weekly Radiostation參與:杜偉、楚航、羅若天本周的重要論文包括哈佛大學首屆計算機科學傑出博士論文,以及DeepMind提出的端到端對抗語音生成。
  • 重建「巴別塔」:谷歌推出全新端到端語音翻譯系統
    要將一個外國人說的話翻譯成本國文字,通常需要兩種機器學習模型:語音識別和文本翻譯。最近,谷歌提出的 Translatotron 模型創造性地實現了單一模型端到端(End-to-End)的直接語音翻譯。不僅如此,它還可以保留說話人的聲音特徵輸出語音,實現最直接的翻譯。
  • CRNN:端到端不定長文字識別算法
    https://github.com/meijieru/crnn.pytorch  https://github.com/bai-shang/crnn_ctc_ocr_tf❞這是2015年就發表的一篇基於深度學習的OCR文章,且不用文字切割、可以處理任意長度的端到端文字識別方法。
  • Bengio等人提出 Char2Wav:實現端到端的語音合成
    選自arXiv機器之心編譯參與:吳攀、李亞洲近日,來自印度理工學院坎普爾分校、INRS-EMT、加拿大高等研究院(CIFAR)的研究者在 arXiv 上發布了一篇 workshop track 論文,介紹他們在端到端語音合成上的研究成果 Char2Wav。據介紹,該模型可以直接根據文本生成高質量的音頻。
  • 語音翻譯也能端到端?深度學習這條路有戲!
    端到端技術是當前語音翻譯的研究前沿,科大訊飛聯合優化語音識別和機器翻譯的新技術路線,理論上更具前景,一旦技術研究成功,將為翻譯機器性能的提升帶來極大促進。提問:語音翻譯涉及哪些步驟?你或許會說,語音識別和機器翻譯——沒錯,傳統的語音翻譯通常採用語音識別和機器翻譯級聯的方式實現,對輸入語音先進行語音識別得到文本結果,然後再基於文本進行機器翻譯,這也是當前語音翻譯採用的主流方法。
  • 百度發布Deep Speaker:大規模聲紋識別的端對端系統
    最近使用神經網絡來進行聲紋識別的論文已經改進了傳統的i-vector方法(參考Interspeech教程的原始論文或者幻燈片)。i-vector方法認為說話內容可以被分為兩個部分,一個部分依賴於說話者和信道可變性,另一個部分依賴於其它的相關因素。
  • 百度Deep Voice作者與Bengio團隊切磋五大技術細節,端到端的語音...
    Deep Voice 目前需要藉助一個音素模型與音頻合成組件的幫助,希望在未來能夠實現真正意義上的端到端(end-to-end)語音合成,上述系統不需要經過複雜的合成流程,也不依賴手工設計特徵的輸入或預訓練文本。在官網上,百度研究院展示了三個不同的語音樣本做為對比,歡迎點擊此處查看。
  • INTERSPEECH 2020 | 騰訊AI Lab解讀語音識別與合成方向及入選論文
    今年,騰訊 AI Lab 共有 10 篇相關論文被 INTERSPEECH 2020 接收,涵蓋語音喚醒、識別、增強、分離、轉換、預訓練和端到端識別等主題。本文提出了一種基於神經網絡模型的多方向語音增強方法,可以同時增強多個方向的聲源。然後,再對多方向語音增強模型與語音喚醒模型進行聯合優化,研究者構建了一個端到端的多方向語音喚醒模型。在遠場帶噪聲數據集上驗證實驗表明:相比於傳統喚醒模型和之前提出的基于波束形成的多方向語音喚醒方法,新提出的方法具有顯著更優的喚醒性能。
  • 谷歌AI推出端到端純語音翻譯技術,有望成為未來的「機器同傳」
    ,第二段是標準的人類英語翻譯,而第三段則是AI合成的英語翻譯,來自於谷歌 AI 最新的語音翻譯模型 Translatotron。該模型是一個基於注意力機制(Attention)的端到端語音翻譯神經網絡。
  • ESIR:通過迭代矯正圖像的端到端場景文本識別系統
    題目名為:通過迭代圖像矯正的端到端場景文本識別(ESIR: End-to-end Scene Text Recognition via Iterative Image Rectification),原文連結為:https://www.researchgate.net/publication/332138404_ESIR_End-to-end_Scene_Text_Recognition_via_Iterative_Image_Rectification
  • TalkTyper:簡單方便的Web端語音識別工具
    TalkTyper隨著語音識別技術日趨成熟。語音輸入功能在移動應用端並不陌生,除了蘋果的Siri還有Dragon Dictation、SayHi、Iris、Evi 等。支持中文識別今天酷站就給大家推薦一個完全免費的網頁版語音識別工具TalkTyper。
  • 端到端聲源分離研究:現狀、進展和未來
    羅藝老師首先介紹了端到端音源分離的定義。從名稱來看,端到端的含義是模型輸入源波形後直接輸出目標波形,不需要進行傅立葉變換將時域信號轉換至頻域;音源分離的含義是將混合語音中的兩個或多個聲源分離出來。,羅藝老師以「WSJ0-2mix」數據集為例,並以在語音分離任務中使用十分廣泛的SI-SDR為指標,為我們展示了目前端到端音源分離研究的進展。
  • 端到端聲源分離研究:現狀、進展和未來
    羅藝老師首先介紹了端到端音源分離的定義。從名稱來看,端到端的含義是模型輸入源波形後直接輸出目標波形,不需要進行傅立葉變換將時域信號轉換至頻域;音源分離的含義是將混合語音中的兩個或多個聲源分離出來。最先被提出的方法為TasNet模型,該模型使用Encoder提取語音二維特徵,隨後通過Separation估計說話人mask,最後通過Decoder實現二維特徵到語音波形的轉換從而得到分離語音。
  • 基於元學習和人機協同的端到端對話模型
    2019: 基於 Few-shot learning 的對話意圖識別【5】Dialog Studio - 新一代智能對話開發平臺【6】對話用戶模擬器最新進展【7】小蜜團隊萬字長文:對話管理模型最新研究進展【8】[ACL 2020: 基於元學習和人機協同的端到端對話模型
  • 論文分享:級聯式RNN-T—基於音節與音字轉換器的流式中文語音識別
    針對離線流式語音識別任務,該論文提出了一種「級聯式RNN-Transducer」(Cascade RNN-T)的方法,可以有效的利用額外的文本信息來加強模型的語言信息。現對該論文進行解讀與分享。圖1 發表論文截圖
  • 語音版BERT?滴滴提出無監督預訓練模型,中文識別性能提10%以上
    機器之心報導參與:一鳴、杜偉語音識別技術在各種工業應用中獲得了極大的普及。但是,建立一個好的語音識別系統通常需要大量的轉錄數據,而這些數據收集起來成本高昂。論文連結:https://arxiv.org/pdf/1910.09932.pdfMasked 預測編碼(MPC)當前的工業端到端自動語音識別(automatic speech recognition,ASR)系統高度依賴於大量高質量的轉錄音頻數據