2019年,這8款自動語音識別方案你應該瞭解!

基於計算機的人類語音識別與處理能力,被統稱爲語音識別。目前,這項技術被廣泛用於驗證系統中的某些用戶,以及面向谷歌智能助手、Siri或者Cortana等智能設備下達指令。

從本質上講,我們通過存儲人聲與訓練自動語音識別系統以發現語音當中的詞彙與表達模式。在本文中,我們將一同瞭解幾篇旨在利用機器學習與深度學習技術解決這一難題的重要論文。

Deep Speech 1: 實現端到端語音識別的向上擴展

本文作者來自百度研究所的硅谷人工智能實驗室。Deep Speech 1不需要音素字典,而是使用經過優化的RNN訓練系統,旨在利用多個GPU實現性能提升。該模型在Switchboard 2000 Hub5數據集上實現16%的錯誤率。之所以使用GPU,是因爲其需要投入數千小時進行模型數據訓練。此外,該模型還能夠有效應對嘈雜的語音採集環境。

Deep Speech: Scaling up end-to-end speech recognition

https://arxiv.org/abs/1412.5567v2

Deep Speech的主要構建單元是一套遞歸神經網絡,其已經完成訓練,能夠攝取語音頻譜圖並生成英文文本轉錄結果。RNN的目的在於將輸入序列轉換爲轉錄後的字符概率序列。
RNN擁有五層隱藏單元層,前三層爲非遞歸性質。在各個時間步中,這些非遞歸層分別處理獨立數據。第四層爲具有兩組隱藏單元的雙向遞歸層。其中一組進行正向遞歸,另一組則爲反向遞歸。在預測完成之後,模型會計算connectionist temporal classification(CTC)損失函數以衡量預測誤差。訓練則利用Nesterov的加速梯度法完成。

爲了減少訓練期間的方差,作者們在前饋層當中添加了5%到10%的棄用率。然而,這並不會影響到遞歸隱藏激活函數。此外,作者還在系統當中集成了一套N-gram語言醋,這是因爲N-gram模型能夠輕鬆利用大規模未標記文本語料庫進行訓練。下圖所示爲RNN轉錄示例:

下圖爲本模型與其它模型的性能比較結果:

Deep Speech 2: 英語與普通話的端到端語音識別

在Deep Speech的第二次迭代當中,作者利用端到端深度學習方法識別普通話與英語語音。此次提出的模型能夠處理不同的語言以及其中的重音,且繼續保持對嘈雜環境的適應能力。作者利用高性能計算(HPC)技術實現了7倍於上代模型的速度增量。在他們的數據中心內,作者們利用GPU實現Batch Dispatch。

Deep Speech 2: End-to-End Speech Recognition in English and Mandarin

https://arxiv.org/abs/1512.02595v1

其英語語音系統利用11940個小時的語音音頻訓練而成,而普通話系統則使用9400小時的語音音頻訓練而成。在訓練過程中,作者們利用數據合成來進一步增加數據量。

這套模型中使用的架構多達11層,由雙向遞歸層與卷積層組成。該模型的計算能力比Deep Speech 1快8倍。作者利用Batch Normalization進行優化。

在激活函數方面,作者們使用了限幅整流線性(ReLU)函數。從本質上講,這種架構與Deep Speech 1類似。該架構是一套經過訓練的遞歸神經網絡,用於攝取語音音頻譜圖與輸出文本轉錄。此外,他們還利用CTC損失函數進行模型訓練。

下圖所示爲各種卷積層排列情況下的單詞錯誤率比較結果。

下圖所示爲Deep Speech 1與Deep Speech 2的單詞錯誤率比較結果。Deep Speech 2的單詞錯誤率明顯更低。

作者們使用《華爾街日報》新聞文章組成的兩套測試數據集對系統進行了基準測試。該模型在四分之三的情況下實現了優於人類的單詞錯誤率。此外,系統中還使用到LibriSpeech語料庫。

利用雙向遞歸DNN實現首過大詞彙量連續語音識別

本篇論文的作者來自斯坦福大學。在本文中,他們提出一種利用主意模型與神經網絡執行首過大詞彙量語音識別的技術。

First-Pass Large Vocabulary Continuous Speech Recognition using Bi-Directional Recurrent DNNs

https://arxiv.org/abs/1408.2873v2

利用connectionist temporal classification(CTC)損失函數訓練神經網絡。CTC使得作者們得以訓練出一套神經網絡,並在預測《華爾街日報》LVCSR語料庫中的語言字符序列時,獲得低於10%的字符錯誤率(CER)。

他們將N-gram語言模型與CTC訓練而成的神經網絡相結合。該模型的架構爲反應擴散神經網絡(RDNN)。利用整流器非線性的一套修改版本,新系統修剪了大型激活函數以防止其在網絡訓練期間發生發散。以下爲RDNN得出的字符錯誤率結果。

人與機器間英語會話電話語音識別

來自IBM研究院的作者們希望驗證目前的語音識別技術是否已經能夠與人類相媲美。他們還在論文中提出了一套聲學與語言建模技術。

聲學側涉及三大模型:其一爲具有多個特徵輸入的LSTM,其二爲利用說話者對抗性多任務學習訓練而成的LSTM,其三則爲具有25個卷積層的殘差網絡。

該語言模型利用字符LSTM與卷積WaveNet式語言模型。作者們的英語會話電話LVCSR系統在Switchboard/CallHome子集(SWB/CH)上分別獲得了5.5%/10.3%的單詞錯誤率。

English Conversational Telephone Speech Recognition by Humans and Machines

https://arxiv.org/abs/1703.02136v1

本文使用的架構包括4到6個雙向層,每層1024個單;外加一個線性瓶頸層,包含256個單元;一個輸出層,包含32000個單元。訓練則涵蓋14次交叉熵,而後使用強化MMI(最大互信息)標準進行1輪隨機梯度下降(SGD)序列訓練。

作者們通過添加交叉熵損失函數的擴展梯度來實現平滑效果。LSTM利用Torch配合CuDNN 5.0版本後端實現。各模型的交叉熵訓練則在單一英偉達K80 GPU設備上完成,且每輪700 M樣本訓練週期約爲兩週。

對於卷積網絡聲學建模,作者們訓練了一套殘差網絡。下表所示爲幾種ResNet架構及其在測試數據上的實際性能。

下圖所示爲殘差網絡如何適應聲學建模。該網絡包含12個殘差單元,30個權重層以及6710萬個參數,利用Nesterov加速梯度進行訓練,學習率爲0.03,動量爲0.99。CNN同樣採用Torch配合cuDNN 5.0版本後端。交叉熵訓練週期爲80天,涉及15億個樣本,採用一塊英偉達K80 GPU,每GPU 64個批次。

通過下圖,可以看到LSTM與ResNets的錯誤率:


作者們還嘗試了四種LSTM語言模型,分別爲WordLSTM、Char-LSTM、Word-LSTM-MTL以及Char-LSTM-MTL。下圖所示爲這四種模型的架構。

其中Word-LSTM擁有一個字嵌入層,兩個LSTM層,一個全連接層,以及一個softmax層。Char-LSTM則擁有一個用於通過字符序列估算嵌入的LSTM層。Word-LSTM與Char-LSTM都使用交叉熵損失函數來預測下一個單詞。顧名思義,Word-LSTM-MTL與Char-LSTM-MTL當中引入了多任務學習(MTL)機制。

WordDCC由一個單詞嵌入層、多個具有擴張的因果卷積層、卷積層、完全連接層、softmax層以及殘差連接共同組成。

Wav2Letter++: 最快的開源語音識別系統

來自Facebook AI Research的作者們提出一套開源深度學習語音識別框架——Wav2Letter。該框架由C++編寫,並使用ArraFire張量庫。

wav2letter++: The Fastest Open-source Speech Recognition System

https://arxiv.org/abs/1812.07625v1

之所以使用ArrayFire張量庫,是因爲它能夠在多個後端上執行,包括CUDA GPU後端與CPU後端,從而顯著提升執行速度。與其它C++張量庫相比,在ArrayFire中構建及使用數組也相對更容易。圖左所示爲如何構建及訓練具有二進制交叉熵損失函數的單層MLP(多層感知器)。

該模型利用《華爾街日報》(WSJ)數據集進行了測試,共使用兩種類型的神經網絡架構進行訓練時間評估:遞歸,包含3000萬個參數;純卷積,包含1億個參數。下圖所示爲該模型在LibreSpeech上的單詞錯誤率。

SpecAugment: 一種用於自動語音識別的簡單數據增強方法

Google Brain的作者們預設了一種簡單的語音識別數據增強方法,並將其命名爲SpecAugment。該方法能夠對輸入音頻的對數譜圖進行操作。

在LibreSpeech test-other集中,作者們在無需語言模型的前提下實現了6.85%的WER(單詞錯誤率),而使用語言模型後WER進一步改善至5.8%。對於Switchboard,該方法在Switchboard/CallHome上分別得到7.2%/14.6%的單詞錯誤率。

SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition

https://arxiv.org/abs/1904.08779v2

利用這種方法,作者們得以訓練出一套名爲https://arxiv.org/abs/1508.01211 \t _blank">Listen, Attend and Spell (LAS)的端到端ASR(自動語音識別)網絡。其中使用到的數據增強策略包括 time warpinghttps://journals.sagepub.com/doi/10.1177/1084713808326455 \t _blank">frequency masking以及https://journals.sagepub.com/doi/10.1177/1084713808326455 \t _blank">time masking等等。

在這套LAS網絡當中,輸入對數譜圖被傳遞至一個雙層卷積神經網絡(CNN)當中,且步長爲2。該CNN的輸出則進一步通過具有d 個堆疊的雙向LSTM編碼器——其中單元大小爲w,用以生成一系列attention向量。

各attention向量被饋送至一個單元維度爲w的雙層RNN解碼器中,並由其輸出轉錄標記。作者們利用一套16 k的Word Piece Model對LibriSpeech語料庫以前主一套1 k 的Word Piece Model對Switchboard進行文本標記化。最終轉錄結果由集束搜索獲取,集束大小爲8。

下圖所示爲LAS + SpecAugment得出的單詞錯誤率性能。

Wav2Vec: 用於語音識別的無監督預訓練方法

來自Facebook AI Research的作者們通過學習原始音頻的表達,來探索如何以無監督方式實現語音識別的預訓練。由此產生的結果就是Wav2Vec,一套在大規模未標記音頻數據集上訓練得出的模型。

由此獲得的表示將用於改進聲學模型訓練。通過噪聲對比二進制分類任務對一套簡單的多層卷積神經網絡進行預訓練及優化,得出的Wav2Vec成功在nov92測試數據集上達到 2.43%的WER。

wav2vec: Unsupervised Pre-training for Speech Recognition

https://arxiv.org/abs/1904.05862v3

預訓練中使用的方法,是優化該模型以實現利用單一上下文進行未來樣本預測。該模型將原始音頻信號作爲輸入,而後應用編碼器網絡與上下文網絡。

編碼器首先將音頻信號嵌入潛在空間中,且上下文網絡負責組合該編碼器的多個時間步,從而得出完成上下文化的表示。接下來,從兩套網絡當中計算出目標函數。

編碼器與上下文網絡中的各層包括具有 512個信道的因果卷積層,一個組歸一化層以及一項ReLU非線性激活函數。在訓練期間,由上下文網絡生成的表示被饋送至聲學模型當中。聲學模型的訓練與評估利用wav2letter++工具包完成。在解碼方面,作者們使用由WSJ語言建模數據集上訓練得出的字典與單獨的語言模型實現。

下圖所示,爲此模型與其它語音識別模型的單詞錯誤率比較結果。

用於ASR的可擴展多語料庫神經語言模型

在本文當中,Amazon Alexa的作者們爲使用大規模ASR系統的神經語言模型時出現的一些挑戰帶來解決方案。

Scalable Multi Corpora Neural Language Models for ASR

https://arxiv.org/abs/1907.01677

作者們試圖解決的挑戰包括:

  • 在多個異構語料庫上訓練NLM
  • 通過將首過模型中的聯繫人名稱等類傳遞給NLM,以建立個性化神經語言模型(NLM)
  • 將NLM納入ASR系統,同時控制延遲影響

對於立足異構語料庫實現學習這項任務,作者們利用隨機梯度下降的變種估計神經網絡的參數。這種方法要取得成功,要求各小批次必須爲學習數據集的獨立且相同(iid)樣本。通過以相關性爲基礎從各個語料庫中抽取樣本以隨機構建小批次數據子集,這套系統得以爲各個數據源構建N-gram模型,並在開發集上對用於相關性權重的線性插值權重進行優化。

通過從NLM上採樣大文本語料庫並利用該語料庫估算N-gram模型,這套系統得以構建起NLM的N-gram近似模式,從而爲首過LM生成合成數據。另外,作者們利用一套子單詞NLM生成合成數據,從而確保由此獲得的語料庫不受限於當前ASR系統版本中的詞彙儲備。模型中使用的書面文本語料庫總計包含超過500億個單詞。NLM架構由兩個長-短期記憶投射遞歸神經網絡(LSTMP)層組成,每個層包含1024個隱藏單元,投向至512維度。各層之間存在殘差連接。

下圖所示爲該模型給出的一部分結果。其通過從NLM生成的合成數據獲得了我1.6%的相對WER。

總結

到這裏,我們已經回顧了最近一段時間常見於各類環境中的自動語音識別技術。

以上提到的論文/摘要當中也包含其代碼實現鏈接,期待大家發佈您自己的實際測試結果。

原文鏈接:

https://heartbeat.fritz.ai/a-2019-guide-for-automatic-speech-recognition-f1e1129a141c

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章