递归神经网络_RNN、LSTM、Word2Vec

一、RNN原理

RNN的目的使用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的。
序列数据往往前后时刻是相关的,因此用RNN。
递归神经网络_RNN、LSTM、Word2Vec
RNN特点
1、权值共享,图中的W全是相同的,U和V也一样。
2、每一个输入值都只与它本身的那条路线建立权连接,不会和别的神经元连接。
递归神经网络_RNN、LSTM、Word2Vec

  • 前向传播
    st=tanh(Wst1+Uxt)s_t=tanh(Ws_{t-1}+Ux_t)
    y^t=ot=Softmax(Vst)\widehat{y}_t=o_t=Softmax(Vs_t)
    交叉熵损失函数:
    递归神经网络_RNN、LSTM、Word2Vec

  • 反向传播
    递归神经网络_RNN、LSTM、Word2Vec

应用
递归神经网络_RNN、LSTM、Word2Vec
多层网络、双向网络结构
递归神经网络_RNN、LSTM、Word2Vec
递归神经网络_RNN、LSTM、Word2Vec
RNN缺点
容易出现梯度消失或者梯度爆炸的问题(BP算法和长时间依赖造成的). 注意: 这里的梯度消失(U的特征值小于1,反向传播UnkU^{n-k}会越来越小)和BP的不一样,这里主要指由于时间过长而造成记忆值较小的现象.
递归神经网络_RNN、LSTM、Word2Vec

二、LSTM

LSTM(long short-term memory)。长短期记忆网络是RNN的一种变体,RNN由于梯度消失的原因只能有短期记忆(如下图),LSTM网络通过精妙的门控制将加法运算带入网络中,一定程度上解决了梯度消失的问题。
递归神经网络_RNN、LSTM、Word2Vec
递归神经网络_RNN、LSTM、Word2Vec
递归神经网络_RNN、LSTM、Word2Vec
总结
递归神经网络_RNN、LSTM、Word2Vec
LSTM变种

  • 1)、Peephole connection
    递归神经网络_RNN、LSTM、Word2Vec
  • 2)、耦合忘记门
    递归神经网络_RNN、LSTM、Word2Vec
  • 3)、GRU
    它将忘记门和输入门合并成为一个单一的更新门, 同时合并了数据单元状态和隐藏状态, 使得模型结构比之于LSTM更为简单.
    递归神经网络_RNN、LSTM、Word2Vec

三、Word2Vec

word2vec也叫word embeddings,中文名“词向量”,作用就是将自然语言中的字词转为计算机可以理解的稠密向量
递归神经网络_RNN、LSTM、Word2Vec
总结
递归神经网络_RNN、LSTM、Word2Vec
Word2Vec特点
递归神经网络_RNN、LSTM、Word2Vec

四、LSTM示例