機器學習之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》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章