RNN迴圈神經網路

2021-10-06 15:27:44 字數 1164 閱讀 7073

神經網路基礎

神經網路可以當做是擬合任意函式的黑盒子,給定特定的輸入x,就能夠的得到希望的輸出y。神經網路結構如下圖

將神經網路模型訓練好之後,輸入層輸入乙個x,通過網路之後就能夠在輸出層輸出特定的y.

有了這麼強大的模型,為什麼會出現rnn(迴圈神經網)

它們單獨的乙個個的輸入,前乙個輸入和後乙個輸入是完全沒有聯絡的,但是某些任務需要能夠更好的處理序列的資訊,

即前面的輸入和後面的輸入是有聯絡的。

所以為了解決這樣類似的問題,更好地處理序列的資訊,rnn就誕生了。

rnn結構

乙個簡單的迴圈神經網路如圖,它由輸入層,隱藏層,和輸出層組成

如果把w和箭頭的圈去掉,它就成了最普通的全連線神經網路。

x是乙個輸入向量,它表示輸入層的值。s也是乙個向量,它表示隱藏層的值。u是輸入層到隱藏層的權重矩陣,o也是乙個向量,

它表示輸出層的值;v是隱藏層到輸出層的權重矩陣。

迴圈神經網路的隱藏層的值s不只取決於當前這次的輸入x,還取決於上一次隱藏層的值s。權重矩陣w就是隱藏層上一的值

作為這一次的輸入的權重。

抽象影象對應的具體圖

從上圖可以清楚的看到,上一時刻隱藏層是如何影響當前時刻的隱藏層。

網路在t時刻接受到輸入xt之後,隱藏層的是是,輸出值是ot。此時的值不止取決於xt,還取決於st-1.

用下面公式表示迴圈神經網路計算方法:

總結:大概介紹了rnn和了解為什麼需要rnn,後面是它的反向求導知識點。

接下來學習→

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

rnn主要用來處理序列資料,在傳統的神經網路模型中,是從輸入層到隱含層再到輸出層,每層內的節點之間無連線,迴圈神經網路中乙個當前神經元的輸出與前面的輸出也有關,網路會對前面的資訊進行記憶並應用於當前神經元的計算中,隱藏層之間的節點是有連線的,並且隱藏層的輸入不僅包含輸入層的輸出還包含上一時刻隱藏層的...