Facebook開源語音識別系統wav2letter++簡介

語音識別系統是深度學習生態中發展最成熟的領域之一。當前這一代的語音識別模型基本都是基於遞歸神經網絡(Recurrent Neural Network)對聲學和語言模型進行建模,以及用於知識構建的計算密集的特徵提取流水線。雖然基於RNN的技術已經在語音識別任務中得到驗證,但訓練RNN網絡所需要的大量數據和計算能力已經超出了大多數機構的能力範圍。最近,Facebook的AI研究中心(FAIR)發表的一個研究論文,提出了一種新的單純基於卷積神經網絡(Convolutional Neural Network)的語音識別技術,而且提供了開源的實現wav2letter++,一個完全基於卷積模型的高性能的語音識別工具箱。

在深度學習領域,在語音識別系統中使用CNN並不新鮮,但是大部分應用都侷限於特定的任務,而且通常與RNN結合起來構成完整的系統。但是當前CNN領域的研究表明只使用卷積神經網絡也有潛力在語音識別的所有領域達到最高水平,例如機器翻譯、存在長程依賴的語言模型的語音合成等。CNN模型與其他技術的最大優勢在於它不需要額外而且昂貴的特徵提取計算就可以天然地對諸如MFCC之類的標準特徵計算進行建模。因此長久以來,深度學習社區一直都期待着在語音識別工作流中完全使用CNN,因爲這要比目前的基於RNN的模型更高效也更富有競爭力。

全卷積語音識別架構

經過很多次實驗,FAIR團隊決定依賴於一個整合多個不同CNN層的架構來實現端對端的語音識別流水線,從音頻波形處理到語言轉錄。該架構基於下圖所示的散射模型:

模型的第一層CNN用來處理原始音頻並提取一些關鍵特徵;接下來的卷積聲學模型是一個具有門限單元的CNN,可通過訓練從音頻流中預測字母;卷積語言模型層則根據來自聲學模型的輸入生成候選轉錄文本;最後環節的集束搜索(Beam-Search)編碼器則完成最終的轉錄單詞序列。

FAIR團隊將其全卷積語音識別模型與最先進的模型進行了對比,它可以用少的多的訓練數據達到基本一致的性能,測試結果令人滿意因此FAIR團隊決定開源該算法的初始實現。

Wav2letter++

雖然深度學習技術近期的進步促進了自動語音識別(Automatic Speech Recognition)框架和工具箱的增加。然而,全卷機語音識別模型的進步,激勵了FAIR團隊創建wav2letter++,一個完全使用C++實現的深度語音識別工具箱。wav2letter++的核心設計基於以下三個關鍵原則:

  1. 實現在包含成千上萬小時語音數據集上的高效模型訓練
  2. 簡單可擴展模型,可以接入新的網絡架構、損失函數以及其他語音識別系統中的核心操作
  3. 平滑語音識別模型從研究到生產部署的過渡

基於以上原則,wav2letter++實現瞭如下圖所示的非常直白的架構:

爲了更好地理解wav2letter++的架構,有以下幾點值得着重指出:

  • ArrayFire張量庫:wav2letter++使用ArrayFire作爲張量操作的基礎庫。ArrayFire支持硬件無關的高性能並行建模,可以運行在多種後端上,例如CUDA GPU後端或CPU後端
  • 數據預備和特徵提取:wav2letter++支持多種音頻格式的特徵提取。框架可以在每次網絡評估之前即時計算特徵,並且通過異步並行計算來實現模型訓練的效率最大化
  • 模型:wav2letter++包含一組豐富的端對端序列模型,也包含衆多網絡架構以及激活函數。
  • 可擴展的訓練:wav2letter++支持三種主要的訓練模式:

    • train :從零開始訓練
    • continue :從檢查點狀態繼續訓練(continuing with a checkpoint state),
    • fork :可用於遷移學習。訓練流水線使用並行數據、同步隨機梯度下降以及基於NVIDIA的集羣通信庫,可以無縫伸縮。
  • 解碼:wav2letter++解碼器是基於前面提到的全卷積架構中的集束搜索解碼器,它負責輸出最終的音頻轉錄文本

Wav2letter++實戰

FAIR團隊將wav2letter++與其他語音識別進行了對比測試,例如ESPNet、Kaldi和OpenSeq2Seq。實驗基於著名的華爾街日報CSR數據集。初始結果表明wav2letter++在訓練週期中的任一方面都完勝其他方案。

完全基於CNN的語音識別系統當然是一個有意思的實現途徑,它可以優化對計算能力和訓練數據的需求。Facebook的wav2letter++實現已經被視爲當前最快的語音識別框架之一。我們將在不久的未來看到該領域越來越多的進步。

匯智網翻譯整理,轉載請標明出處:Introducing Wav2letter++

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