人類語言是遞迴的嗎?
迴圈神經網路語言模型和遞迴神經網路語言模型對比圖:
遞迴神經網路模型是從下至上,而迴圈神經網路模型是不斷從字首得到資訊往後執行。
目前比較少使用遞迴神經網路模型的原因是,將乙個句子構建成乙個樹形結構是乙個確定性分類選擇,任何進行分類選擇的地方,都將成為使用反向傳播學習模型的乙個問題,將這種複雜性置入模型,會使得對gpu不友好,因為它阻礙了分布計算(lstm就是分布計算)。
樹形遞迴神經網路和卷積神經網路對比:
樹形遞迴神經網路只計算有意義的短語表示,合成向量是有一定語法的;而卷積神經網路就是計算每幾個詞的表示,不管它們組合起來是否有意義,只需統一計算而不需要選擇。
遞迴神經網路實現過程中的細節:
當構建乙個較大單元的表示時,拿其子單元構建乙個二叉樹,選擇某種神經網路將其拼接在一起,之後同時得到兩個結果,乙個是向量(表示構建的較大單元的含義),乙個是分數(對其進行分析判斷是不是乙個好的結構。)
向量:p=t
anh(
w[c2
c1+b
)p=tanh(w[^_+b)
p=tanh
(w[c
2c1
+b
)分數:sco
re=u
tpscore=u_tp
score=
utp
類似於依存句法分析,都是使用貪心演算法一步一步做決策。
每次組合兩個節點時都會得到乙個分數,然後解析樹會有這一系列的節點,將每個決策節點的分數相加作為最終整棵樹的分數,使用貪心演算法找到分數最高的一棵樹。
s (x
,y)=
∑n∈n
odes
(y)s
ns(x,y)=\sum_}s_n
s(x,y)
=n∈n
odes
(y)∑
sn
網路的目標函式:
j =∑
is(x
i,yi
)=ma
xy∈a
(xi(
s(xi
,y)+
△(y,
yi))
j=\sum_is(x_i,y_i)=max_}(s(x_i,y)+\********)
j=i∑s
(xi
,yi
)=ma
xy∈a
(xi
(s(
xi,
y)+△
(y,y
i))
cs224u 樹結構神經網路實現(5
cs224u 樹結構神經網路實現 5 sst 03 neural networks author christopher potts version cs224u,stanford,spring 2020 樹結構神經網路 treenns 與rnn分類器相關,treenns比rnns有更少的引數。網路...
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 ...