机器学习之LARNN(Linear Attention Recurrent Neural Network)

 Linear Attention Recurrent Neural Network(LARNN)由Guillaume Chevalier结合前人的经验于2018年八月发表的论文《LARNN: Linear Attention Recurrent Neural Network》中提出。
LARNN的核心机制是将Self-Attention Mechanisms(SAM)应用到Recurrent Neural Network(循环神经网络,RNN)中。
 首先,作者在文中通过分析算法模型的时间复杂度和计算难度,肯定了RNN的地位(不可抛弃)。后,结合Yoshua Bengio的工作成果,论证LARNN的存在价值和优势。最后,介绍LARNN算法原理,并通过一个案例进行实验。
 为简单明了,引用Chevalier文中算法结构图,通过一个SAM与LSTM结合的LARNN进行说明和细解LARNN的算法原理。算法图示如下:
在这里插入图片描述
 该图简单明了,左侧是一个窗口大小为4的LSTM,右侧是一个LSTM。其中pos encoding的方式采用《Attention Is All You Need》文中提出的一种sin和cos的几何序列,计算公式和表示方法如下:

PE(pos,2i)=sin(pos/100002i/dmodel))PE(pos,2i) = sin(pos/10000^{2i/d_{model}}))
PE(pos,2i+1)=cos(pos/100002i/dmodel))PE(pos,2i+1) = cos(pos/10000^{2i/d_{model}}))

 其中dmodel的隐藏单元数量与LARNN的特征数量相同,类似于LSTM的特征数量。
 现在采用Batch Normaliztion的LSTM公式(BN-LSTM)以及Exponential Linear Unit(ELU)将算法进行公式化,为避免公式过多,我在图中标出每一步的输出符号。
 图中左侧部分进行优化和表示:

vt=[[ct1,ct2,ct3,...,ctk]]v_{t} = [[c_{t−1}, c_{t−2}, c_{t−3}, . . . , c_{t−k}]]
key=value=postionalEncoding(vt)key = value = postionalEncoding(v_{t})
query=Wxh([xt,ht1])query = W_{xh}([x_{t}, h_{t−1}])
BNELUj(arg)=BatchNormj(elu(arg))=BN(elu(arg))BNELU_{j}(arg) = BatchNorm_{j}(elu(arg)) = BN(elu(arg))
at=MultiHeadSoftmax(queryBNELU1(key)sqrt(dk))))BNELU2(values)a_{t} = MultiHeadSoftmax(\frac{query*BNELU_{1}(key)}{sqrt(d_{k}))}))*BNELU_{2}(values)
ft=σ(BN(Whfht1+Wxfxt+bf))f_{t} = \sigma (BN(W_{hf}h_{t-1}+W_{xf}x_{t}+b_{f}))
it=σ(BN(Whiht1+Wxixt+bi))i_{t} = \sigma (BN(W_{hi}h_{t-1}+W_{xi}x_{t}+b_{i}))
ot=σ(BN(Whoht1+Wxoxt+bo))o_{t} = \sigma (BN(W_{ho}h_{t-1}+W_{xo}x_{t}+b_{o}))
gt residual mode=tanh(BN(Whcht1+Wxcxt+bc))g_{t\ residual\ mode} = tanh(BN(W_{hc}h_{t-1}+W_{xc}x_{t}+b_{c}))
gt layer mode=Wa([xt,ht1,at])+bag_{t\ layer\ mode} = W_{a}([x_{t}, h_{t-1}, a_{t}])+b_{a}
Ct=BN(fCt1+ixtgt))C_{t} = BN(f*C_{t-1}+i*x_{t}*g_{t}))
ht=BN(otelu(Ct)))h_{t} = BN(o_{t}*elu(C_{t})))

其中gt residual modeg_{t\ residual\ mode}gt layer modeg_{t\ layer\ mode}二选一。

至此整个算法的计算原理和公式书写完毕,共勉共进。

参考文档

  • 《LARNN: Linear Attention Recurrent Neural
    Network》
  • 《Long Short-Term Memory》
  • 《Attention Is All You Need》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章