日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LSTM神经网络算法

發(fā)布時(shí)間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LSTM神经网络算法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

RNN

RNN 是包含循環(huán)的網(wǎng)絡(luò),允許信息的持久化。
在下面的示例圖中,神經(jīng)網(wǎng)絡(luò)的模塊,A,正在讀取某個(gè)輸入 x_i,并輸出一個(gè)值 h_i。循環(huán)可以使得信息可以從當(dāng)前步傳遞到下一步。

RNN 可以被看做是同一神經(jīng)網(wǎng)絡(luò)的多次復(fù)制,每個(gè)神經(jīng)網(wǎng)絡(luò)模塊會(huì)把消息傳遞給下一個(gè)。所以,如果我們將這個(gè)循環(huán)展開:

鏈?zhǔn)降奶卣鹘沂玖?RNN 本質(zhì)上是與序列和列表相關(guān)的。他們是對于這類數(shù)據(jù)的最自然的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
而這些成功應(yīng)用的關(guān)鍵之處就是 LSTM 的使用,這是一種特別的 RNN,比標(biāo)準(zhǔn)的 RNN 在很多的任務(wù)上都表現(xiàn)得更好。幾乎所有的令人振奮的關(guān)于 RNN 的結(jié)果都是通過 LSTM 達(dá)到的。這篇博文也會(huì)就 LSTM 進(jìn)行展開。

傳統(tǒng)RNN的弊端

RNN 的關(guān)鍵點(diǎn)之一就是他們可以用來連接先前的信息到當(dāng)前的任務(wù)上,例如使用過去的視頻段來推測對當(dāng)前段的理解。
如果 RNN 可以做到這個(gè),他們就變得非常有用。但是真的可以么?答案是,還有很多依賴因素。

有時(shí)候,我們僅僅需要知道先前的信息來執(zhí)行當(dāng)前的任務(wù)。
例如,我們有一個(gè)語言模型用來基于先前的詞來預(yù)測下一個(gè)詞。如果我們試著預(yù)測 “the clouds are in the sky” 最后的詞,我們并不需要任何其他的上下文 —— 因此下一個(gè)詞很顯然就應(yīng)該是 sky。在這樣的場景中,相關(guān)的信息和預(yù)測的詞位置之間的間隔是非常小的,RNN 可以學(xué)會(huì)使用先前的信息。

但是同樣會(huì)有一些更加復(fù)雜的場景。假設(shè)我們試著去預(yù)測“I grew up in France… I speak fluent French”最后的詞。當(dāng)前的信息建議下一個(gè)詞可能是一種語言的名字,但是如果我們需要弄清楚是什么語言,我們是需要先前提到的離當(dāng)前位置很遠(yuǎn)的 France 的上下文的。這說明相關(guān)信息和當(dāng)前預(yù)測位置之間的間隔就肯定變得相當(dāng)?shù)拇蟆?/p>

不幸的是,在這個(gè)間隔不斷增大時(shí),RNN 會(huì)喪失學(xué)習(xí)到連接如此遠(yuǎn)的信息的能力。

然而,幸運(yùn)的是,LSTM 并沒有這個(gè)問題!

LSTM

Long Short Term 網(wǎng)絡(luò)—— 一般就叫做 LSTM ——是一種 RNN 特殊的類型,可以學(xué)習(xí)長期依賴信息。LSTM 由Hochreiter & Schmidhuber (1997)提出,并在近期被Alex Graves進(jìn)行了改良和推廣。在很多問題,LSTM 都取得相當(dāng)巨大的成功,并得到了廣泛的使用。

LSTM 通過刻意的設(shè)計(jì)來避免長期依賴問題。記住長期的信息在實(shí)踐中是 LSTM 的默認(rèn)行為,而非需要付出很大代價(jià)才能獲得的能力!

所有 RNN 都具有一種重復(fù)神經(jīng)網(wǎng)絡(luò)模塊的鏈?zhǔn)降男问健T跇?biāo)準(zhǔn)的 RNN 中,這個(gè)重復(fù)的模塊只有一個(gè)非常簡單的結(jié)構(gòu),例如一個(gè) tanh 層。

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

現(xiàn)在,我們先來熟悉一下圖中使用的各種元素的圖標(biāo)。

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

核心思想

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

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

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

逐步理解LSTM

在我們 LSTM 中的第一步是決定我們會(huì)從細(xì)胞狀態(tài)中丟棄什么信息。這個(gè)決定通過一個(gè)稱為忘記門層完成。該門會(huì)讀取h(t-1)和 xt,輸出一個(gè)在0到1之間的數(shù)值給每個(gè)在細(xì)胞狀態(tài)c(t-1)中的數(shù)字。1表示“完全保留”,0表示“完全舍棄”。

讓我們回到語言模型的例子中來基于已經(jīng)看到的預(yù)測下一個(gè)詞。在這個(gè)問題中,細(xì)胞狀態(tài)可能包含當(dāng)前主語的性別,因此正確的代詞可以被選擇出來。當(dāng)我們看到新的主語,我們希望忘記舊的主語。

下一步是確定什么樣的新信息被存放在細(xì)胞狀態(tài)中。這里包含兩個(gè)部分。第一,sigmoid 層稱 “輸入門層” 決定什么值我們將要更新。然后,一個(gè) tanh 層創(chuàng)建一個(gè)新的候選值向量,Ct,會(huì)被加入到狀態(tài)中。下一步,我們會(huì)講這兩個(gè)信息來產(chǎn)生對狀態(tài)的更新。

在我們語言模型的例子中,我們希望增加新的主語的性別到細(xì)胞狀態(tài)中,來替代舊的需要忘記的主語。

現(xiàn)在是更新舊細(xì)胞狀態(tài)的時(shí)間了,C(t-1)更新為Ct。前面的步驟已經(jīng)決定了將會(huì)做什么,我們現(xiàn)在就是實(shí)際去完成。

我們把舊狀態(tài)與Ft相乘,丟棄掉我們確定需要丟棄的信息。接著加上it*ct。這就是新的候選值,根據(jù)我們決定更新每個(gè)狀態(tài)的程度進(jìn)行變化。

在語言模型的例子中,這就是我們實(shí)際根據(jù)前面確定的目標(biāo),丟棄舊代詞的性別信息并添加新的信息的地方。

最終,我們需要確定輸出什么值。這個(gè)輸出將會(huì)基于我們的細(xì)胞狀態(tài),但是也是一個(gè)過濾后的版本。首先,我們運(yùn)行一個(gè) sigmoid 層來確定細(xì)胞狀態(tài)的哪個(gè)部分將輸出出去。接著,我們把細(xì)胞狀態(tài)通過 tanh 進(jìn)行處理(得到一個(gè)在-1到1之間的值)并將它和 sigmoid 門的輸出相乘,最終我們僅僅會(huì)輸出我們確定輸出的那部分。

在語言模型的例子中,因?yàn)樗涂吹搅艘粋€(gè) 代詞,可能需要輸出與一個(gè) 動(dòng)詞 相關(guān)的信息。例如,可能輸出是否代詞是單數(shù)還是負(fù)數(shù),這樣如果是動(dòng)詞的話,我們也知道動(dòng)詞需要進(jìn)行的詞形變化。

講得比較好的別網(wǎng)鏈接

https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/82922386
https://www.jianshu.com/p/9dc9f41f0b29

總結(jié)

以上是生活随笔為你收集整理的LSTM神经网络算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。