RNN 迴圈神經網路和LSTM 01基礎

2021-08-20 07:09:32 字數 1564 閱讀 9106

rnn的結構說明當前的的輸出與前面的輸出也有關,即隱層之間的節點不再是無連線的,而是有連線的

時間t隱層單元的輸出為:st=

f(ux

t+ws

t−1)

st=f(uxt+wst−1)

時間t的輸出為:ot=

soft

max(

vst)

ot=softmax(vst)

rnns中,每輸入一步,每一層都共享引數u,v,w,(因為是將迴圈的部分展開,天然應該相等)

rnns的關鍵之處在於隱藏層,隱藏層能夠捕捉序列的資訊。

和上面的語言模型很像,只不過是根據一段過生成另外的一段話

注意的是開始的輸出是在全部輸入結束後生成的

一些**

根據影象,生成一段描述影象的話

需要和cnn結合使用

令:o∗t=

vst,

s∗t=

uxt+

wst−

1………

…(1)

ot∗=vst,st∗=uxt+wst−1…………(1)

(就是沒有經過激勵函式和變換函式前) ∂

lt∂s

∗k−1

=∂s∗

k∂s∗

k−1×

∂lt∂

s∗k=

wt×(

∂lt∂

s∗k∗

ϕ′(s

∗k−1

)),(

k=1,

……,t

)………

(2)∂lt∂sk−1∗=∂sk∗∂sk−1∗×∂lt∂sk∗=wt×(∂lt∂sk∗∗ϕ′(sk−1∗)),(k=1,……,t)………(2)

rnn主要的作用就是能夠記住之前的資訊,但是梯度消失的問題又告訴我們不能記住太久之前的資訊,改進的思路有兩點

lstmscell的時間通道有兩條。

最左邊的sigmoid gate叫做遺忘門, 控制著時間通道資訊的遺忘程度

第二個sigmoid gate通常被稱為輸入門(input gate), 控制著當前輸入和下方通道資訊對上方通道資訊的影響

第三個tanh gate則允許網路結構駁回歷史資訊, 因為tanh的值域是(-1,1)

第四個sigmoid gate通常被稱為輸出門(output gate),它為輸出和傳向下乙個cell的下方通道資訊作出了貢獻。

最終cell的輸出為:o=s

(new)=

ϕ2(h

(new))

∗g3o=s(new)=ϕ2(h(new))∗g3

每個gate對應的權值矩陣是不同的(w1∼

w4w1∼w4

),切勿以為它們會共享權值

RNN迴圈神經網路

評測乙個句子出現的可能性 文字自動生成 rnn迴圈處理相同的任務,就是 句子接下來的單詞是什麼。rnn迴圈記錄前面所有文字的資訊 也叫做記憶 作為 當前詞的乙個輸入 1.語言模型和文字生成 語言模型中,輸入是經過編碼的詞向量序列,輸出是一系列 的詞 2.機器翻譯 機器翻譯必須等待所有輸入結束後才能輸...

迴圈神經網路 RNN

from torchnlp.word to vector import glove vectors glove vectors hello torch.nn.utils.clip grad norm p,10 10就是最大梯度的模閾值,即保留原來梯度的方向,但梯度大小縮放至10對與梯度瀰散現象,考慮...

RNN迴圈神經網路

神經網路基礎 神經網路可以當做是擬合任意函式的黑盒子,給定特定的輸入x,就能夠的得到希望的輸出y。神經網路結構如下圖 將神經網路模型訓練好之後,輸入層輸入乙個x,通過網路之後就能夠在輸出層輸出特定的y.有了這麼強大的模型,為什麼會出現rnn 迴圈神經網 它們單獨的乙個個的輸入,前乙個輸入和後乙個輸入...