LSTM為何如此有效?

時間 2021-05-06 14:34:46

1樓:白皮書

gate尤其是forget gate的作用與residual類似,給較早時刻的單詞加了一條通路,可以更好的把較早時刻的單詞資訊傳到當前時刻,也有利於梯度的傳播~

2樓:Yi Luo

最近也遇到了一些跟LSTM效能相關的情況,也說一點個人觀點吧。

TL;DR:

我認為LSTM比其他網路效能好的問題主要有這麼幾個特徵:

屬於時序資料(有時間依賴性),並且要求全域性化處理;

輸入和輸出的元素級別的對應上(比如單詞與單詞之間)可能有不小的時間跨度;

資料不太短但也不會太長,例如小於1000個步長。

縱向對比,RNN(包括但不限於LSTM)在時序資料中效能較好的原因我認為主要是兩方面:全域性化處理和memory (hidden) cell。全域性化表示完整的輸入才能包含所有資訊,只看一部分(區域性化)可能丟失資訊從而導致建模失效;memory cell保留每一步的資訊來動態調整下一步。

這些也都是老生常談的RNN的優勢。BLSTM由於有雙向資訊全域性化優勢更加明顯,所以很多非因果的系統裡BLSTM效能常常能達到非常好的效能。全域性化處理在例如翻譯之類的任務裡非常重要,因為少了乙個詞意思可能就完全不一樣了,CNN等區域性化或感受野不夠大的結構可能會直接失效;情感分類我不大了解不知道是不是也有這種情況,例如某些句尾單詞非常影響結果之類的,但如果BLSTM顯著好於別的結構那應當也有某些全域性性資訊起關鍵作用。

橫向對比,LSTM與它的各種變種比vanilla RNN好的原因我認為主要就是門機制,這一點其他回答已經說了很多了,我也不多贅述了。但是RNN本身也有各種變種(uRNN, oRNN, iRNN, 前段時間的IndRNN啥的),在一些問題上能達到跟LSTM相同或更好的效能,所以門機制為什麼有效就又有點不明朗了。如果說門機制僅僅是因為解決了梯度問題而有效,那對於同樣解決了梯度問題的某種RNN變種而言,在相同深度、相同參數量的情況下是不是能有一樣的效能呢?

目前看來似乎不是,所以門機制應該是有更多的作用的,比如內部的正則化、類似highway network的information flow之類的(我瞎猜的)。但是LSTM深了以後不大好視覺化,所以我是很期待能有較好的解決deep LSTM視覺化的文章的。

attention也是乙個全域性化處理的方法。它在LSTM裡能提高效能的原因相當於另外顯式的加了一層對全域性資訊建模的過程,幫LSTM把沒學到或者漏了的東西給補回來。所以attention自己本身在某些任務裡就能有好效能,比如其他答案多次提到的attention is all you need,因為它在目的的角度講跟LSTM做的是同乙個事情。

LSTM+attention似乎一般都能比只用LSTM要稍好一點,但是這個也跟目標任務相關。NLP中的Seq2Seq類模型、CV中的video captioning模型應當是提公升最大的,因為輸入和輸出中的對應可能有很長的時間(單詞、幀)跨度,這種時候attention經常能幫大忙;語音識別中attention也有幫助,但幫助的主要是language model而不是auditory model,因為auditory model本身還是區域性化的(說了啥就是啥,音素上是不會變的),而language model是全域性的(從上文來看,這裡這些音素組成的是個什麼詞?),但是提公升上沒有NLP裡那麼明顯,不過這又是另乙個問題了——我覺得LSTM在語音裡的坑比NLP裡要多。

另一方面,LSTM在非常長的資料上(比如超過1000個step)是很難訓練的,這個問題一般可能不太會遇到,但是語音裡也不算罕見。無論是波形還是頻譜圖,在句子長了以後是很容易上千甚至上幾千的,這時候LSTM的訓練就會有些問題。一般我會加個gradient clipping來處理特別長的輸入,並且發現這樣比不加要好非常多。

從這個角度講,dilated CNN系列的結構,比如temporal convolutional network(TCN)也能對長時間資料來建模,並且收斂速度、模型大小等方面在資料長的情況下要好不少,但是缺點是TCN的感受野限制使得它注定不是完全的全域性化建模,它能用來學習的長度就是感受野的長度(除非弄乙個特別大的感受野,保證無論什麼輸入都能覆蓋整個資料)。並且如果感受野不夠大,TCN就不可能作為BLSTM的等價替代品。

3樓:某夕易

DNN效能一般是因為DNN建模的過程本質還是乙個詞袋模型,無法對詞序做區分,也就是乙個句子裡面詞換序之後經過fasttext 第一層之後是不變的,但是很多句子裡,詞序其實對句意影響很大,甚至有決定影響。

CNN同理,convtext,只是提取了區域性的ngram資訊,對於句子的詞序尤其是遠距離詞的詞序是區分不了的。 模擬傳統的文字分類方法,DNN相當於詞袋模型,只是特徵變成了詞向量,卷積相當於特徵變成了詞向量組成的ngram。

LSTM的優點是建模時隱含著建立了乙個語言模型,這對詞序是很強的區分。雙向lstm就更強,反向也建了個語言模型,不僅有正向詞序還有反向詞序的區分,這樣對於LSTM每乙個步的詞,相當於有了完整的上下文建模。

再說一點:傳統上分析LSTM的好處的各種文章通常是兩點:解決梯度消失和抓長距離依賴,而且不少文章經常把這兩點混淆,認為簡單RNN由於梯度消失才有了抓長距離依賴的限制,其實這兩者並不完全一致,而且LSTM抓長距離依賴的能力並沒有那麼強,比如機器翻譯任務裡,長句的翻譯效能下降還是比較明顯的。

題主在其他回覆裡說attention不如lstm,這點其實有待商榷,實際上self-attention 是一種很強的捕獲長距離依賴的手段,對於全域性資訊的建模是很強的,具體可詳見 attention is all you need 裡的解析和附錄裡的視覺化。self attention加上位置編碼的模型組成的transformer模型是機器翻譯任務裡的state of art(參見attention is all you need) ,類似的模型加上卷積在機器閱讀理解任務SQuAD上目前也是排名第一的(參見谷歌的QAnet)。這些模型都沒用任何RNN,只是把詞序資訊用一種三角函式硬編碼到了詞向量裡。

這些任務的特點是:資訊量大、文字的全域性特徵在任務裡更重要,所以self attention的好處被充分發揮。事實上最近NLP圈甚至有一種爭論是要不要放棄LSTM,畢竟訓練速度比attention和卷積慢,更是無法並行,現在很多效能上也比不了attention了。

不過我覺得還是看任務和資料集吧,畢竟沒免費午餐,在一些較少依賴全域性性的任務上,lstm還是有用武之地的。以上。

詩歌為何如此優美?

雲墨成雲化作煙 估計是詩歌把語言所有的美結合到了一起 1.音律。詩歌都要講究押韻和平仄相對及對仗,這會讓人讀起來感到非常流暢舒適。例如杜甫的 無邊落木蕭蕭下,不盡長江滾滾來 2.文字。詩歌中的文字很多都是極美的,像 青藹 碧峰 曉霧 星河 等等。這些詞語組合起來就更美了,例如李白的 野竹分青靄,飛泉...

留學為何如此孤獨?

百變二號機 沒有家人 這個算是我獨自六年的總結吧 不論何時,家人都確實是最堅強的後盾。沒錢了,累了,出事了只要回家就好了。然而一人在外,無依無靠,家人問起近況還得說沒事,還有錢,不累。 Harper 克服孤獨的話,是時間問題,我初一來的,初二的時候就比較放的開,朋友也就多了,到現在朋友真的很多了,經...

遊戲為何如此重要?

Fu yu 因為emmm可能 他們不是覺得遊戲重要,可能是覺得罵人互懟的快感更重要。生活這麼艱難,好不容易有人可以罵一下子,還不用負責任,你說呢 魁鈄 跟你有差不多的經歷,算是有資格來回答吧。聯盟這遊戲我在高中時也是玩的瘋狂,後來大學後就不玩了 我上了個假大學 後來有一次偶然的機會我看到rng奪冠了...