天天看点

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

传统的神经网络,层与层之间是全连接的,但是每层内部的节点是无连接的,因此无法利用上下文关系。

1.RNN

RNN最大的不同之处就是在每层内部的节点之间也建立起权连接。

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)
  • 针对问题:训练样本是序列数据
  • 模型思想:循环反馈
  • 模型特点:

    (1)当前时间的隐藏状态是由上一时间的隐藏状态和当前时间的输入x共同决定的

    (2)U、V、W权值共享

  • 模型缺点:梯度消失,无法处理长序列数据(解决:LSTM、GRU)

RNN的前向传播

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

基于时间反向传播BPTT

循环神经网络(RNN)模型与前向反向传播算法 - 刘建平Pinard - 博客园

https://www.cnblogs.com/pinard/p/6509630.html

RNN的缺点

梯度爆炸/消失、很难学到长距离的信息依赖

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

2.LSTM

使用LSTM模型可以更好的捕捉到较长距离的依赖关系。因为LSTM通过训练过程可以学到记忆哪些信息和遗忘哪些信息。

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

针对RNN梯度消失问题,LSTM对序列索引位置t的隐藏结构做改进:

  • 新增另一个隐藏状态,称为细胞状态(LSTM的核心思想)
  • 设置门控结构控制细胞状态:遗忘门、输入门、输出门

2.1 遗忘门

遗忘门决定了上一时刻的细胞状态 C ( t − 1 ) C^{(t-1)} C(t−1)(代表长期的记忆) 有多少保留到当前时刻的细胞状态 C ( t ) C^{(t)} C(t)。

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

遗忘门 f ( t ) f^{(t)} f(t)的公式形式和RNN的隐藏状态 h ( t ) h^{(t)} h(t)更新公式一致,区别在于激活函数,RNN是tanh激活函数,取值[-1,1],遗忘门是sigmoid函数,取值[0,1]代表遗忘概率。

2.2 输入门

输入门决定了当前时刻的输入 x ( t ) x^{(t)} x(t)(代表当前记忆) 有多少保存到当前时刻的细胞状态 C ( t ) C^{(t)} C(t)

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

输入门的第一部分 i ( t ) i^{(t)} i(t)表示保存概率,取值[0,1],公式形式和遗忘门完全一样,第二部分 a ( t ) a^{(t)} a(t)代表当前的记忆,公式形式则和RNN的隐藏状态 h ( t ) h^{(t)} h(t)更新公式完全一致。

2.3 细胞状态更新

在研究LSTM输出门之前,我们要先看看LSTM之细胞状态。前面的遗忘门和输入门的结果都会作用于细胞状态 C ( t ) C^{(t)} C(t)。

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

2.4 输出门

输出门决定了当前细胞状态 C ( t ) C^{(t)} C(t) 有多少输出到 LSTM 的当前输出值 h ( t ) h^{(t)} h(t)。

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

输出门的第一部分 o ( t ) o^{(t)} o(t)表示保存概率,公式形式和遗忘门完全一样

LSTM的前向传播

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

LSTM的反向传播

LSTM模型与前向反向传播算法 - 刘建平Pinard - 博客园

https://www.cnblogs.com/pinard/p/6519110.html

LSTM的缺点:

利用LSTM对句子进行建模时无法编码从后到前的信息

3.双向长短期记忆网络(BiLSTM)

通过BiLSTM可以更好的捕捉双向的语义依赖。

【DL小结3】RNN与LSTM1.RNN2.LSTM3.双向长短期记忆网络(BiLSTM)

继续阅读