深度學習筆記 - 理解LSTM網絡

轉載:《理解 LSTM 網絡 | 我愛計算機》

Recurrent Neural Networks

人類對事物的理解并不是從一片空白開始的,往往都是基于對先前所見所聞的理解來對看到的進行推斷;我們的思想有持久性,對市場歷史的理解對將來的走勢也具有一定的參考和借鑒。
傳統的神經網絡一大弊端就是只是在每個時間點對事件類型進行分類,很難根據先前的事件對后續進行推斷。RNN解決了這個問題,RNN包含循環網絡,允許信息的持久化。

RNN包含循環

上圖中,神經網絡模塊 A ,讀取某個輸入 x_i ,并輸出一個值 h_i ;循環可以使得信息從當前步傳遞到下一步。循環使得RNN看起來神秘,仔細想想,其實跟正常的神經網絡沒有太大區別。RNN可以看做是同一神經網絡的多次復制,每個神經網絡模塊會把信息傳遞個下一個。如果展開這個循環就得到:

展開的 RNN

鏈式的特征揭示了RNN本質山是序列和列表相關的,RNN是對于這類數據最自然的神經網絡架構。過去幾年,應用RNN在語音識別、語言建模、翻譯、圖片描述等問題上,已經取得了一定的成功。建議參考Andrej Karpathy 的博客文章——The Unreasonable Effectiveness of Recurrent Neural Networks 來看看更豐富有趣的 RNN 的成功應用。
這些成功應用的關鍵之處就是LSTM的使用,LSTM是一種特殊的RNN,比標準的RNN在很多任務上表現更好,幾乎所有令人興奮的關于RNN的結果都是通過LSTM達到的。

**長期依賴(Long-Term Dependencies)問題 **

RNN 的關鍵點之一就是他們可以用來連接先前的信息到當前的任務上,例如使用過去的視頻段來推測對當前段的理解。如果 RNN 可以做到這個,他們就變得非常有用。但是真的可以么?答案是,還有很多依賴因素。
有時候,我們僅僅需要知道先前的信息來執行當前的任務。例如,我們有一個語言模型用來基于先前的詞來預測下一個詞。如果我們試著預測 “the clouds are in the sky” 最后的詞,我們并不需要任何其他的上下文 —— 因此下一個詞很顯然就應該是 sky。在這樣的場景中,相關的信息和預測的詞位置之間的間隔是非常小的,RNN 可以學會使用先前的信息。

不太長的相關嘻嘻和位置間隔

但是同樣會有一些更加復雜的場景。假設我們試著去預測“I grew up in France... I speak fluent French”最后的詞。當前的信息建議下一個詞可能是一種語言的名字,但是如果我們需要弄清楚是什么語言,我們是需要先前提到的離當前位置很遠的 France 的上下文的。這說明相關信息和當前預測位置之間的間隔就肯定變得相當的大。不幸的是,在這個間隔不斷增大時,RNN 會喪失學習到連接如此遠的信息的能力。

相當長的相關信息和位置間隔

在理論上,RNN 絕對可以處理這樣的 長期依賴 問題。人們可以仔細挑選參數來解決這類問題中的最初級形式,但在實踐中,RNN 肯定不能夠成功學習到這些知識。Bengio, et al. (1994)等人對該問題進行了深入的研究,他們發現一些使訓練 RNN 變得非常困難的相當根本的原因。然而,幸運的是,LSTM 并沒有這個問題!

LSTM網絡

Long Short Term 網絡—— 一般就叫做 LSTM ——是一種 RNN 特殊的類型,可以學習長期依賴信息。LSTM 由Hochreiter & Schmidhuber (1997)提出,并在近期被Alex Graves進行了改良和推廣。在很多問題,LSTM 都取得相當巨大的成功,并得到了廣泛的使用。LSTM 通過刻意的設計來避免長期依賴問題。記住長期的信息在實踐中是 LSTM 的默認行為,而非需要付出很大代價才能獲得的能力!所有 RNN 都具有一種重復神經網絡模塊的鏈式的形式。在標準的 RNN 中,這個重復的模塊只有一個非常簡單的結構,例如一個 tanh 層。

標準RNN中的重復模塊包含單一的層

LSTM 同樣是這樣的結構,但是重復的模塊擁有一個不同的結構。不同于 單一神經網絡層,這里是有四個,以一種非常特殊的方式進行交互。

LSTM中的重復模塊包含四個交互的層

不必擔心這里的細節。我們會一步一步地剖析 LSTM 解析圖。現在,我們先來熟悉一下圖中使用的各種元素的圖標。

LSTM中的圖標

在上面的圖例中,每一條黑線傳輸著一整個向量,從一個節點的輸出到其他節點的輸入。粉色的圈代表 pointwise 的操作,諸如向量的和,而黃色的矩陣就是學習到的神經網絡層。合在一起的線表示向量的連接,分開的線表示內容被復制,然后分發到不同的位置。

LSTM的核心思想

LSTM 的關鍵就是細胞狀態,水平線在圖上方貫穿運行。細胞狀態類似于傳送帶。直接在整個鏈上運行,只有一些少量的線性交互。信息在上面流傳保持不變會很容易。

“門”結構

LSTM 有通過精心設計的稱作為“門”的結構來去除或者增加信息到細胞狀態的能力。門是一種讓信息選擇式通過的方法。他們包含一個 sigmoid 神經網絡層和一個 pointwise 乘法操作。

Sigmoid層

Sigmoid 層輸出 0 到 1 之間的數值,描述每個部分有多少量可以通過。0 代表“不許任何量通過”,1 就指“允許任意量通過”!LSTM 擁有三個門,來保護和控制細胞狀態。

逐步理解LSTM

在我們 LSTM 中的第一步是決定我們會從細胞狀態中丟棄什么信息。這個決定通過一個稱為忘記門層完成。該門會讀取h_{t-1}x_t,輸出一個在 0 到 1 之間的數值給每個在細胞狀態 C_{t-1}中的數字。1 表示“完全保留”,0 表示“完全舍棄”。
讓我們回到語言模型的例子中來基于已經看到的預測下一個詞。在這個問題中,細胞狀態可能包含當前主語的性別,因此正確的代詞可以被選擇出來。當我們看到新的主語,我們希望忘記舊的主語。

決定丟棄信息

下一步是確定什么樣的新信息被存放在細胞狀態中。這里包含兩個部分。第一,sigmoid 層稱 “輸入門層” 決定什么值我們將要更新。然后,一個 tanh 層創建一個新的候選值向量,{C}_t,會被加入到狀態中。下一步,我們會講這兩個信息來產生對狀態的更新。在我們語言模型的例子中,我們希望增加新的主語的性別到細胞狀態中,來替代舊的需要忘記的主語。

確定更新的信息

現在是更新舊細胞狀態的時間了,C_{t-1}更新為 C_t。前面的步驟已經決定了將會做什么,我們現在就是實際去完成。我們把舊狀態與 f_t相乘,丟棄掉我們確定需要丟棄的信息。接著加上i_t* {C}_t。這就是新的候選值,根據我們決定更新每個狀態的程度進行變化。在語言模型的例子中,這就是我們實際根據前面確定的目標,丟棄舊代詞的性別信息并添加新的信息的地方。

更新細胞狀態

最終,我們需要確定輸出什么值。這個輸出將會基于我們的細胞狀態,但是也是一個過濾后的版本。首先,我們運行一個 sigmoid 層來確定細胞狀態的哪個部分將輸出出去。接著,我們把細胞狀態通過 tanh 進行處理(得到一個在 -1 到 1 之間的值)并將它和 sigmoid 門的輸出相乘,最終我們僅僅會輸出我們確定輸出的那部分。在語言模型的例子中,因為他就看到了一個 代詞,可能需要輸出與一個 動詞 相關的信息。例如,可能輸出是否代詞是單數還是負數,這樣如果是動詞的話,我們也知道動詞需要進行的詞形變化。

輸出信息

LSTM的變體

我們到目前為止都還在介紹正常的 LSTM。但是不是所有的 LSTM 都長成一個樣子的。實際上,幾乎所有包含 LSTM 的論文都采用了微小的變體。差異非常小,但是也值得拿出來講一下。其中一個流形的 LSTM 變體,就是由 Gers & Schmidhuber (2000) 提出的,增加了 “peephole connection”。是說,我們讓 門層 也會接受細胞狀態的輸入。

peephole連接

上面的圖例中,我們增加了 peephole 到每個門上,但是許多論文會加入部分的 peephole 而非所有都加。

另一個變體是通過使用 coupled 忘記和輸入門。不同于之前是分開確定什么忘記和需要添加什么新的信息,這里是一同做出決定。我們僅僅會當我們將要輸入在當前位置時忘記。我們僅僅輸入新的值到那些我們已經忘記舊的信息的那些狀態 。

coupled忘記門和輸入門

另一個改動較大的變體是 Gated Recurrent Unit (GRU),這是由 Cho, et al. (2014) 提出。它將忘記門和輸入門合成了一個單一的 更新門。同樣還混合了細胞狀態和隱藏狀態,和其他一些改動。最終的模型比標準的 LSTM 模型要簡單,也是非常流行的變體。

GRU

這里只是部分流行的 LSTM 變體。當然還有很多其他的,如Yao, et al. (2015) 提出的 Depth Gated RNN。還有用一些完全不同的觀點來解決長期依賴的問題,如Koutnik, et al. (2014) 提出的 Clockwork RNN。要問哪個變體是最好的?其中的差異性真的重要嗎?Greff, et al. (2015) 給出了流行變體的比較,結論是他們基本上是一樣的。Jozefowicz, et al. (2015) 則在超過 1 萬種 RNN 架構上進行了測試,發現一些架構在某些任務上也取得了比 LSTM 更好的結果。

Jozefowicz等人論文截圖

結論

剛開始,我提到通過 RNN 得到重要的結果。本質上所有這些都可以使用 LSTM 完成。對于大多數任務確實展示了更好的性能!由于 LSTM 一般是通過一系列的方程表示的,使得 LSTM 有一點令人費解。然而本文中一步一步地解釋讓這種困惑消除了不少。LSTM 是我們在 RNN 中獲得的重要成功。很自然地,我們也會考慮:哪里會有更加重大的突破呢?在研究人員間普遍的觀點是:“Yes! 下一步已經有了——那就是注意力!” 這個想法是讓 RNN 的每一步都從更加大的信息集中挑選信息。例如,如果你使用 RNN 來產生一個圖片的描述,可能會選擇圖片的一個部分,根據這部分信息來產生輸出的詞。實際上,Xu, et al.(2015)已經這么做了——如果你希望深入探索注意力可能這就是一個有趣的起點!還有一些使用注意力的相當振奮人心的研究成果,看起來有更多的東西亟待探索……
注意力也不是 RNN 研究領域中唯一的發展方向。例如,Kalchbrenner, et al. (2015) 提出的 Grid LSTM 看起來也是很有前途。使用生成模型的 RNN,諸如Gregor, et al.(2015) Chung, et al. (2015)Bayer & Osendorfer (2015) 提出的模型同樣很有趣。在過去幾年中,RNN 的研究已經相當的燃,而研究成果當然也會更加豐富!


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容