DL——RNN

本文将介绍一般RNN,RNN的变种GRU(门控循环单元)和LSTM(长短期记忆网络)等神经网络结构


一般的RNN

循环神经网络(Recurrent Neural Network, RNN)

  • 将神经单元展开后的示意图如下:

RNN与CNN优缺点比较

此处我们之比较CNN和RNN在序列预测问题中的优劣

  • 关于前馈神经网络:
    • 是一种最简单的神经网络
    • 各神经元分层排列, 每个神经元只接受前一层的输入,输出到下一层,已知到输出层,
    • 整个网络中没有反馈(后面的backward求梯度不能算反馈,这里指一次输入到输出计算各层间没有反馈,数据流只能从上一层到下一层单向流动)
    • 可以用一个有向无环图表示
  • CNN:
    • 是一种前馈神经网络(多层感知机),是多层感知机的变体
    • 采用固定大小的输入并生成固定大小的输出
    • CNN是图像和视频处理的理想选择
  • RNN:
    • 不是前馈神经网络, 有环
    • 可以处理任意长度的输入输出
    • 使用时间序列信息,能用之前的状态影响下一个状态
    • RNN是文本和语音分析的理想选择
  • RNN在处理序列信息的缺点:
    • 对短期输入非常敏感,但是对长期输入不敏感
    • 难以处理长文本中长距离的单词间的关系

LSTM

长短期记忆网络(Long Short-Term Memory, LSTM)

  • 整体示意图如下:
  • 核心是”(Gate)门”结构
    • 其中Sigmoid是输出0到1的数值,描述每个部分有多少量可以通过当前门
    • 0表示拒绝所有, 1表示接受所有

推导流程图


GRU

门控循环单元(Gated Recurrent Unit, GRU)

  • 整体示意图及推导如下:

GRU与LSTM对比

  • 二者提出的时间基本相同
  • 都是用来解决RNN不能处理长期依赖的问题
  • LSTM有三个”门”结构, GRU只有两个”门结构”
  • GRU较简单,参数比较少,不容易过拟合, LSTM比较复杂一点,但是常用