从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 ):