自然語言處理開發(fā)與應(yīng)用-基于深度學(xué)習(xí)的NLP模型-LSTM 課件_第1頁
自然語言處理開發(fā)與應(yīng)用-基于深度學(xué)習(xí)的NLP模型-LSTM 課件_第2頁
自然語言處理開發(fā)與應(yīng)用-基于深度學(xué)習(xí)的NLP模型-LSTM 課件_第3頁
自然語言處理開發(fā)與應(yīng)用-基于深度學(xué)習(xí)的NLP模型-LSTM 課件_第4頁
自然語言處理開發(fā)與應(yīng)用-基于深度學(xué)習(xí)的NLP模型-LSTM 課件_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

RNN&LSTM01

RNN目錄contents02

LSTM03基于LSTM的文本分類實戰(zhàn)RNN第一部分引言:RNNRNN的結(jié)構(gòu)RNN的正向及反向傳播總結(jié)引言:RNN對于一些序列輸入的信息,例如語音、語言等,不同時刻之間的輸入存在相互的影響,需要一種模型能夠“記憶”歷史輸入的信息,進而對整個序列進行完整的特征提取和表征。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)就是面對這樣的需求提出來的,它能夠“記憶”序列輸入的歷史信息,從而能夠較好的對整個序列進行語義建模。目前,RNN及其變種在NLP領(lǐng)域有著廣泛的應(yīng)用。語音識別、對話系統(tǒng)、機器翻譯、情感分析等等領(lǐng)域,在產(chǎn)業(yè)界,RNN及其變種都是最主要的特征提取工具。RNN結(jié)構(gòu)如上圖所示,是RNN的結(jié)構(gòu)圖。相較于CNN繁雜的卷積運算過程和復(fù)雜的網(wǎng)絡(luò)層次,RNN的模型結(jié)構(gòu)看上去相當(dāng)?shù)暮啙?。同樣的,RNN模型的結(jié)構(gòu)也分為輸入層(InputLayer)、隱藏層(HiddenLayer)和輸出層(OutputLayer)。圖中的箭頭表示數(shù)據(jù)的流動,需要注意的是在隱藏層,有一個回流的箭頭,這是這個箭頭的作用,使得RNN具有了“記憶”的能力。RNN結(jié)構(gòu)前面的結(jié)構(gòu)無法看清楚數(shù)據(jù)在RNN模型內(nèi)到底是如何流動的。將RNN模型的單元按時間展開,如下圖所示:可以看到,不同時刻的數(shù)據(jù)xt與上一時刻的狀態(tài)st-1,從輸入層輸入,經(jīng)過一系列運算(激活函數(shù))之后,得到該時刻的狀態(tài)st,st再經(jīng)過矩陣運算得到該時刻的輸出ot,同時t時刻的狀態(tài)st會傳給下一時刻的輸入層。通過這種方式,任意時刻的序列輸入都會包含前面所有時刻的狀態(tài)信息,就實現(xiàn)了“記憶”的目的,實際就是一種殘差的結(jié)構(gòu)。需要注意的是,這里所有的RNN結(jié)構(gòu)單元是權(quán)重共享的,用大白話說,就是只有一個RNN單元。下面我們來詳細看看數(shù)據(jù)的流動過程,也就是RNN的正向傳播與反向傳播過程。RNN正向傳播RNN的正向傳播過程,就是通過輸入數(shù)據(jù)xt,求該時刻的RNN單元狀態(tài)(CellState)st以及輸出ot的過程。先看st:ot的計算過程為:

V是權(quán)重參數(shù),g是輸出函數(shù),因為通常是預(yù)測類別,所以一般是softmax。U和W是權(quán)重參數(shù),f是激活函數(shù),激活函數(shù)有sigmoid、relu以及tanh等。RNN反向傳播因為RNN是序列的輸入,因此其反向傳播是基于時間的,叫BPTT(BackPropagationThroughTime)反向傳播的過程其實就是更新參數(shù)U,W,V的過程。知道反向傳播的同學(xué)應(yīng)該知道,更新U,W,V其實就是求梯度。用Lt表示t時刻的模型損失,則輸入完一個序列后的總損失值:我們先來看參數(shù)V的更新,根據(jù)偏導(dǎo)公式,

RNN反向傳播用Lt表示t時刻的模型損失,則輸入完一個序列后的總損失值為:入一個中間變量,暫稱之誤差

,t時刻的誤差:我們的目標是要得到一個遞推公式,用

來表示

,注意這里激活函數(shù)用的是tanh函數(shù)。最后時刻的誤差可以定義為:這樣就可以通過

一步一步得到所有時刻的誤差。那么怎么通過誤差更新W和U呢?RNN的問題長期依賴問題: 當(dāng)前系統(tǒng)的狀態(tài),可能受很長時間之前 系統(tǒng)狀態(tài)的影響梯度爆炸:

梯度爆炸的解決辦法是梯度截斷,

如果梯度范數(shù)超過某個閾值,

則進行縮小,然后再SGD更新。

相當(dāng)于,方向不變,調(diào)小步子。梯度消失:

梯度消失的問題模型本身問題,很難解決,用新的模型代替。LSTM第二部分LSTM的結(jié)構(gòu)LSTM優(yōu)缺點LSTMRNN在訓(xùn)練時,會有梯度消失和梯度爆炸的情況: 1.當(dāng)出現(xiàn)梯度爆炸時,在訓(xùn)練時,權(quán)重會出現(xiàn)搖擺和震蕩; 2.當(dāng)出現(xiàn)梯度消失時,使得訓(xùn)練會耗費大量的時間,甚至干脆就停滯?;谶@樣的情況,兩位大神SeppHochreiter和JürgenSchmidhuber提出了LSTM:LSTM結(jié)構(gòu)LSTM的結(jié)構(gòu)要比RNN的復(fù)雜的多,其主要是增加了細胞狀態(tài)和3個門結(jié)構(gòu):細胞狀態(tài)Ct橫向穿過,看起來像一條傳送帶,只是經(jīng)過了少量的線性變化,因此狀態(tài)容易保持下來。LSTM結(jié)構(gòu)下圖是LSTM的第一個門,遺忘門。這個門根據(jù)輸入信息(ht-1和xt)決定要忘記細胞狀態(tài)Ct-1的哪些部分LSTM結(jié)構(gòu)接下來是信息更新門,決定了細胞狀態(tài)Ct,它分為兩個部分。LSTM結(jié)構(gòu)根據(jù)輸入信息,用tanh產(chǎn)生該時刻需要更新到細胞狀態(tài)中的內(nèi)容;用sigmoid函數(shù)產(chǎn)生更新的比例。將需要更新的內(nèi)容更新到細胞狀態(tài)中去,生成CtLSTM結(jié)構(gòu)輸出門:根據(jù)新的細胞狀態(tài)和輸入信息,產(chǎn)生新的輸出ht。LSTM的結(jié)構(gòu),及其前向傳播過程:http://colah.github.io/posts/2015-08-Understanding-LSTMs/LSTM優(yōu)點1.改善了RNN中存在的長期依賴問題;2.比RNN要容易訓(xùn)練和收斂;3.LSTM的表現(xiàn)通常比RNN及隱馬爾科夫模型(HMM)更好;4.作為非線性模型,LSTM可作為復(fù)雜的非線性單元用于構(gòu)造更大型深度神經(jīng)網(wǎng)絡(luò)。LSTM缺點1.相較于RNN,LSTM的網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜很多,因為引入了更多的權(quán)重參數(shù),這增加了計算的復(fù)雜度。2.不管是RNN,還是它的衍生LSTM等,都需要隨著時間推移進行順序處理。因此對于輸入序列的處理效率很低。3.特征提取能力不強,t時刻的輸入不能提取到t時刻之后序列信息的內(nèi)容。這點在transformer出來之后,體現(xiàn)的尤為明顯基于LSTM的文本分類實戰(zhàn)第三部分項目目標模型網(wǎng)絡(luò)結(jié)構(gòu)模型訓(xùn)練項目目標項目目標是設(shè)計一個語義識別模型,能夠?qū)τ脩粼u論進行分類,類別有消極和積極兩種。這個一個文本分類的任務(wù),前面介紹過樸素貝葉斯、SVM等機器學(xué)習(xí)模型,用來文本分類,當(dāng)效果

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論