LSTM(長短期記憶)死了嗎?
根據我自己的經驗,LSTM 的訓練時間很長,並且在許多現實世界的任務中並沒有顯著提高性能。
為了使問題更具體,我想問一下 LSTM 何時會比其他深度 NN 工作得更好(可能是現實世界的例子)?我知道 LSTM 捕捉數據中的順序關係,但真的有必要嗎?
大多數相關主題的演示都是毫無意義的。他們只關注玩具數據,例如 IMDB 審查,其中簡單的邏輯回歸將獲得非常好的結果。我看不到使用 LSTM 的任何價值,它具有巨大的計算成本但邊際改進(如果有的話)。
即使有了這些玩具示例,我也沒有發現 LSTM 可以很好地解決但其他模型不能解決的任何好的用例。
或許。但 RNN 不是。
變形金剛學習“偽時間”關係;它們缺乏 RNN 所具有的真正循環梯度,因此提取了根本不同的特徵。例如,本文表明標準轉換器在強化學習設置中難以優化,尤其是在內存密集型環境中。然而,他們最終設計了一個超越 LSTM 的變體。
哪裡還需要 RNN?
長記憶任務。很長的記憶。IndRNN具有記憶 5000 個時間步的能力,而 LSTM 幾乎無法管理 1000個。Transformer的時間複雜度是二次的,而 RNN 是**線性的,這意味著即使是 5000 個時間步的單次迭代也能順利處理。如果這還不夠,最近的Legendre 內存單元已經展示了高達512,000,000 個時間步長的內存;我不確定世界上頂級的超級計算機能否將生成的 1E18 張量放入內存中。
除了強化學習之外,信號應用也需要內存——例如語音合成、視頻合成、癲癇分類。雖然 CNN 在這些任務上取得了很大的成功,但許多都利用了插入到後面層的 RNN;CNN 學習空間特徵,RNN 學習時間/循環。一篇令人印象深刻的 2019 年論文網絡設法從僅5 秒的樣本中克隆出說話者的聲音,並且它使用了 CNNs + LSTMs。
內存與功能質量:
一個不保證另一個;“質量”是指給定任務的*信息效用。*例如,對於 50 個單詞的句子,模型 A 的分類可能優於模型 B,但在 100 個單詞時會顯著失敗,而 B 不會有任何問題。這種確切的現像在最近的雙穩態循環細胞論文中得到了說明,其中細胞對較長的序列表現出更好的記憶,但在較短的序列上卻被 LSTM 超越。直覺是,LSTM 的四門網絡允許更好地控制信息路由,從而更豐富的特徵提取。
LSTM 的未來?
我最可能的賭注是,某種形式的增強——比如雙穩態循環單元,可能需要注意和循環歸一化(例如LayerNorm或Recurrent BatchNorm)。BRC 的設計基於控制理論,LMU 也是如此;這樣的架構可以自我規範化,還有很大的創新空間。最終,RNN 不能被非循環架構“取代”,因此在一些需要明確循環特徵的任務上表現出色。
循環變壓器
如果我們不能消除重複,我們就不能以某種方式將它與變形金剛結合起來嗎?是的:通用變形金剛。不僅存在重複,而且支持可變輸入序列,就像在 RNN 中一樣。作者甚至認為 UT 是圖靈完備的。這是否屬實我還沒有驗證,但即使是這樣,也不能保證完全利用這種能力的實際能力。
獎勵:它有助於可視化 RNN 以更好地理解和調試它們;你可以使用我的一個包See RNN (包括漂亮的圖片)查看它們的權重、梯度和激活。
2020 年 6 月 29 日更新:新論文重新設計了變換器,使其在時間維度上運行,具有線性、O(N)、複雜性:變換器是 RNN。不過請注意標題;來自第 3.4 節:“我們考慮時間而不是深度的重複”。所以它們是一種RNN,但仍然不同於“傳統”的。我還沒有讀過它,似乎很有希望;這裡有一個很好的視頻解釋。