【深度學習語音識別】CNN-LSTM-DNN:CLDNN-卷積,長短時記憶,完全連接的深層神經網絡

未經作者允許,本文禁止轉載

1. 論文地址:

Convolutional, Long Short-Term Memory, fully connected Deep Neural Networks

發表年份:2015年
被引量:691

這是一篇 CNN 在語音識別任務中應用的經典;

2. 摘要:

卷積神經網絡(CNN)和長短期記憶(LSTM)都已在各種語音識別任務中顯示出對深度神經網絡(DNN)的改進,並且 CNN,LSTM 和 DNN 在建模能力上是互補的,因爲 CNN 擅長減少頻率變化,LSTM 擅長時間建模,而 DNN 適合將要素映射到更可分離的空間;

在本文中,作者通過將 CNN,LSTM 和 DNN 組合成一個統一的架構來利用它們的互補性,由此搭建並優化 的體系結構,被稱爲稱爲 CLDNN,用於各種詞彙連續識別任務,相對於 LSTM(三個模型中最強的模型)的WER 提高了464-6%

3. 核心思想:

  1. LSTM 的一個問題是時間建模是在輸入特徵 xtx_t(如倒譜系數特徵)上完成的,而 xtxt 的高級建模可以幫助 LSTM 更容易理解輸入中變化的潛在特徵,從而更容易學習連續時間步長之間的時序結構; 例如,已經有研究表明,CNN 可以學習不同個體自適應或區別的訓練特徵,從而消除輸入中的變化;
  2. 在 LSTM 中,hth_t 和 輸出 yty_t 之間的映射也不深,即沒有中間的非線性隱藏層;如果可以減少隱藏狀態的變化因素,那麼模型的隱藏狀態可以更有效地總結先前輸入的上下文信息,從而使輸出更容易預測;因此可以通過在 LSTM 層之後放置 DNN 層來模擬減少隱藏狀態的變化;

作者提出的模型主要結構是:

  1. 將輸入要素(由時間上下文包圍)輸入到幾個 CNN 層以減少頻譜變化;
  2. 將 CNN 層的輸出輸入到幾個 LSTM 層中,以減少時間變化;
  3. 將最後一個 LSTM 層的輸出輸入到幾個完全連接的 DNN 層,這些層將要素轉換爲一個空間,使該輸出易於分類;

這篇論文的貢獻之處在於,作者將 CNN,LSTM 和 CNN 合併到一個聯合訓練的統一框架中,從而改善LSTM性能,並通過使隱藏單元和輸出之間的更深層次的映射(DNN 層提供)來輸出預測;

4. CLDNN 的網絡結構:

在這裏插入圖片描述
(雖然作者畫的圖比較草率,,,但是研究還是非常有意義的)

4.1 輸入:

對於時刻 tt,它的輸入包括左邊的 ll 個上下文向量和右邊的 rr 個上下文向量,記爲 [xtl,...,xt,...,xt+r][x_{t-l},...,x_t,...,x_{t+r}],並且每個向量都是 4040 維的 log-mel 特徵;

4.2 卷積層:

在這裏插入圖片描述

卷積層的作用是減少輸入信號的頻率變化;

具體來說,使用 2 個卷積層,每個卷積層具有 256 個特徵圖;

  1. 第一個卷積層使用 9x9 頻率-時間濾波器;
  2. 第二個卷積層使用 4x3 濾波器;

這些濾波器在整個時頻空間中共享;

池化使用不重疊的最大池化,並且僅按頻率進行池化,第一層的池化層大小爲3,第二層未進行池化;

4.2 線性層:

由於 CNN 輸出大小爲 特徵圖數×時間×頻率 尺寸很大,因此作者通過添加線性層以減小特徵尺寸,而不會造成精度丟失;

在這裏插入圖片描述

在實驗中,作者發現減小維數以使線性層有 256 個輸出是合適的;

4.3 LSTM 層:

在這裏插入圖片描述
進行頻率建模後,將 CNN 的輸出傳遞到LSTM層,從而對信號進行建模;

作者使用了 2 個 LSTM 層,其中每個 LSTM 層具有 832 個單元,以及一個 512 單位的用於降維的投影層;

注意文中默認 LSTM 將展開 20 個時間步,並通過進行截斷的反向傳播(BPTT)訓練;

此外,輸出狀態標籤會延遲 5 幀有助於更好地預測當前幀;

爲了確保 LSTM 不會看到超過 5 個未來上下文的幀從而避免解碼延遲,作者爲 CLDNN 設置 r=0r = 0

4.4 DNN 層:

在這裏插入圖片描述
在進行頻率和時間建模之後,將 LSTM 的輸出傳遞到幾個完全連接的 DNN 層,適合於生成更易於分爲我們要區分的不同類別的高階特徵;

每個完全連接的層都有 1024 個隱藏單元;

4.5 多尺度疊加:

作者發現將 CNN 的輸入 xtx_t 同時傳入到 LSTM 中可以增加額外的補充信息,因此設計了虛線 (1) 的結構:

在這裏插入圖片描述

同時受計算機視覺的殘差結構的啓發,作者探索了在使用 LSTM 在時間上以及使用 DNN 在判別上對 CNN 輸出進行建模之間是否存在互補性,並將 CNN 的輸入傳遞到 DNN 中,如 (2) 所示:
在這裏插入圖片描述

5. 實驗參數:

所有模型的輸入都是 40 維的 log-mel 濾波器組特徵,每 10ms 計算一次;

除非另有說明,否則所有神經網絡均使用異步隨機梯度下降(ASGD)優化策略並以交叉熵準則進行訓練;

所有網絡都有 13,522 個 CD 輸出目標,並使用 Glorot-Bengio 策略初始化所有 CNN 和 DNN 層的權重;

所有 LSTM 層都將隨機初始化爲高斯分佈,方差爲1/(#inputs);

另外,學習速率是針對每個網絡選擇的,並且選擇爲最大值,以使訓練保持穩定。;

學習率呈指數下降;

6. 消融實驗:

作者分別在一箇中等大小英語口語數據集(200 小時)、一個較大英語口語數據集(2000 小時)和一個人工添加環境噪聲的數據集(2000 小時)上進行訓練和評估,並採用 WER(詞錯率)作爲評判指標;

6.1 基準線:

基準模型的參數設置爲:

  1. CNN包括 2 個具有256個特徵圖的卷積層和 4 個包括 1,024 個隱藏單元的全連接層;
  2. DNN包括 6 層,每層共有 1,024 個隱藏單元;

CNN 和 DNN 的輸入都是 40 維的 log-mel 濾波器組特徵,周圍有 20 個過去幀和 5 個將來幀;

  1. LSTM 由 2 層 832 個單元的 LSTM 層和 512 個單元的維投影層訓練,輸入是一個 40 維 log-mel 特徵,在時間上展開爲 20 步,並且輸出延遲了 5 幀;

在這裏插入圖片描述

在這裏插入圖片描述

6.2 CNN+LSTM:

爲確保 CLDNN 的改進不是歸因於CNN(以及LSTM)的額外上下文功能,作者還探索了具有不同時間上下文的 LSTM 的行爲,結果如下:

在這裏插入圖片描述

6.3 LSTM+DNN:

這裏作者還探討了在 LSTM 輸出之後添加完全連接的層的效果:

在這裏插入圖片描述

實驗結果表明在完成時間建模之後,使用 DNN 層將 LSTM 層的輸出轉換爲更具區分性和更容易預測輸出目標的空間是有益的;

6.4 CNN+LSTM+DNN:

在這裏插入圖片描述

該表表明,將 CNN 和 DNN 層與 LSTM 組合在一起所獲得的收益是互補的;

6.5 權重初始化:

通過適當的權重初始化,可以提高模型性能:
在這裏插入圖片描述

6.6 多尺度特徵:

在這裏插入圖片描述

7. 實驗結果:

本節在更大的數據集上比較 CLDNN 和 LSTM,以及多尺度相加模塊的性能:
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

8. 結論:

在本文中,作者提出了 CNN,LSTM 和 DNN 的組合架構,稱之爲 CLDNN;

該體系結構使用 CNN 來減少輸入特徵的光譜變化,然後將其傳遞到 LSTM 層以執行時間建模,最後將其輸出到 DNN 層,從而產生更易於分離的特徵表示;

作者還爲該體系結構添加了多尺度的補充,以捕獲不同分辨率的信息;

各種 LVCSR 語音搜索任務的結果表明,與 LSTM 相比,CLDNN 體系結構可將 WER 相對降低 464-6%

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