CS224 樹形遞迴神經網路

2021-09-24 21:53:49 字數 1575 閱讀 9938

人類語言是遞迴的嗎?

迴圈神經網路語言模型和遞迴神經網路語言模型對比圖:

遞迴神經網路模型是從下至上,而迴圈神經網路模型是不斷從字首得到資訊往後執行。

目前比較少使用遞迴神經網路模型的原因是,將乙個句子構建成乙個樹形結構是乙個確定性分類選擇,任何進行分類選擇的地方,都將成為使用反向傳播學習模型的乙個問題,將這種複雜性置入模型,會使得對gpu不友好,因為它阻礙了分布計算(lstm就是分布計算)。

樹形遞迴神經網路和卷積神經網路對比:

樹形遞迴神經網路只計算有意義的短語表示,合成向量是有一定語法的;而卷積神經網路就是計算每幾個詞的表示,不管它們組合起來是否有意義,只需統一計算而不需要選擇。

遞迴神經網路實現過程中的細節:

當構建乙個較大單元的表示時,拿其子單元構建乙個二叉樹,選擇某種神經網路將其拼接在一起,之後同時得到兩個結果,乙個是向量(表示構建的較大單元的含義),乙個是分數(對其進行分析判斷是不是乙個好的結構。)

向量:p=t

anh(

w[c2

c1+b

)p=tanh(w[^_+b)

p=tanh

(w[c

2​c1

​​+b

)分數:sco

re=u

tpscore=u_tp

score=

ut​p

類似於依存句法分析,都是使用貪心演算法一步一步做決策。

每次組合兩個節點時都會得到乙個分數,然後解析樹會有這一系列的節點,將每個決策節點的分數相加作為最終整棵樹的分數,使用貪心演算法找到分數最高的一棵樹。

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 ...