RNN和LSTM有長期記憶嗎?華為諾亞方舟實驗室與港大聯合發表在ICML2020的論文將為你揭開謎底

  • 2020 年 6 月 11 日
  • AI

轉自諾亞方舟實驗室

引言

為了克服遞歸網路(RNN)學習長期依賴的困難,長短期記憶(LSTM)網路於1997年被提出並後續在應用方面取得了重大進展。大量論文證實了LSTM的實用性並試圖分析其性質。而「RNN和LSTM是否具有長期記憶?」這個問題依然缺少答案。本論文從統計學的角度回答了這一問題,證明了RNN和LSTM在做時間序列的預測時不具備統計意義上的長期記憶。統計學已有的對於長期記憶的定義並不適用於神經網路,於是我們提出了一個對於神經網路適用的新定義,並利用新定義再次分析了RNN和LSTM的理論性質。為了驗證我們的理論,我們對RNN和LSTM進行了最小程度的修改,將他們轉換為長期記憶神經網路,並且在具備長期記憶性質的數據集上驗證了它們的優越性。


相關背景

儘管在深度學習領域,長期記憶這個詞經常在LSTM的應用中被提到,但是並沒有嚴格的定義。而在統計領域,對於長期記憶的嚴格定義很早就有了。對於一個二階平穩的一維時間序列,記它的自協方差函數為

。那麼如果不可和,則具有長期記憶;如果可和,則具有短期記憶。除了自協方差函數之外,還可以等價地用譜密度函數來定義長期或短期記憶。更嚴謹的表述見下圖中定義一。

符合長期記憶定義的一種最常見的時間序列模型就是分數差分過程(fractionally integrated process)。在時間序列分析中,時間序列的簡寫一般會使用後移運算符(backshift operator)。當作用於時間序列中的一個隨機變數時,會獲得前一時刻的隨機變數,即。後移運算符的運算與一個代數變數的運算非常相似,例如

。利用後移運算符,一個分數差分過程可以很方便地寫作

其中

是Gamma函數, 是分數差分模型的記憶參數。一般會被選取為一個自回歸滑動平均模型(Autoregressive moving-average model,簡稱ARMA模型),此時服從分數差分整合移動平均自回歸模型(Autoregressive fractionally-integrated moving-average model,簡稱ARFIMA模型)。一個ARFIMA模型中的ARMA部分負責對短期記憶的規律進行建模,而分數差分的參數則負責對長期記憶的規律進行建模。


長期記憶對於多維度的時間序列來說並沒有唯一的定義。我們選擇了一種簡單直接的方式來定義多維時間序列的長期記憶,那就是檢查時間序列的各個維度是否具有長期記憶,忽略不同維度之間的長期相關性。每個維度都有一個記憶參數來對該維度進行建模。多維度時模型的簡寫見(4)式。


ARFIMA模型是本文的重要靈感來源之一。它的一些重要性質包括:

  •  在-0.5到0.5之間時,模型是平穩的,大於0.5時,模型非平穩; 

  • 對於平穩模型來說,小於0時模型具有短期記憶,而大於0時,模型具有長期記憶,且的值越大,記憶效果越長;

  • (3)式中的係數,隨的增大,以多項式速率衰減,即;

  • 的自協方差函數以多項式速率衰減。


以多項式速率衰減的係數或者自協方差函數是ARFIMA模型區別於短期記憶模型的一大特點。具有短期記憶的模型的係數或者自協方差函數都是以指數速率衰減的,所以過去的資訊丟失得非常快。結合定義一來看,多項式速率衰減的序列在指數小於-1時是不可和的,而指數速率衰減的序列總是可和的,所以自協方差函數屬於前者則模型具備長期記憶,屬於後者則模型不具備長期記憶。本文也是利用衰減速率來證明RNN和LSTM的記憶性質的。

在證明模型的自協方差函數衰減速率時,我們藉助了幾何遍歷性這一性質來輔助證明,具體定義見下圖。一個具有幾何遍歷性的馬爾科夫鏈在步後的條件分布,隨著的增大以指數速率收斂向平穩分布。這意味著馬爾科夫鏈「現在處在狀態」的這個資訊以指數速率丟失了。幾何遍歷性意味著自協方差函數以指數速率收斂為0,意味著隨機過程不具有長期記憶。


遞歸網格的記憶性質

假設一個遞歸網路的輸入為,輸出為,以及目標序列為。其中,來自模型

是獨立一致分布的白雜訊。這一節的理論結果建立在無外生變數的時間序列預測的條件下,即。考慮一個泛指的隱層狀態,那麼一個遞歸網路可以寫成馬爾科夫鏈的形式,見(7)式。

如果轉移函數是線性的,那麼(7)式成為一個線性馬爾科夫鏈

(7)式所表達的馬爾科夫鏈其實包含了RNN或者LSTM。

例如,最基本的RNN,使用2-範數損失函數時,模型的前饋計算如(9)式

其中是輸出函數,是激活函數。這個RNN可以寫成(7)式中的馬爾科夫鏈的形式


其中就是RNN原本的隱藏層單元,以及轉移函數的具體形式為

又例如,基本的LSTM網路,前饋過程為

隱藏層單元的計算涉及如下門運算


其中,是輸出函數,是sigmoid激活函數,tanh是雙曲正切激活函數。這個LSTM過程也可以寫成(7)式的形式


不過在LSTM中,隱藏層單元和單元狀態一起對應(7)中的泛指隱層單元。轉移函數的形式較為複雜,就不在這裡展示了。


補充兩點技術性的假設(下圖,假設一)之後,我們得到了本文的兩個主要結論。定理一提供了遞歸網路(7)具有短期記憶的一個充分條件,定理二提供了線性遞歸網路(8)具有短期記憶的充分必要條件。這些條件是施加在轉移函數或者轉移矩陣上的,所以對於滿足式(7)的遞歸網路模型均成立,包括RNN和LSTM。

定理一還比較抽象,轉移函數上的條件,並不能直觀地轉換成在網路里的權重和激活函數上的條件。於是我們又進一步提出了推理一和推理二。推理一證明了,只要RNN的輸出和激活函數是連續且有界的,那麼RNN就具有短期記憶,如下圖。

而推理二提出了LSTM具有短期記憶的充分條件。一個是輸出函數上的條件,目前常用的線性、ReLU、sigmoid或者tanh等輸出函數均滿足要求;另一個是要求遺忘門的輸出嚴格小於1。推理二從側面反映了LSTM的遺忘門是LSTM的記憶性質的關鍵。

以上理論結果建立在無外生變數的前提下,而神經網路在具體應用中是可以帶有外部變數進行運算的。外部變數若本身就帶有長期記憶性質,會干擾我們對於神經網路記憶性質的分析,所以有外部變數時無法使用現有的統計學上對於長期記憶性質的定義。為了填補這一缺口,我們提出了一種對於神經網路適用的新的長期記憶的定義。假設神經網路可以寫成(或近似成)下列形式

那麼如果係數矩陣存在一個維度以多項式速率衰減,則認為網路具有長期記憶。具體表述見定義三。


長期記憶遞歸網格及其性質

根據上述理論成果,我們想對RNN和LSTM做出最小程度的修改,使其獲得對長期相關性建模的能力。類似於ARFIMA模型中的結構,我們給RNN和LSTM在不同位置添加了一個長期記憶濾波器,分別得到記憶增強RNN(Memory-augmented RNN,簡稱MRNN模型)和記憶增強LSTM模型(Memory-augmented LSTM,簡稱MLSTM模型)。

長期記憶濾波器的具體形式為

MRNN網路結構的圖例為

其中長期記憶隱層單元是與普通隱層單元並列運作的新隱層單元,
負責捕捉長期記憶的資訊,而負責對短期的資訊進行建模。的具體計算如下

而MRNN整體的向前傳輸過程可以寫作

為了分析理論性質,我們需要對模型進行一定的化簡。我們把固定的模型稱為MRNNF模型,其中的記憶參數是不隨時間變化的。那麼對於MRNNF模型,我們分析得到了如下的性質,即MRNNF滿足定義三,具有長期記憶,而RNN依然不具有長期記憶。

對LSTM的修改,我們將長期記憶濾波器加在了單元狀態上,因為LSTM原本的單元狀態服從一個動態係數AR(1)模型

所以我們很自然地把這裡的狀態更新加上了長期記憶濾波器,得到

MSLTM網路結構的圖例為

向前傳播過程為

直接分析MLSTM是否滿足定義三依然有難度,於是類比MRNNF我們做了類似的化簡,假設所有的門不隨時間變化。那麼門不隨時間變化的LSTM不具備長期記憶,而門不隨時間變化的MLSTM(簡稱MLSTMF)具有長期記憶。注意這裡並不能做出LSTM沒有長期記憶的結論,只能側面推出LSTM的門運算在LSTM的記憶性質中扮演了重要的角色。


實驗結果

我們做了三個實驗,一是在具有長期記憶性質的數據集上驗證新提出的模型的優勢,二是驗證新提出的模型在只具有短期記憶性質的數據集上表現不會劣化,三是探究長期記憶濾波長度這一超參數對模型表現的影響。


我們首先選用了四個具有長期記憶性質的數據集用於時間序列預測任務:由ARFIMA模型生成的序列,道瓊斯股指的收益,明尼阿波利斯的地鐵人流量數據,以及樹的年輪寬度數據。這些數據集的長期記憶性質可以通過畫樣本的自相關函數來判斷,比如下圖中的自相關函數有很長的趨勢,與白雜訊序列明顯不同,直觀說明了數據帶有長期記憶。


我們比較了八個模型:

1.  原始RNN,lookback = 1;

2.  雙軌RNN(類似MRNN),但是濾波器部分不加限制,有個自由權重;

3.  Recurrent weighted average network (RWA);

4.  MRNNF,即記憶參數不隨時間變化;

5.  MRNN,即記憶參數隨時間變化;

6.  原始LSTM;

7.  MLSTMF,即記憶參數不隨時間變化;

8.  MLSTM,即記憶參數隨時間變化。
由於這些網路的訓練是非凸問題,我們用不同的種子初始化模型會學到不同的模型,所以我們使用了100個不同的種子,並報告時間序列預測任務的誤差度量的均值,標準差,以及最小值。誤差的均值和標準差見表2,最小值見表3。

我們將100個隨機數種子學出來的100個模型的表現畫了boxplot,例子見圖4。用兩樣本-檢驗對比MRNN和RNN / LSTM的表現,結論顯示MRNN的優勢是顯著的。

此外,我們還在西班牙語論文評議數據集上測試了我們提出的長期記憶模組在多層神經網路中的應用。為了提升效率,我們固定了記憶參不隨時間變化,設置濾波長度為50,且只在第一層使用帶濾波器的結構。網路的第二層統一為LSTM單元,對比結果如下。雖然MLSTM和MLSTMF在時間序列預測數據集上優勢不明顯,但是在這個自然語言處理的分類任務上,優勢則很明顯了。用兩樣本-檢驗對比MLSTMF和RNN/LSTM的準確率,p-value均小於0.05。

第二個實驗,我們用RNN生成了數據,並用8個模型去做預測,結果如下圖。除了新模型方差略微變大之外,並沒有明顯劣勢。說明我們的新模型也適用於長短期記憶混合的數據集。

而第三個實驗中我們探究了超參數對於模型表現的影響。實驗選取了和100四種情況進行對比。結論是MRNN在時表現最好,而MLSTM在時表現最好,我們推測可能是由於MLSTM模型較大難以訓練造成的。



結語

本文首先從時間序列的角度證明RNN和LSTM沒有長期記憶。通過使用分數整合過程中的濾波器結構,我們對RNN和LSTM做出了相應的修改,使得它們可以處理帶有遠程依賴的數據。在時間序列預測任務中,MRNN和MRNNF在各個數據集上都展現出了優勢,而MLSTM和MLSTMF的性能與原始LSTM相當,並受到濾波長度的影響。而在論文評議分類任務中,MLSTMF搭配LSTM的雙層網路的表現顯著好於兩層LSTM的網路。
在將來的工作中,我們可以繼續探究類似的濾波器是否可以為其他遞歸網路或前饋網路帶來類似的優勢。此外,與其他模型相比,具有動態的MRNN和MLSTM計算開銷較大,將來可以探究模型的進一步化簡,和探索更快的優化方法。最後,根據定義3,我們還可以嘗試許多其他資訊衰減模式來對長期記憶序列進行建模。例如,我們可以直接讓濾波器的權重。


Tags: