lec-26 Recursive Network
Table of Contents
1 Recursive Network
Special Deep Learning Structure 之三他是 Recurrent Network 的一种更 general 的形式。
1.1 What is recursive net
intuition by Sentiment Analysis
整体架构就是,前面有 sizeof(sentence's word) 个相同的 RNN:f 然后经过一个 NN:g 然后输出一个 5 维度的 vector 表示这个 sentence 的 sentiment
- 语义分析就是分析句子的情感色彩:悲观 or 乐观 等等
- RNN 是 Recursive Structure 的一种特殊情况:f 只接一个 x
- recursive structure 需要对 f 进行设计:x 与 h 是 same dimension 也就是 f 的输入和输出是 same dimension
- 根据 syntactic structure 构建网络
- very good != Very + good
如何做到语义相加呢? 用 training data 自动学出来
- 转向: not
- 强化: very
1.2 Recursive Nueral Tensor Network
重新设计 f 用来解决【语义转向】和【语义强化】的表达问题
- 整体是 Recursive
- ☆ Component 的 funtion f 是 Nueral Tensor Network
1. 如果 f 是一个 neural network 的话,那么他的 input: a b 的形式 只有一种,就是 a b 串起来形成一个大的 vector 作为 input layer 2. >>> 公共技巧:任何一层 hiden layer 的输出都可以写成这样的公式 output = act-fn(W•x) . x W W•x act-fn . ============================================== . . layer-1 l-2 l-2 l-2 . .output .input .act .output . ○----->-- ... ... -----------○----->- . x11 x21 . . ○----->-- ... ... -----------○----->- . x12 x22 . . ○----->-- ... W ... -----------○----->- . x13 x23 . . ○----->-- ... ... -----------○----->- . x14 x24 . . ○----->-- ... ... -----------○----->- 3. 转向和强化,单单通过相加关系,定不能成,还需要相乘 之前讲过 'not' 是转向,good + not ---> bad 之前讲过 'very' 是强化,good + very ---> bingo 所以 f 不能仅仅是个简单的 neural network, 还必须包含向量之间的相乘关系 . x = [a b] . _ _ . | xTW1x | . output = act-fn(| xTW2x | + W'•x) . | xTW3x | . - - W1,W2,W3,W' 是不同的 4 个矩阵 需要多少个 W1,W2,W3... 是根据 f 的 output vector 的维度来决定的。 而 f 的 output vector 维度需要整体设计
1.3 Matrix-Vector Recursive Network
把每一个 word 的 embedding ([qqq]word embedding 是什么意思?)理解为两个部分: 固有的含义 + 如何影响其他 word
1.4 Tree LSTM
f 是 LSTM 的话,还是参照 syntactic structure. LSTM + recursive network = Tree LSTM 这样整体就构成了 Tree LSTM
1.5 如何训练一个 NN 可以识别‘意义相同的句子’:sentence relatedness
找很多 意义相同的 pair 句子。然后丢到右边图的那个架构里。
>>> 单个 recusive NN 的作用就是 ----------------------------------------------------------- 整体架构就是,前面有 sizeof(sentence's word) 个相同的 RNN:f 然后经过一个 NN:g 然后输出一个 5 维度的 vector 表示这个 sentence 的 sentiment -----------------------------------------------------------
现在两个句子通过两个 Recursive NN 得到两个 sentiment vector,然后这两个 sentiment vector 经过一个 NN 用来判断两个 vector 的相似度。整个网络要通过很多 意义相同的 pair 句子训练。