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

遞歸網格的記憶性質
,輸出為
,以及目標序列為
。其中,
來自模型
是獨立一致分布的白雜訊。這一節的理論結果建立在無外生變數的時間序列預測的條件下,即
。考慮一個泛指的隱層狀態
,那麼一個遞歸網路可以寫成馬爾科夫鏈的形式,見(7)式。

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

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

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

就是RNN原本的隱藏層單元,以及轉移函數的具體形式為
又例如,基本的LSTM網路,前饋過程為

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

是輸出函數,
是sigmoid激活函數,tanh是雙曲正切激活函數。這個LSTM過程也可以寫成(7)式的形式
不過在LSTM中,隱藏層單元
和單元狀態
一起對應(7)中的泛指隱層單元
。轉移函數
的形式較為複雜,就不在這裡展示了。

定理一還比較抽象,轉移函數上的條件,並不能直觀地轉換成在網路里的權重和激活函數上的條件。於是我們又進一步提出了推理一和推理二。推理一證明了,只要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整體的向前傳輸過程可以寫作

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

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

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

MSLTM網路結構的圖例為

向前傳播過程為


實驗結果
我們做了三個實驗,一是在具有長期記憶性質的數據集上驗證新提出的模型的優勢,二是驗證新提出的模型在只具有短期記憶性質的數據集上表現不會劣化,三是探究長期記憶濾波長度
這一超參數對模型表現的影響。
我們首先選用了四個具有長期記憶性質的數據集用於時間序列預測任務:由ARFIMA模型生成的序列,道瓊斯股指的收益,明尼阿波利斯的地鐵人流量數據,以及樹的年輪寬度數據。這些數據集的長期記憶性質可以通過畫樣本的自相關函數來判斷,比如下圖中的自相關函數有很長的趨勢,與白雜訊序列明顯不同,直觀說明了數據帶有長期記憶。

1. 原始RNN,lookback = 1;
2. 雙軌RNN(類似MRNN),但是濾波器部分不加限制,有
個自由權重;
3. Recurrent weighted average network (RWA);
4. MRNNF,即記憶參數
不隨時間變化;
5. MRNN,即記憶參數
隨時間變化;
6. 原始LSTM;
7. MLSTMF,即記憶參數
不隨時間變化;
隨時間變化。

我們將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模型較大難以訓練造成的。
結語
的影響。而在論文評議分類任務中,MLSTMF搭配LSTM的雙層網路的表現顯著好於兩層LSTM的網路。
的MRNN和MLSTM計算開銷較大,將來可以探究模型的進一步化簡,和探索更快的優化方法。最後,根據定義3,我們還可以嘗試許多其他資訊衰減模式來對長期記憶序列進行建模。例如,我們可以直接讓濾波器的權重
。



