国产成av人片在线观看天堂无码,伊人免费视频在线,另类在线欧美图片,亚洲国产中文字幕乱,绝世天君txt下载,家有囍事小说,斗罗小说网

[譯] 理解 LSTM(Long Short-Term Memory, LSTM) 網(wǎng)絡(luò)

[譯] 理解 LSTM(Long Short-Term Memory, LSTM) 網(wǎng)絡(luò)

xieweiyuan 2025-03-20 企業(yè)團(tuán)建 7 次瀏覽 0個評論

本文譯自 Christopher Olah 的博文

人類并不是每時每刻都從一片空白的大腦開始他們的思考。在你閱讀這篇文章時候,你都是基于自己已經(jīng)擁有的對先前所見詞的理解來推斷當(dāng)前詞的真實含義。我們不會將所有的東西都全部丟棄,然后用空白的大腦進(jìn)行思考。我們的思想擁有持久性。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)并不能做到這點,看起來也像是一種巨大的弊端。例如,假設(shè)你希望對電影中的每個時間點的時間類型進(jìn)行分類。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)應(yīng)該很難來處理這個問題——使用電影中先前的事件推斷后續(xù)的事件。
RNN 解決了這個問題。RNN 是包含循環(huán)的網(wǎng)絡(luò),允許信息的持久化。


RNN 包含循環(huán)

在上面的示例圖中,神經(jīng)網(wǎng)絡(luò)的模塊,A,正在讀取某個輸入 x_i,并輸出一個值 h_i。循環(huán)可以使得信息可以從當(dāng)前步傳遞到下一步。
這些循環(huán)使得 RNN 看起來非常神秘。然而,如果你仔細(xì)想想,這樣也不比一個正常的神經(jīng)網(wǎng)絡(luò)難于理解。RNN 可以被看做是同一神經(jīng)網(wǎng)絡(luò)的多次復(fù)制,每個神經(jīng)網(wǎng)絡(luò)模塊會把消息傳遞給下一個。所以,如果我們將這個循環(huán)展開:


展開的 RNN

鏈?zhǔn)降奶卣鹘沂玖?RNN 本質(zhì)上是與序列和列表相關(guān)的。他們是對于這類數(shù)據(jù)的最自然的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
并且 RNN 也已經(jīng)被人們應(yīng)用了!在過去幾年中,應(yīng)用 RNN 在語音識別,語言建模,翻譯,圖片描述等問題上已經(jīng)取得一定成功,并且這個列表還在增長。我建議大家參考 Andrej Karpathy 的博客文章——The Unreasonable Effectiveness of Recurrent Neural Networks 來看看更豐富有趣的 RNN 的成功應(yīng)用。
而這些成功應(yīng)用的關(guān)鍵之處就是 LSTM 的使用,這是一種特別的 RNN,比標(biāo)準(zhǔn)的 RNN 在很多的任務(wù)上都表現(xiàn)得更好。幾乎所有的令人振奮的關(guān)于 RNN 的結(jié)果都是通過 LSTM 達(dá)到的。這篇博文也會就 LSTM 進(jìn)行展開。

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


不太長的相關(guān)信息和位置間隔

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


相當(dāng)長的相關(guān)信息和位置間隔

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

Long Short Term 網(wǎng)絡(luò)—— 一般就叫做 LSTM ——是一種 RNN 特殊的類型,可以學(xué)習(xí)長期依賴信息。LSTM 由Hochreiter & Schmidhuber (1997)提出,并在近期被Alex Graves進(jìn)行了改良和推廣。在很多問題,LSTM 都取得相當(dāng)巨大的成功,并得到了廣泛的使用。
LSTM 通過刻意的設(shè)計來避免長期依賴問題。記住長期的信息在實踐中是 LSTM 的默認(rèn)行為,而非需要付出很大代價才能獲得的能力!
所有 RNN 都具有一種重復(fù)神經(jīng)網(wǎng)絡(luò)模塊的鏈?zhǔn)降男问?。在?biāo)準(zhǔn)的 RNN 中,這個重復(fù)的模塊只有一個非常簡單的結(jié)構(gòu),例如一個 tanh 層。


標(biāo)準(zhǔn) RNN 中的重復(fù)模塊包含單一的層

LSTM 同樣是這樣的結(jié)構(gòu),但是重復(fù)的模塊擁有一個不同的結(jié)構(gòu)。不同于 單一神經(jīng)網(wǎng)絡(luò)層,這里是有四個,以一種非常特殊的方式進(jìn)行交互。


LSTM 中的重復(fù)模塊包含四個交互的層

不必?fù)?dān)心這里的細(xì)節(jié)。我們會一步一步地剖析 LSTM 解析圖?,F(xiàn)在,我們先來熟悉一下圖中使用的各種元素的圖標(biāo)。


LSTM 中的圖標(biāo)

在上面的圖例中,每一條黑線傳輸著一整個向量,從一個節(jié)點的輸出到其他節(jié)點的輸入。粉色的圈代表 pointwise 的操作,諸如向量的和,而黃色的矩陣就是學(xué)習(xí)到的神經(jīng)網(wǎng)絡(luò)層。合在一起的線表示向量的連接,分開的線表示內(nèi)容被復(fù)制,然后分發(fā)到不同的位置。

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


Paste_Image.png

LSTM 有通過精心設(shè)計的稱作為“門”的結(jié)構(gòu)來去除或者增加信息到細(xì)胞狀態(tài)的能力。門是一種讓信息選擇式通過的方法。他們包含一個 sigmoid 神經(jīng)網(wǎng)絡(luò)層和一個 pointwise 乘法操作。


Paste_Image.png

Sigmoid 層輸出 0 到 1 之間的數(shù)值,描述每個部分有多少量可以通過。0 代表“不許任何量通過”,1 就指“允許任意量通過”!

LSTM 擁有三個門,來保護(hù)和控制細(xì)胞狀態(tài)。

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


決定丟棄信息

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


確定更新的信息

現(xiàn)在是更新舊細(xì)胞狀態(tài)的時間了,更新為。前面的步驟已經(jīng)決定了將會做什么,我們現(xiàn)在就是實際去完成。
我們把舊狀態(tài)與相乘,丟棄掉我們確定需要丟棄的信息。接著加上。這就是新的候選值,根據(jù)我們決定更新每個狀態(tài)的程度進(jìn)行變化。
在語言模型的例子中,這就是我們實際根據(jù)前面確定的目標(biāo),丟棄舊代詞的性別信息并添加新的信息的地方。


更新細(xì)胞狀態(tài)

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


輸出信息

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


peephole 連接

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

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


coupled 忘記門和輸入門

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


GRU

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

[譯] 理解 LSTM(Long Short-Term Memory, LSTM) 網(wǎng)絡(luò)


Jozefowicz等人論文截圖

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

I’m grateful to a number of people for helping me better understand LSTMs, commenting on the visualizations, and providing feedback on this post.
I’m very grateful to my colleagues at Google for their helpful feedback, especially Oriol Vinyals,Greg Corrado, Jon Shlens, Luke Vilnis, and Ilya Sutskever. I’m also thankful to many other friends and colleagues for taking the time to help me, including Dario Amodei, and Jacob Steinhardt. I’m especially thankful to Kyunghyun Cho for extremely thoughtful correspondence about my diagrams.
Before this post, I practiced explaining LSTMs during two seminar series I taught on neural networks. Thanks to everyone who participated in those for their patience with me, and for their feedback.

From:http://www.jianshu.com/p/9dc9f41f0b29

轉(zhuǎn)載請注明來自阿拉善凱拓戶外,本文標(biāo)題:《[譯] 理解 LSTM(Long Short-Term Memory, LSTM) 網(wǎng)絡(luò)》

百度分享代碼,如果開啟HTTPS請參考李洋個人博客
每一天,每一秒,你所做的決定都會改變你的人生!
Top
 蕭山廚師最新招聘信息  南昌長寧最新房價信息  朱家角店鋪出租信息最新  杭州芝麻家招聘信息最新  固安高速口最新信息查詢  高明大道最新價格信息  太原最新招聘護(hù)士信息  中原恒大城最新報價信息  華中焦炭最新信息披露  北鎮(zhèn)中學(xué)招聘信息最新  西安雙英招聘信息最新  吐魯番歌手最新招聘信息  煙臺金海招工信息最新  順德最新招普工信息  澄邁店員最新招聘信息  無錫馬山 最新招聘信息  萬榮最新公告信息  潮河鎮(zhèn)房屋出售最新信息  光明d9最新信息  北侖車輛出售最新信息  禹州買房最新信息網(wǎng)  天津土地交易最新信息  辰安海外招聘信息最新  唐少鵬最新信息報道  哈爾濱松樂學(xué)校最新信息  永寧縣最新案例信息  上海最新封控信息公布  湖南水庫最新招租信息  仙醫(yī)拜登最新信息