Recurrent Neural Network
- slot filling
将一个词输入进去,输出的为该词属于slot的概率分布
input相同词的slot不同
每一个hidden layer 产生的 output会被存储在a1和a2中,再输入其他input时,memory 也会被考虑
第一次输入
将sequence第一组input输入到neural network中,设定memory的initial value 为0.所有的节点权值为1,无偏移量,所有的activation functions 都是线性的。
经过绿色的节点的计算,每个绿色节点的output都为2
最后y1和y2的output为4,同时2,2会被存储在memory中。
第二次输入
对于RNN,即使输入的input是一样的,它的output也可能不一样
第三次输入
changing the sequence order will change the output
同一个network在三个时间点被使用了三次,对于第二次输入来说,taipei这个词产生的output会同时考虑储存在a1中arrive的特征,从而产生一个关于arrive Taipei这个词组的output
Elman Network & Jordan Network
Jordan Network 储存的是output的值,在target上有更好的performance
Bidirectional RNN (可以是双向的)
可以同时train 正向和逆向的NN,把两个nn的output拿出来产生最后的y
好处:产生output产生的范围比较广,对于正向的nn,它考虑的只是input前sequence的所有特征,对于双向,考虑了前后所有时刻的input
LSTM Long short-term Memory
input gate 和output gate 可以打开或关闭控制memory变量的输入与输出
四个input
- 想要被存入memory cell的值,depend on input gate
- 操控input gate 的讯号
- 操控output gate 的讯号
- 操控 forget gate的讯号
- 三个gate是打开还是关闭由学习得到
sigmoid 的值表示被打开的程度,即概率