前言

本文章为个人学习笔记整理,所学习的内容来自b站up主@老弓的学习日记,附有实例讲解。

归类

长短期记忆神经网络(LSTM)是一种特殊的循环神经网络(RNN)。原始的RNN在训练中,随着训练时间的加长以及网络层数的增多,容易出现梯度爆炸或梯度消失的问题,导致无法处理较长序列数据,从而无法获取长距离数据的信息。为解决该问题,提出了它的改进方案,即LSTM神经网络。

设计思路
RNN神经网络:记住所有信息,无论是有用的还是无用的。
LSTM神经网络:选择一个记忆细胞,对信息有选择性地记忆。

LSTM的前向传播

其中, t为时刻,为记忆细胞,为状态,为输入,为遗忘门,为更新门,为输出门。

运算过程如下所示:

(注:公式中的与图中tanh上方的一致)

实例讲解 

以上内容看不懂没关系,这里会用简单的例子来讲解,让我们回到这个图:

假设现在是期末考试周且你的脑容量有限,昨天你考完了高等数学,后天将考线性代数,你的线性代数老师也为你贴心地划好了考试重点。上文已经提到过,RNN会记住所有的信息,无论是有用信息还是无用信息,即你复习了整本线性代数的书本,并将其内容与上一门高等数学的内容全部记忆了下来。而对于LSTM来说,你将遗忘大部分高等数学的内容,而只保留基础数学运算等通用内容,并且只复习记忆线性代数书本中老师划出的重点。

图中的会生成一系列0-1之间的数,如[0,1,0.7,0,0.3,1],对其赋权重后,进行选择性遗忘。对应刚才的例子,此处为刚考完的高等数学,的处理结果为:遗忘大部分高等数学的知识,记忆能够用到线代考试中的基础数学运算等知识。

那么如何理解更新门呢?老师所划出的重点并不会全部出现在试卷上,你可以在复习的过程中根据自己的理解,判断哪些内容可能考,哪些内容肯定不考,由此再进行筛选过滤。这就是更新门的作用。

在LSTM的每个时间步里,都有一个记忆cell,给予LSTM选择记忆的功能。

LSTM的反向传播(能够解决梯度消失问题的原因)

通过调节 ,可以灵活控制的值,当要从n时刻长期记忆某个东西直到m时刻时,该路径上的,从而大大缓解了梯度消失。

(原up有这部分的具体公式推导,感兴趣的小伙伴可以去看一下)

大白话理解LSTM神经网络(附实例讲解)相关推荐

  1. 理解LSTM神经网络 ---- 翻译 Understanding LSTM Networks

    理解LSTM神经网络 -- 翻译 Understanding LSTM Networks 这篇文章是Understanding LSTM Networks博客的翻译,仅用于学习和理解.因为个人水平有限 ...

  2. 【Python基础】手把手教你数据可视化!(附实例讲解)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:CrescentAI,华南理工大学,Datawhale优秀学 ...

  3. 手摸手教你数据可视化!(附实例讲解)

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:CrescentAI,华南理工大学,Datawhale优秀学习者 ...

  4. Linux下Desktop文件入门,解析Deepin Linux系统中的Desktop文件,附实例讲解

    以下内容为你解析 Deepin Linux 操作系统中的 Desktop Entry 文件,同时附上实例讲解. 概念 Desktop Entry 文件是 Linux 桌面系统中用于描述程序启动配置信息 ...

  5. list复制到另一个list_一文总结saltstack的十一个常用模块,附实例讲解

    概述 SaltStack 通过模块来实现管理,具备丰富的模块功能,命令形式也比较自由. 今天主要介绍一下saltstack常见的一些模块. 常用执行模块如下: cron模块archive模块cmd模块 ...

  6. 关于AAARR模型,还停留在理论却不会用?附实例讲解

    近期不少互联网大厂纷纷开启提前批,其中非技术岗位招聘最多的就是运营,而运营岗里必用到的数据/业务分析模型就是AAARR模型. AARRR模型又叫海盗模型,是用户运营过程中常用的一种模型,解释了实现用户 ...

  7. JAVA栈(Stack)用法附实例讲解

    一.功能 栈(Stack)是Vector的一个子类,它实现了一个标准的后进先出的栈,也定义了自己的一些方法. 二.声明 1.声明一个栈的写法,E表示数据类型,name是你给栈起的名字,其余为关键字 S ...

  8. ANSYS Workbench中各种设置选项都不理解怎么办?(附实例surface effect)

    目录 摘要 如何查找各设置选项的含义 举例 PS 摘要 ANSYS Workbench中各种设置选项繁多,材料.网格.接触.边界等等. 例如,边界条件中又分为惯性边界条件.位移约束边界条件.荷载类边界 ...

  9. JAVA队列(Queue)用法附实例讲解

    一.功能 队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作. 二.声明 1.声明一个栈的写法,E表示数据类型,name是你给队列起的名字,LinkedList类实现了Q ...

  10. 2 小时学会 springboot ( 附实例讲解 )

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.什么是spring boot Takes an opinionated view of buil ...

最新文章

  1. java环境变量含义_Java环境变量的配置及意义
  2. 2017 阿里技术-年度精选
  3. Python中装饰器的理解和实现
  4. 6月第3周回顾:广东清查ADSL共享 火狐3掀起浏览器大战
  5. python正十三边形_一起学python-opencv十三(直方图反向投影和模板匹配)
  6. C/C++中预编译#,##,#error作用
  7. 简单实现UITableView索引功能(中英文首字母索引)(一) ByH罗
  8. db2与mysql编目_DB2编目、联邦数据库 - Goopand's OS Space - OSCHINA - 中文开源技术交流社区...
  9. Flex 宋体、黑体、楷体、仿宋字体样式
  10. pandas.Series.asfreq
  11. PageRequestManager
  12. NJ68 键盘说明书
  13. angular 使用jsMind
  14. 目前最为出色的Wii模拟器,可以在电脑上运行绝大多数Wii游戏,对低端配置完美支持,绝对的神器
  15. 基于TLC5615的多路可调数控直流稳压电源,51单片机,含Proteus仿真和C代码等
  16. 淘气的小丁-简易聊天器
  17. oracle付款汇兑损益怎么产生,汇兑损益如何进行账务处理?
  18. 编写SQL语句,检索Customers表中所有的列,再编写另外的SELECT语句,仅检索顾客的ID
  19. 将语雀文档迁移到飞书
  20. iOS Charts库绘制曲线

热门文章

  1. foobar2000功能介绍
  2. 《计算机网络》复习笔记
  3. 格式工厂 wav 比特率_智能音乐格式转换
  4. 苹果匠艺:乔布斯身边的天才
  5. WindowsXP自带小工具(转)
  6. 工具分享:易读文档下载器(同时支持百度/豆丁)
  7. 主流量化交易的几种策略模型
  8. 杭电 1142 十字链表存储
  9. oracle数据库if函数,Oracle NULLIF函数
  10. JAVA垃圾回收机制