LC-BLSTM結構快速解讀

參考文獻以下:

(1) A Context-Sensitive-Chunk BPTT Approach to Training Deep LSTM/BLSTM Recurrent Neural Networks for Offline Handwriting Recognition網絡

(2) Training Deep Bidirectional LSTM Acoustic Model for LVCSR by a Context-Sensitive-Chunk BPTT Approach測試

(3) Improving Latency-Controlled BLSTM Acoustic Models for Online Speech Recogintion3d

       前言       衆所周知,BLSTM是雙向的LSTM,它能夠同時兼容上下文的信息,從而在通常序列任務上的表現很好。可是BLSTM有一個很致命的弱點,那就是由於有逆向LSTM的存在,它須要有後文的後驗,使得它沒法在實時的序列任務上也有好的表現。基於實時任務的需求,出現了兩種BLSTM的變體——CSC-BLSTMLC-BLSTMblog


1. CSC-BLSTM結構解析

       CSC-BLSTM結構全名——Context-Sensitive-Chunk Bidirectional Long Short-Term Memory,是BLSTM的第一種改進版本。請看結構圖:ip

       CSC-BLSTM首先把序列按照圖示的方法分割成多組chunk,除了首尾位置,其餘位置處的都是由Nl+Nc+Nr構成,分割的大小事先給定,通常選作30幀+60幀+30幀的模式。get

       其核心思想在於,Nl用來初始化Nc的前向細胞層狀態,Nr用來初始化Nc的後向細胞層狀態。NlNr不參與偏差反向傳播。以下圖:it

       很顯然,CSC-BLSTM的這種結構改進能夠減少實時任務的延遲,用不着整段話都輸入完畢纔有結果。可是從總體上看,它是以犧牲計算量爲代價的。由於與BLSTM相比,它多出了NlNr上的計算。在此基礎之上,爲了減小這種計算量,又出現了更加簡化了的LC-BLSTM。io

2. LC-BLSTM結構解析

       LC-BLSTM結構全名——Latency-Controlled Bidirectional Long Short-Term Memory,它改進了CSC-BLSTM。請看結構圖:基礎

       能夠發現,相比於CSC-BLSTM,LC-BLSTM取消了Nl,只保留了Nc+Nr。可是如此在計算上必然有差別。cli

       原來,LC-BLSTM的計算也並不複雜,同CSC-BLSTM同樣,Nr用來初始化Nc的後向細胞層狀態。可是,Nc的前向細胞層狀態直接由它的前一個Nc的輸出狀態獲得。這樣,相比於CSC-BLSTM,LC-BLSTM避免了Nl的計算量。

       But!!!很不幸,經過實驗發現,爲了保證準確率,LC-BLSTM必需要保證Nr劃分的足夠大,好比在原論文中,Nc=22的狀況下,Nr須要有21,這幾乎使得Nr須要有Nc一樣的大小。在Nc=Nr=30的狀況下,LC-BLSTM的計算量是傳統BLSTM的兩倍。

3. 改進的LC-BLSTM

       經過上述分析,LC-BLSTM的表現依然很差。阿里的研究人員改進了這個結構。他們總結LC-BLSTM的結構,多出來的計算量就在於Nr,可是Nr的做用無非兩點:

  1. 用於初始化當前Nc的後向細胞狀態;
  2. 用作下一層網絡的輸入(由於正常都會使用多層BLSTM)

       因而做者分別採用了兩種簡化的網絡結構代替Nr的BLSTM結構。分別是LC-BLSTM-FABDILC-BLSTM-FABSR

3.1 LC-BLSTM-FABDI

       首先對於時間軸上正向移動的LSTM,去掉了Nr部分的計算。而對於時間軸上反向移動的LSTM,Nr部分的計算主要是爲Nc提供cell的初始狀態,做者簡化了這部分的計算,使用正向全鏈接來代替LSTM,將f()的輸出取平均後做爲Nc的初始狀態。

3.2 LC-BLSTM-FABSR

       首先對於時間軸上正向移動的LSTM,一樣去掉了Nr部分的計算。另外做者發現對於BLSTM模型,時間軸上反向傳播的LSTM不如時間軸上正向傳播的LSTM重要,所以使用簡單RNN模型來代替時間軸上反向傳播的LSTM。

       但RNN會有梯度爆炸的問題,因此對其進行strict gradient-clipping。同時爲了利用將來的信息,加入了target delay

做者在320小時的Switchboard數據集上進行測試,在不影響wer的狀況下,這個兩種方法的解碼速度分別相對提高40%和27%。

相關文章
相關標籤/搜索