首先来看RNN和普通的feed-forward网络有什么不同。RNN的网络框架如下:
由结构图可以知道,RNN和feed-forward相比只是中间隐含层多了一个循环的圈而已,这个圈表示上一次隐含层的输出作为这一次隐含层的输入,当然此时的输入是需要乘以一个权值矩阵的,这样的话RNN模型参数只多了个权值矩阵。更形象的RNN图可以参考:
以及图:
按照上图所示,可知道RNN网络前向传播过程中满足下面的公式(参考文献Learning Recurrent Neural Networks with Hessian-Free Optimization),
一、隐层表示计算:
(1)
:从输入层到隐层中间的参数矩阵,即图二中的灰色虚线。
:从上一个时刻输出到当前时刻隐层中间的参数矩阵,即图二中的红色实线。
:当前时刻的输入embedding,即图二中的input。
:上一个时刻的隐层输出,即图二中的state矩阵。
二、最终输出概率为一个多分类,例如分词、词性标注等,每个时刻都有多个输出值可能,经行概率归一化:
(2)
:隐层到输出层中间的参数矩阵,即图二中的红色虚线,(公式中
有多少行,就有多少个类别,得到多少个概率值)。
三、其代价函数可以是重构的误差(最小二乘法):
也可以是交叉熵(softmax回归或者logistic回归):
【应用】:
1. 《Vinyals O, Kaiser L, Koo T, et al. Grammar as a foreign language[J]. arXiv preprint arXiv:1412.7449, 2014.》
把LSTM用于句法分析任务,文章把树状的句法结构进行了线性表示,从而把句法分析问题转成翻译问题,然后套用机器翻译的encoder-decoder框架使用LSTM解决
2. 《Palangi H, Deng L, Shen Y, et al. Deep Sentence Embedding Using the Long Short Term Memory Network: Analysis and Application to Information Retrieval[J]. arXiv preprint arXiv:1502.06922, 2015.》
使用LSTM获得大段文本或者整个文章的特征向量,用点击反馈来进行弱监督,最大化query的特性向量与被点击文档的特性向量相似度的同时最小化与其他未被点击的文档特性相似度。