https://blog.csdn.net/wangyangzhizhou/article/details/76651116 共三篇
RNN的模型展開后多個時刻隱層互相連接,而所有循環神經網絡都有一個重復的網絡模塊,RNN的重復網絡模塊很簡單,如下下圖,比如只有一個tanh層。
而LSTM的重復網絡模塊的結構則復雜很多,它實現了三個門計算,即遺忘門、輸入門和輸出門。每個門負責是事情不一樣,遺忘門負責決定保留多少上一時刻的單元狀態到當前時刻的單元狀態;輸入門負責決定保留多少當前時刻的輸入到當前時刻的單元狀態;輸出門負責決定當前時刻的單元狀態有多少輸出。
每個LSTM包含了三個輸入,即上時刻的單元狀態、上時刻LSTM的輸出和當前時刻輸入。
https://blog.csdn.net/thriving_fcl/article/details/73381217
主要參考的論文是Hierarchical Attention Networks for Document Classification。這里的層次Attention網絡並不是只含有Attention機制的網絡,而是在雙向RNN的輸出后加了Attention機制,層次表現在對於較長文本的分類,先將詞向量通過RNN+Attention表示為句子向量,再將句子向量通過RNN+Attention表示為文檔向量。兩部分的Attention機制是一樣的,這篇博客就不重復說明了。
BIRNN
attention
1. 原來的Encoder–Decoder
在這個模型中,encoder只將最后一個輸出遞給了decoder,這樣一來,decoder就相當於對輸入只知道梗概意思,而無法得到更多輸入的細節,比如輸入的位置信息。
2. 對齊問題
前面說了,只給我遞來最后一個輸出,不好;但如果把每個step的輸出都傳給我,又有一個問題了,怎么對齊?
什么是對齊?比如說英文翻譯成中文,假設英文有10個詞,對應的中文翻譯只有6個詞,那么就有了哪些英文詞對哪些中文詞的問題了嘛。
3. attention機制
https://www.cnblogs.com/shixiangwan/p/7573589.html
這個g可以用一個小型的神經網絡來逼近,它用來計算St−1 、hj這兩者的關系分數,如果分數大則說明關注度較高,注意力分布就會更加集中在這個輸入單詞上,這個函數在文章Neural Machine Translation by Jointly Learning to Align and Translate(2014)中稱之為校准模型(alignment model),文中提到這個函數是RNN前饋網絡中的一系列參數,在訓練過程會訓練這些參數。
把四個公式串起來看,這個attention機制可以總結為一句話:當前一步輸出St應該對齊哪一步輸入,主要取決於前一步輸出St−1和這一步輸入的encoder結果hj。
(該結論有時表述為只與encoder結果有關)