您當前的位置:首頁 > 文化

LSTM還沒「死」!

作者:由 機器之心 發表于 文化時間:2022-03-28

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

選自towardsdatascience,作者:Nikos Kafritsas,機器之心編譯,編輯:杜偉、陳萍。

長短期記憶(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/20

16/google_nmt_arch。html

論文地址:

https://

arxiv。org/abs/1609。0814

4

然而,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。0936

3。pdf

LSTM還沒「死」!

圖源:DeepAR模型架構。圖源:

https://

arxiv。org/pdf/1704。0411

0。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。0127

1。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更有用;

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

原文連結:

https://

towardsdatascience。com/

deep-learning-no-lstms-are-not-dead-20217553b87a

標簽: LSTM  序列  Transformer  模型  TCN