天天看點

LSTM還沒“死”!

選自towardsdatascience

作者:Nikos Kafritsas

機器之心編譯

編輯:杜偉、陳萍

如果說「LSTM」已死,它為何依然能夠在Kaggle競賽中成為赢家呢?

LSTM還沒“死”!

長短期記憶(Long Short-Term Memory,LSTM)是一種時間循環神經網絡(RNN),論文首次發表于1997年。由于獨特的設計結構,LSTM适合于處理和預測時間序列中間隔和延遲非常長的重要事件。

在過去幾十年裡,LSTM發展如何了?

密切關注機器學習的研究者,最近幾年他們見證了科學領域前所未有的革命性進步。這種進步就像20世紀初,愛因斯坦的論文成為量子力學的基礎一樣。隻是這一次,奇迹發生在AlexNet論文的推出,該論文一作為Alex Krizhevsky,是大名鼎鼎Hinton的優秀學生代表之一。AlexNet參加了2012年9月30日舉行的ImageNet大規模視覺識别挑戰賽,達到最低的15.3%的Top-5錯誤率,比第二名低10.8個百分點。這一結果重新燃起了人們對機器學習(後來轉變為深度學習)的興趣。

我們很難評估每次技術突破:在一項新技術被引入并開始普及之前,另一項技術可能變得更強大、更快或更便宜。技術的突破創造了如此多的炒作,吸引了許多新人,他們往往熱情很高,但經驗很少。

深度學習領域中一個被誤解的突破就是循環神經網絡(Recurrent neural network:RNN)家族。如果你用谷歌搜尋諸如「LSTMs are dead」「RNNs have died」短語你會發現,搜尋出來的結果大部分是不正确的或者結果太片面。

本文中資料科學家Nikos Kafritsas撰文《Deep Learning: No, LSTMs Are Not Dead!》,文中強調循環網絡仍然是非常有用的,可應用于許多實際場景。此外,本文不隻是讨論LSTM和Transformer,文中還介紹了資料科學中無偏評估這一概念。

以下是原文内容,全篇以第一人稱講述。

LSTM 曾經主導了 NLP 領域

每個大型科技公司都會采用LSTM,在NLP研究中都有LSTM的身影。

早在1997年,LSTM在論文 《LONG SHORT-TERM MEMORY 》中被提出,直到2014年才進入高速發展階段。它們屬于循環神經網絡家族- RNN,以及門控循環單元GRU。

随着GPU的可通路性和第一個深度學習架構的出現,LSTM成為支配NLP領域的SOTA模型。2013 年詞嵌入的出現促進了遷移學習機制的建構。事實上,當時幾乎所有 NLP 任務的标準元件都是:a)預訓練詞嵌入,b)LSTM 和 c)序列到序列架構。

在那個時期,每個資料科學家都同意 LSTM 主導了 NLP 領域:它們被用于語音識别、文本到語音合成、語言模組化和機器翻譯。每家大型科技公司都接受了LSTM ;毫不誇張的說沒有 LSTM 就沒有 NLP。

谷歌為機器翻譯建立的最佳模型之一,如下圖1所示:

LSTM還沒“死”!

圖1:谷歌神經機器翻譯- GNMT架構。

這個複雜的模型存在于谷歌翻譯服務中,與之前的版本相比,GNMT減少了60%的翻譯錯誤。正如我們看到的,GNMT大量使用了LSTM,形成了著名的編碼器-解碼器拓撲(包括一個雙向LSTM)。

此外,GNMT還利用了Attention,這是一種允許模型在需要時關注輸入序列相關部分的機制。如圖1 所示,其中編碼器的頂部向量使用注意力分數權重。換句話說,每個時間步驟中的每個單詞都有一個可學習的分數,以最小化錯誤。要了解更多資訊,請檢視資料:

部落格位址:https://smerity.com/articles/2016/google_nmt_arch.html

論文位址:https://arxiv.org/abs/1609.08144

然而,LSTM有兩個缺點:首先LSTM不容易在訓練過程中并行化;其次由于它們具有周期性,它們可以模組化的序列長度是有限制的。

打開Transformers的世界

RNN是序列模型,也就是說單詞是按順序處理的。但是,Transformer可以并行處理所有的單詞。

2017年,谷歌在論文《Attention Is All You Need》中推出Transformer ,這是NLP生态系統的裡程碑式的進步。這個新模型通過提出多頭注意力機制來深入研究注意力,具體表現在:

充分利用自注意力優勢,進而實作卓越性能;

采用子產品化結構,可以并行進行矩陣運算,換句話說,Transformer運作得更快,具有更好的可擴充性。

然而,Transformer沒有使用LSTM,即使在提取上下文資訊很重要的第一層(LSTM可能很有用),Transformer提出了一種不同的機制,稱為位置編碼。這揭示了兩類模型之間的主要差別:RNN 是序列模型,這意味着單詞是按順序處理的;但 Transformer 并行處理所有單詞,這大大減少了訓練時間。

從那以後,Transformer成為研究語言處理的基礎,并産生了新的變體。變體如下圖2所示:

LSTM還沒“死”!

圖2:開源的Transformer系列

不能被遺忘的時間序列

LSTM 和 Transformer 都非常擅長對序列資訊進行模組化。是以,它們也可以應用于時間序列預測(TSF)案例。

傳統統計方法赢得第一輪

然而,實驗結果表明,LSTM和Transformer在準确度方面并非一定優于傳統統計方法(例如 ARIMA)。另一方面,統計方法和基于RNN的方法相結合更有效。一個典型的例子是 Uber 建構的 ES-RNN 模型,該模型最終赢得了 M4競賽。該模式是一種在擴張的 LSTM 之上使用指數平滑的混合模型。

當然,Transformer 也受到了考驗。對于時間序列預測,最常用的方法是使用原始的 Transformer,并将位置編碼層替換為 Time2vec 層。但是,Transformer 模型也無法超越統計方法。

此外,我還想說明以下幾點:

這并不意味着統計方法總是更好。在有大量資料的情況下,LSTM 的性能可以比 ARIMA 更好;

統計方法需要更多的資料預處理。這可能包括時使時間序列平穩、消除季節性和波動性等。通過更簡單的技術,LSTM 可以更容易地捕捉序列的自然特征;

統計方法的通用性較差。例如,自回歸方法無法處理未來未知的額外特征。

總之,就預測能力而言,ML 方法并不總是優于統計方法。

深度學習(DL)赢得第二輪

直到2018~2019年,深度學習模型才開始在時間序列預測任務中變得更具競争力。

下圖 3 和圖 4 顯示了兩個SOTA模型,分别為谷歌的Temporal Fusion Transformer(TFT)和亞馬遜的DeepAR。

LSTM還沒“死”!

TFT。圖源:https://arxiv.org/pdf/1912.09363.pdf

LSTM還沒“死”!

圖源:DeepAR模型架構。圖源:https://arxiv.org/pdf/1704.04110.pdf

這兩個模型有很多有趣的地方,但與本文主題産生共鳴的最重要一點是:

它們都使用了LSTM!怎麼做到的呢?

TFT 是一種用于時間序列的多層純深度學習模型,該模型具有LSTM 編碼器-解碼器以及提供有可解釋預測的全新注意力機制。

DeepAR 是一個複雜的時間序列模型,它結合了自回歸和深度學習的特征。上圖 4 中的 h_i,t 向量實際上是 LSTM 單元的隐藏狀态,它們被用來計算高斯分布的 μ 和 σ 參數。從這個分布中,選擇n個樣本,其中位數代表預測值。

結果表明,這兩種深度學習模型都優于傳統的統計方法。此外,這兩種模型都更加通用,因為它們可以處理多個時間序列并接受更豐富的功能集,其中TFT 略勝一籌。

循環與注意力如何關聯起來

為了學習不同尺度的時序關系,TFT 使用循環層進行局部處理,使用可解釋的自注意力層進行長期依賴。考慮到我們目前所知道的以及上文所述,可以得出以下結論:循環網絡非常擅長捕捉序列的局部時間特征,而注意力則更擅長學習長期動态。

這不是一個武斷的結論。TFT論文的作者通過執行消融分析證明了這一點。他們在其他元件中測試了LSTM編碼器-解碼器層:在消融實驗中使用原始 Transformer 的标準位置編碼層來替換它,得出了以下兩個結論:

序列到序列層的使用對模型性能産生增益;

在執行基準測試的5個資料集中的4個 ,LSTM 層實作了更佳的性能。

是以,我們可以有把握地得出結論:LSTM 層仍然是時間序列深度學習模型中的一個非常有用的元件。此外,它們不會對抗注意力機制,相反可以與基于注意力的元件相結合,進一步提高模型的效率。

LSTM的隐藏優勢:條件輸出

條件輸出是 LSTM 最被忽視的優勢之一,許多資料科學從業者仍然沒有意識到這一點。如果你一直在用原始循環網絡,就會發現這種類型的網絡隻能處理被表示為具有各種依賴關系的序列的時序資料。但是,它們不能直接對靜态中繼資料或非時變資料進行模組化。

在 NLP 中,靜态中繼資料是不相關的。相反,NLP 模型專注于單詞詞彙表,其中每個單詞都由嵌入表示,這是整個模型的統一概念。每個單詞所來自文檔的類型并不重要,隻要 NLP 模型可以學習每個單詞的正确上下文感覺表示即可。但要記住:一個特定的單詞可以有不同的嵌入,這取決于它的含義和它在句子中的位置。

但是,在時間序列模型中,非時變資料的影響要大得多。例如,假設我們有一個涉及商店産品的銷售預測場景,産品的銷量可以模組化為時間序列,但也會受到假期等外部因素的影響。是以,一個好的預測模型也應該考慮這些變量。這就是TFT所做的,參見下圖 5。

LSTM還沒“死”!

圖5:外部靜态變量對預測的影響。

但是,TFT是如何實作的呢?TFT 專為內建靜态中繼資料而設計,它使用了各種技術,最重要的一個與 LSTM有關。

LSTM 使用 [11] 中首次介紹的技巧無縫地執行此任務:沒有将 LSTM 的初始 h_0 隐藏狀态和單元狀态 c_0 設定為 0(或随機),而是使用指定向量或嵌入來初始化它們。或者正如 TFT 所做的一樣,在拟合期間使這些向量可訓練。通過這種方式,LSTM 單元的輸出可以适當地在外部變量上發揮作用,而不會影響其時間依賴性。

LSTM vs TCN

在注意力和Transformer出現之前,有另一種有望改變現狀的模型,即時間卷積網絡(Temporal Convolutional Networks, TCN)。

TCN 在 2016年首次提出并在2018年規範化,它利用卷積網絡對基于序列的資料進行模組化。自然地,它們也是時間序列預測任務的理想方案。

LSTM還沒“死”!

擴張卷積示意圖,其中過濾器大小k = 3,擴張因子d = 1, 2, 4。感受野可以覆寫來自輸入序列的所有資料點x_0...x_T。圖源:https://arxiv.org/pdf/1803.01271.pdf

TCN 的「秘密武器」是擴張卷積,如上圖6所示。标準CNN 使用固定大小的核心/過濾器,是以它們隻能覆寫鄰近的資料元素。TCN使用擴張卷積,它們在不同長度的輸入序列上使用填充(padding),進而能夠檢測彼此鄰近但位置完全不同的item之間的依賴關系。

此外,TCN 中還使用了其他技術,例如殘差連接配接,它現在已經成為深度網絡的标準。這裡主要關注 LSTM與TCN之間的差異:

速度:一般來說,TCN 比 LSTM 快,因為它們使用卷積,可以并行完成。但在實踐中,通過使用大量擴張,并考慮到殘差連接配接,TCN 最終可能會變慢;

輸入長度:TCN 和 LSTM 都能夠接受可變長度輸入;

記憶體:平均而言,TCN 比 LSTM 需要更多記憶體,因為每個序列都由多個擴張層處理。同樣,這取決于定義每個模型變得有多複雜的超參數;

性能:最初的論文表明 TCN 優于LSTM。然而,在實踐中,情況并非總是如此。[13] 中的一項更詳盡的研究表明,在某些任務中,TCN 更好,而在其他任務中,LSTM 更有效。

TCN和LSTM都有各自的優缺點。最好的方法是對它們進行評估,找到最适合自己的方案。但要注意,除非你的用例非常小,否則無法通過單個TCN或LSTM模型實作 SOTA 性能。現代用例會考慮更多外部參數,這就需要更具挑戰性的方法。反過來,這也就意味着必須使用多個元件或模型。

Kaggle中的深度學習和時間序列

到目前為止,我們一直在從學術角度評估單個模型。然而,如果我們要制定一個更詳細的觀點,就不能忽略實際應用。

Kaggle提供了一個很好的評估基準,我們以 Kaggle 比賽為例:呼吸機壓力預測。該比賽任務是根據控制輸入的序列預測機械肺内的壓力序列。

這場比賽之是以具有挑戰性,有三個原因:

比賽需要同時解決回歸和分類任務;

資料集為創造性特征工程打開了大門;

由于每個主題/資料點都用不同的序清單示,是以使用統計模型是不可行的。

現在,有兩個比較有趣的地方介紹一下:第一個是排名前三的團隊以及其他許多團隊在他們的最終解決方案中至少使用了一個基于LSTM的元件(例如stacked LSTMS,雙向LSTMS)。

獲勝團隊送出了一個多層次深度架構,其中包括一個 LSTM 網絡和一個 Transformer 塊。此架構如圖 7 所示:

LSTM還沒“死”!

圖7:第一名解決方案架構。

卷積神經網絡的命運

我希望這篇文章對LSTM的價值作出了很好的論證。但是毫無疑問Transformer是機器學習領域一個驚人突破。這種突破性的成功将會促進未來更進階别的研究。

2020年,Transformer被改編為計算機視覺版,誕生了vision Transformer (ViT),論文《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》中提出。這篇論文引發了進一步的研究,最終經過不斷的更新,ViT模型能夠在圖像分類任務中優于CNN。

是以,這個階段,我希望我們不要再說「CNN已經死亡」或者「CNN正在衰落」這樣的評價。

總結來講,本文可以總結為以下幾點:

要正确評估機器學習領域的突破所帶來的影響幾乎是不可能的;

Transformer的出現重塑了這一局面:LSTM,尤其是NLP中的LSTM不再是人們關注的焦點;

對于時間序列,LSTM更有用;

資料科學涉及多個領域,例如音頻、文本、圖形等。這反過來又需要各種方法/模型的結合來應對這些挑戰。

繼續閱讀