1.應用:Sentiment Analysis情節分析
Recursive Network是比RNN更一般型式的神經網路。
RNN來看情緒分析的案例,將Word Sequence輸入神經網路,經過相同的function-f最後經過function-g得到結果。
如果是Recursive Network的話,必需先決定這幾個Sequence的關聯,上圖下案例來看,我們將丟到function-f得到,再將丟入相同的function-f,得到,再將丟到function-f得到,再經過function-g得到最後結果。
在實作Recursive Network的時候要注意,的維度必需要相同(因爲用的是同一個f)。
事實上RNN是Recursive Network的一種結構模式。
2.Recursive Network
遞歸網絡時一種RNN的擴展形式,他是空間的展開,且具有樹形結構。
目標:『not very good』,我們要決定這句話是好,還是壞。
從syntactic structure(文法結構)可以看的出這句話的結合方式
1.用詞嵌入將每一個Word用Vectory來表示。
2.根據文法結構來結合:將Very, Good丟入function-f得到輸出(詞向量維等於| Z |)輸入:| 2Z |,輸出:| Z |
直觀來看,我們希望得到的輸出代表着『Very Good』
function-f是一個nn,它所處理的事情或許比想像中還要複雜一些,因此不會只是單純的將兩個向量相加而以。
舉例來說,not是中性字,而good是正面,兩個加起來並不是正面偏中性,而是一個負面字眼,因此這不可能是單純的相加就可以達成的。
透過訓練資料的學習,讓『not very good』經過function-f的產出再經過function-g來得到最終的情緒等級,再依據與實際情緒的loss做優化。
3.Recursive Network Tensor Network
function-f可以很簡單,如上圖上所示,單純的讓a,b兩個向量相加之後乘上權重W,但這麼做可能無法滿足我們上說明的需求期望,或者很難達到理想的效果。
改進: 我們要讓a,b兩個向量是有相乘的關聯,因此調整爲上圖下所示,兩個向量堆疊之後轉置乘上權重W再乘上X它的計算邏輯就是將兩個元素相乘之後再乘上相對應的權重索引元素值做加總,這麼計算之後得到的是一個數值,而後面所得項目是一個2x1矩陣,無法相加,因此同樣的事再做一次,要注意到簡報上兩個W顏色不同代表的是不同的權重值。
4.Matrix-Vector Recursive Network
該網絡的核心思想:將詞向量分成兩部分,1是自己的部分,2是影響別人的部分。
這個方法感覺比較有道理,但實際上的Performance是較Recursive Network Tensor Network差。