迴圈神經網路RNN和遞迴神經網路RNN LSTM

2021-08-31 11:39:24 字數 1201 閱讀 1521

解決的問題:一般的神經網路的輸入維度都是確定的,但有時我們要處理變長的輸入,解決方法是採用迴圈或遞迴的方法輸入(recurrent/recursive neural network)。如輸入本應是一段話,我們可以將這段話分成長度相同的詞乙個乙個地依次輸入。

rnn可以對映一對

一、一對多和多對多

用於:**。網路具有記憶功能。

rnn,一般都叫做遞迴神經網路,前者是時間遞迴(常用),後者是結構遞迴。

結構都為:

具有短期記憶能力。資訊往乙個方向傳。它做決定時,會考慮當前的輸入和之前輸入所學到的知識。如將單詞「hello」作為輸入訓練,一般的神經網路在輸入"h"之後再輸入「e」時已經忘記之前輸入的h了,但rnn是將e與輸入h時學到的知識y一起作為下一次輸入。對比:

通過bptt誤差反向傳播訓練:

式子:

存在的問題:

(1):梯度**(權重在演算法中十分重要時)

(2):梯度消失(權重太小時且訓練停止)

結構遞迴。前面提到將一句話分成乙個個次輸入,但有時會產生歧義,如【兩個外國語學院的學生】可以是兩個外國語學院/的學

生或兩個/外國語學院的學生。為了讓模型能過區分這兩種語義,我們得按照樹的結構處理,而不是序列。

參考:

RNN 迴圈神經網路or遞迴神經網路?

我 內心os 有嗎,我感覺我看到的都是迴圈神經網路啊?我 這個應該就是翻譯的問題吧 回去以後我查了一下,發現我錯了,迴圈神經網路和遞迴神經網路還是有點區別的。很明顯,它倆名字就是不一樣的,迴圈神經網路是recurrent neural network,遞迴神經網路是recursive neural ...

遞迴神經網路RNN

import tensorflow as tf from tensorflow.examples.tutorials.mnist import input data 載入資料 mnist input data.read data sets mnist data one hot true 輸入是28 ...

遞迴神經網路RNN

import tensorflow as tf from tensorflow.examples.tutorials.mnist import input data in 2 載入資料集 mnist input data.read data sets mnist data one hot true ...