從2014年Attention mode在機器翻譯或起來以後,attention model逐漸在語音識別領域中應用,並大放異彩。因此本篇文章就對Attention進行總結和說明。
首先要確定的是Attention是一種權重向量或矩陣,其往往用在Encoder-Decoder架構中,其權重越大,表示的context對輸出越重要。計算方式有很多亞種,但是核心都是通過神經網絡學習而得到對應的權重。通常其權重aij和Decoder中的第i-1個隱藏狀態,Encoder中的第j個隱藏狀態相關[1]。
接下來跟進一篇論文來具體瞭解Attention的用法和構成。第一篇文章是Jan Chorowski 的《Attention-Based Models for Speech Recognition 》[2].
Encoder端是一個BiRNN結構,第i步的輸出Yi和hi和Attention的權重相關,具體架構如下圖所示:
其輸出Yi爲:
其中,Generate爲RNN的Decoder結構,Si-1表示Decoder中的第i-1個狀態,gi表示glimpse,即Attention和隱藏層H相乘之後的結果,
glimpse爲:
上式中,aij即爲Attention的權重,hj爲encoder中第j個隱藏狀態。
si爲Decoder中的因此狀態,依賴si-1和gi和yi,如下所示:
以上爲Attention的用法,解析來看一下Attention中aij是如何進行得到的。
aij是eij經過softmax的結果,eij計算如下(content-basedAttention ):
即Attention的權重aij是和Decoder中第i-1步驟的隱藏狀態si-1相關,和Encoder中的第j步的隱藏狀態hj相關;
eij還有第二種計算方式,就是把上一步驟中的ai-1加入到其中(location based Attention)
aij還有其他的實現方式:
sharpen方式:其中β>1
Smooth方式:
以上就介紹完了Attention的用法,下面來對Attention在近期的語音識別和機器翻譯中的使用做一個說明。
2016年3月份Dzmitry Bahdanau 在文獻[3]中把Attention模型用在了LVCSR中,Bandana在上面的基礎之上,進行了改進,
1)對Attention的計算範圍進行了2w的加窗,加快訓練和解碼
2)RNN結構爲GRU,對RNN加入了pool,減少長度和計算量
3)加入n-gram,支持WFST解碼
其Attention相關的結構如下:下圖中的ct等價於上面介紹的glimpse,即gi
最終錯誤率對比如下所示:
可以看到,其最好WER爲9.3%,基本達到了苗亞傑2015年CTC+3-gram的水平。
然而Attention模型雖然好,但是還是有自身的問題[4][5],問題如下:
1)適合短語識別,對長句子識別比較差
2)noisy data的時候訓練不穩定
因此比較好的方法是使得Attention與CTC進行結合,
Suyoun Kim等人在2016年9月的文章[5]就對Attention與CTC結合對語音聲學模型建模,其結構如下所示:
其共用一個Encoder,Decoder分爲2個,一個是CTC,一個是Attention,並通過權重λ來給定不同的權重比,
其損失函數如下:
在Encoder結構爲4層BLSTM,每層320個節點,Decoder爲單向LSTM,節點也爲320個
λ爲0.2,0.5,0.8的情況下,模型收斂情況如下所示:
對比藍色的Attention模型還有紅色的CTC模型,Attention+CTC模型更快的收斂了,這得益於初始階段CTC的階段對齊更準確,使得Attention模型訓練收斂更快。
最終其CER如下所示:
λ在0.5或者0.8的情況下,字正確率超過了單純的Attention模型和CTC模型。
2017年7月,Facebook提出的Attention在CNN的機器翻譯領域達到了state-of-art水平[6],其結構如下圖所示:
與上面討論不同的是,該Attention是多層的,每層都有對應一個Attention。是一個multiple steps結構。
Google在2017年6月針對MNT提出了純Attention模型[7],文中提出了self-attention結構和Multi-head Attention結構。如下圖所示:
整體架構如下:
關於MNT的架構分析會在接下來的文章中進行討論
Attention相關的更多文章可以看看NIPS workshop 2015相關的主題介紹 [8]
[1].https://zhuanlan.zhihu.com/p/28054589
[2] Attention-Based Models for Speech Recognition
[3] END-TO-END ATTENTION-BASED LARGE VOCABULARY SPEECH RECOGNITION
[4] GMIS 2017 | 騰訊AI Lab副主任俞棟:語音識別研究的四大前沿方向
[5] JOINT CTC-ATTENTION BASED END-TO-END SPEECH RECOGNITIONUSING MULTI-TASK LEARNING
[6]Convolutional Sequence to Sequence Learning
[7]Attention Is All You Need
[8]Reasoning, Attention, Memory (RAM) NIPS Workshop 2015