迴圈神經網路

2022-08-09 05:39:17 字數 1912 閱讀 2261

rnn

rnn便於處理具有時序關係的任務

引入「記憶」概念

基本結構

輸出不僅依賴於輸入,還依賴於記憶

將同乙個結構迴圈利用

兩種輸入,兩種輸出,一種函式

三塊引數:

u:從輸入到隱藏狀態

v:從隱藏狀態到輸出

xt:時間t處的輸入

ht:時間t處的記憶,ht=f(ht-1,xt),f可以是tanh等

ht=tanh(wht-1+uxt)

yt:時間t時刻的輸出,yt=sotfmax(vht)

f被不斷重複利用

模型所需要學習的引數是固定的

無論輸入的長度是多少,只需要乙個函式f

深度rnn

雙向rnn

bptt演算法

lstm(長短期記憶模型)

遺忘門,輸入門,輸出門

遺忘門:決定丟棄資訊

sigmoid描述每個部分有多少量可以通過

輸入門:確定需要更新的資訊

首先經過sigmoid層決定什麼資訊需要更新,然後通過tanh層輸出備選的需要更新的內容,然後加入新的狀態中

輸出門:輸出資訊

首先通過sigmoid來決定細胞狀態的哪個部分將輸出出去。然後將細胞狀態通過tanh進行處理並將它和sigmoid門的輸出相乘,最終僅僅會輸出我們確定輸出的那部分

rnn與lstm不同

處理方式不同

rnn的記憶在每個時間點都會被新的輸入覆蓋,但lstm中記憶是與新的輸入相加

lstm:如果前邊的輸入對ct產生了影響,那這個影響會一直存在,除非遺忘門的權重為0

lstm中learning rate可以被盡量設定小

lstm與gru(門控迴圈單元)

差異:gru只有兩個門,分別為重置門和更新門

混合了細胞狀態和隱藏狀態

重置門:控制忽略前一時刻的狀態資訊的程度,重置門越**明忽略的越多

更新門:控制前一時刻的狀態資訊被帶入到當前狀態中的程度,更新門越大表示歉意時刻的狀態資訊代入得越多

相似:從t-1到t時刻的記憶的更新都引入加法

可以防止梯度消失

迴圈神經網路

原文 迴圈神經網路也可以畫成下面這個樣子 對於語言模型來說,很多時候光看前面的詞是不夠的,比如下面這句話 我的手機壞了,我打算 一部新手機。可以想象,如果我們只看橫線前面的詞,手機壞了,那麼我是打算修一修?換一部新的?還是大哭一場?這些都是無法確定的。但如果我們也看到了橫線後面的詞是 一部新手機 那...

迴圈神經網路

原文 迴圈神經網路也可以畫成下面這個樣子 對於語言模型來說,很多時候光看前面的詞是不夠的,比如下面這句話 我的手機壞了,我打算 一部新手機。可以想象,如果我們只看橫線前面的詞,手機壞了,那麼我是打算修一修?換一部新的?還是大哭一場?這些都是無法確定的。但如果我們也看到了橫線後面的詞是 一部新手機 那...

迴圈神經網路

特點 上一階段 時間步 的輸出作為輸入進入當前時間步。迴圈神經網路由迴圈神經原組成,迴圈神經元一般有兩個輸入,乙個是前階段的資訊,乙個是當前階段的資訊。同時產生乙個輸出,可以作為下一階段的輸入。迴圈神經網路採用多種模型。左上 每個時間步有乙個輸入,同時產生乙個輸出 右上 一串輸入,最後產生乙個輸出。...