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

1.RNN

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

  • 针对问题:训练样本是序列数据

  • 模型思想:循环反馈

  • 模型特点:
    (1)当前时间的隐藏状态是由上一时间的隐藏状态和当前时间的输入x共同决定的
    (2)U、V、W权值共享

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

RNN的前向传播

基于时间反向传播BPTT

循环神经网络(RNN)模型与前向反向传播算法 - 刘建平Pinard - 博客园
https://www.cnblogs.com/pinard/p/6509630.html

RNN的缺点

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

2.LSTM

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


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

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

2.1 遗忘门

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

遗忘门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)

输入门的第一部分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)。

2.4 输出门

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

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

LSTM的前向传播

LSTM的反向传播

LSTM模型与前向反向传播算法 - 刘建平Pinard - 博客园
https://www.cnblogs.com/pinard/p/6519110.html

LSTM的缺点:

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

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

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

【DL小结3】RNN与LSTM相关推荐

  1. RNN以及LSTM的介绍和公式梳理

    RNN以及LSTM的介绍和公式梳理 标签: 算法RNNLSTM 2015-07-25 16:32 127091人阅读 评论(40) 收藏 举报 本文章已收录于:  深度学习知识库  分类: 机器学习( ...

  2. 情感分类模型介绍CNN、RNN、LSTM、栈式双向LSTM

    情感分类模型介绍CNN.RNN.LSTM.栈式双向LSTM 1.文本卷积神经网络(CNN) 卷积神经网络经常用来处理具有类似网格拓扑结构(grid-like topology)的数据.例如,图像可以视 ...

  3. 深度学习(自然语言处理)RNN、LSTM、TextCNN

    目录 0 前言: 1.从RNN到LSTM 1.1 RNN 1.2 LSTM模型 1.2.1遗忘门(forget gate) 1.2.2 输入门 1.2.3 输出门 1.3 使用循环神经网络模型 2 t ...

  4. 【串讲总结】RNN、LSTM、GRU、ConvLSTM、ConvGRU、ST-LSTM

    前言 平时很少写总结性的文章,感觉还是需要阶段性总结一些可以串在一起的知识点,所以这次写了下.因为我写的内容主要在时序.时空预测这个方向,所以主要还是把rnn,lstm,gru,convlstm,co ...

  5. 循环神经网络(RNN、LSTM、GRU)

    循环神经网络(RNN.LSTM.GRU) 目录 循环神经网络(RNN.LSTM.GRU) 概述: 计算: LSTM(长短记忆模型): GRU:

  6. 记忆网络RNN、LSTM与GRU

    RNN 结构 训练 应用 RNN Variants LSTM 结构 梯度消失及梯度爆炸 GRU 结构 一般的神经网络输入和输出的维度大小都是固定的,针对序列类型(尤其是变长的序列)的输入或输出数据束手 ...

  7. RNN和LSTM的正向/前向传播-图示公式和代码

    本文先讲的基础版本的RNN,包含内部结构示意图,公式以及每一步的python代码实现.然后,拓展到LSTM的前向传播网络.结合图片+公式+可运行的代码,清晰充分明白RNN的前向传播网络的具体过程.完整 ...

  8. 「模型解读」浅析RNN到LSTM

    https://www.toutiao.com/a6711704602531594764/ 卷积神经网络使用固定大小的矩阵作为输入(比如一张图片),然后输出一个固定大小的向量(比如不同分类的概率),适 ...

  9. 【模型解读】浅析RNN到LSTM

    卷积神经网络使用固定大小的矩阵作为输入(比如一张图片),然后输出一个固定大小的向量(比如不同分类的概率),适合于图像分类,目标检测,图像分割等.但是除了图像外,还有非常多的信息是非固定长度或者大小的, ...

  10. 【图文并茂】RNN、LSTM、GRU、ConvLSTM、ConvGRU、ST-LSTM的总结

    前言 平时很少写总结性的文章,感觉还是需要阶段性总结一些可以串在一起的知识点,所以这次写了下.因为我写的内容主要在时序.时空预测这个方向,所以主要还是把rnn,lstm,gru,convlstm,co ...

最新文章

  1. Squid故障与解决方法汇总
  2. 去哪面试都会问的HashMap
  3. struts 2中为什么抽象包不能包含action?
  4. python中continue用法案例_记录今天学习python中for与while循环针对break和continue的用法...
  5. 用C#制作PDF文件全攻略 (专至csdn)
  6. 一位程序猿面试蚂蚁金服后端的经验总结!
  7. 寻找固定的和----2013年2月26日
  8. 全网首发:CENTOS FreeSwitch集成NVIDIA CODEC
  9. xCodeGhost 事件专题总结
  10. Unity编辑器扩展工具Shader Forge和Behavior Designer(行为树)和 Cinema Director
  11. 顶岗实习周记java方向_java软件开发顶岗实习周记
  12. vi编辑器替换字符串命令
  13. gm21模型python_GM11灰色模型
  14. C语言获取本机IP地址
  15. 昆仑通态触摸屏保存历史曲线_mcgs历史数据保存到U盘
  16. js原生css修改,原生js获取、添加、修改_非行间css样式
  17. Nginx之proxy_pass详解
  18. 阿里云 部署SpringBoot和Vue项目 亲测可用(第一次部署经验贴)
  19. 2007年世界顶级防火墙排名
  20. 2.11 header footer hgroup address元素

热门文章

  1. Linux使用信号量监控程序异常退出
  2. 测试C++代码与WebBrowser HTML的互动
  3. AFNetwork 作用和使用方法具体解释
  4. 华为手机连不上adb解决方法
  5. 比rufus/scheduler更独立简洁的定时脚本必备whenever
  6. 学习perl点滴(二)
  7. 【net】音乐播放器
  8. 牛客网SQL练习题(Mysql-8)
  9. 最大连续子序列和(4种算法)
  10. linux下查看进程与线程