循环神经网络(RNN)与长短期记忆网络(LSTM)讲解
循环神经网络(RNN)
对于典型的深度神经网络(DNN),就是通过在输入层与输出层之间增加隐藏层来构建网络,如下图所示。
与DNN不同的是,循环神经网络(RNN)赋予了网络对前面的内容的一种“记忆功能”,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出,如下图所示。
在上图中,我们可以看出在RNN中有以下传递关系:
h t = U x t + W s t − 1 h_t=Ux_t+Ws_{t-1} ht=Uxt+Wst−1
s t = f ( h t ) s_t=f(h_t) st=f(ht)
o t = g ( V s t ) o_t=g(Vs_t) ot=g(Vst)
上式中, s t s_t st为 t t t时刻隐藏层的状态值, o t o_t ot为 t t t时刻输出值, f t f_t ft和 g t g_t gt均为激活函数。权重参数 U 、 W 、 V U、W、V U、W、V即所需要训练的系数,在每个时刻都是相等的。
对于激活函数(如tanh),在两端的导数均为0,逐渐趋近于水平线,即梯度变为了0,如下图所示。
因此 当矩阵中有小于1的值时,经过多次矩阵相乘,梯度值会快速地以指数形式搜索,最终在几个时刻之后完全消失。这代表着较远时刻贡献的梯度会变为0,这些时刻的状态不会对学习有所贡献,也就无法达到学习长期依赖。同样,另一个类似的问题是梯度爆炸。这两种情况都限制了RNN在学习长时间问题上的性能。LSTM对于此种情况有了新的细胞结构来解决该问题。
长短期记忆网络(LSTM)
RNN的核心思想是将以前的信息连接到当前的任务中来,若当前位置与相关信息所在位置之间的距离相对较小的时候,RNN的效果会比较好。而实际上,相关信息和需要该信息的位置间的距离可能非常远。当距离逐渐增大时,RNN对于如何将这样的信息连接起来无能为力,也就是说,RNN并没有能力来学习这些。而LSTM作为一种特殊的RNN,则能够学习到长期依赖关系。
传统RNN中, U x t + W s t − 1 Ux_t+Ws_{t-1} Uxt+Wst−1。其结构除了在上文中画出的样子外,还可以转化为如下方式。
而LSTM可以通过“门”结构实现对重要内容的保留和不重要内容的去除。通过sigmoid层输出一个0到1之间的概率值,描述每个部分有多少量可以通过,0表示“不允许任务变量通过”,1表示“运行所有变量通过 ”。典型的LSTM网络如下图所示。
上图中每一个绿色矩形框都代表着一个细胞,而每个细胞内上方的黑色线贯穿细胞代表着细胞的状态,该状态可以根据细胞内部的交互发生改变。
在细胞中,信息的选择性通过由“门”(gates)来控制,主要是通过sigmoid神经层和逐点相乘实现,如下图所示。
Sigmoid层输出(是一个向量)的每个元素都是一个在 0 和 1 之间的实数,表示让对应信息通过的权重(或者占比)。__我们可以理解为这个运算结果就是一个概率,描述每个部分有多少量可以通过。__在LSTM中,有三个这样的门来是实现对信息的控制,分别是遗忘门、输入门和输出门。
循环神经网络(RNN)与长短期记忆网络(LSTM)讲解相关推荐
- 循环神经网络(RNN)之长短期记忆(LSTM)
长短期记忆(Long Short Term Memory)跟上篇的循环神经网络(RNN)之门控循环单元(GRU),两者比较的话,LSTM稍微更复杂一点,但很类似,对整个隐藏单元来讲可以说增加了一个记忆 ...
- MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测
MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测 摘要 近些年,随着计算机技术的不断发展,神 ...
- 简单介绍长短期记忆网络 - LSTM
文章目录 一.引言 1.1 什么是LSTM 二.循环神经网络RNN 2.1 为什么需要RNN 三.长短时记忆神经网络LSTM 3.1 为什么需要LSTM 3.2 LSTM结构分析 3.3 LSTM背后 ...
- 『NLP学习笔记』长短期记忆网络LSTM介绍
长短期记忆网络LSTM介绍 文章目录 一. 循环神经网络 二. 长期依赖问题 三. LSTM 网络 四. LSTM 背后的核心理念 4.1 忘记门 4.2 输入门 4.3 输出门 五. LSTM总结( ...
- 基于长短期记忆网络(LSTM)对股票价格的涨跌幅度进行预测
完整代码:https://download.csdn.net/download/qq_38735017/87536579 为对股票价格的涨跌幅度进行预测,本文使用了基于长短期记忆网络(LSTM)的方法 ...
- 1014长短期记忆网络(LSTM)
长短期记忆网络(LSTM) 长期以来,隐变量模型存在着长期信息保存和短期输入缺失的问题,解决这个问题最早的方法之一就是 LSTM 发明于90年代 使用的效果和 GRU 相差不大,但是使用的东西更加复杂 ...
- 长短期记忆网络(LSTM)学习笔记
文章目录 0 前言 1 LSTM与RNN的异同 2 LSTM结构细节 2.1 细胞状态 2.2 遗忘门 2.3 输入门 2.4 输出门 3 总结 4 LSTM的变体 4.1 Adding " ...
- 白话机器学习-长短期记忆网络LSTM
一 背景 既然有了RNN,为何又需要LSTM呢? 循环神经网络RNN的网络结构使得它可以使用历史信息来帮助当前的决策.例如使用之前出现的单词来加强对当前文字的理解.可以解决传统神经网络模型不能充分利用 ...
- 长短期记忆网络 LSTM
这里写目录标题 1. LSTM介绍 1.1 什么是LSTM 1.2 LSTM相较于RNN的优势 1.3 LSTM的结构图 1.3.1 LSTM的核心思想 1.3.2 LSTM的遗忘门 1.3.3 LS ...
- 长短期记忆网络LSTM
1. LSTM是循环神经网络的一个变体可以有效的解决简单循环神经网络的梯度消失和梯度爆炸的问题. 2. 改进方面: 新的内部状态 Ct专门进行线性的循环信息传递,同时(非线性的)输出信息给隐藏层的外部 ...
最新文章
- ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区
- Android 让EditText不可编辑
- docker容器-实战(分享十六)
- Redis概述与Redis集群(一)
- 阿里云POLARDB荣膺2019中国数据库年度最佳创新产品
- flink网页端提交pr-修改文档报错
- 我是机器人布里茨_9.19机器人钩子范围增加,这些位置阴人无敌,一Q一个小朋友...
- AspectJ基于xml和基于注解
- C#(Sharp)GDI plus与图形编程(计算机图形学必备知识)
- 计算机二级web题目(8.4)--综合应用题2
- Java基础学习总结(81)——如何尽可能的减少Java代码中bug
- Protocol ‘https‘ not on whitelist ‘file,crypto‘ ——m3u8下载协议不在白名单,m3u8下载器推荐
- 真心推荐8个高质量Java学习网站,一起从入门到精通java语言,大厂java面试真题分享,建议码住!
- 程序员面试必备的网络编程知识
- PASCAL VOC 2012 数据集解析
- Nmap 扫描主机端口
- 企业微信员工离职后,还能看聊天记录吗?
- CDN 回源与文件预热
- dropbox 怎么使用_如何在Android手机上使用Dropbox
- 网易免费邮箱服务器,网易免费邮箱重新免费开放POP3/SMTP服务
热门文章
- 数据库原理及应用——绪论
- 微信小程序跳转京东小程序优惠券领取界面
- [Re]南邮ctf平台逆向题
- R语言read.table读取tsv文件
- 金三银四,面试谈薪资的这7个技巧,你一定要学会!
- 保险业务与系统——LOMA 290 保险公司运营——第四讲——保险公司组织架构
- 骑士放置 (匈牙利算法 最大独立集)
- 磁盘在计算机管理中能找到,事实:u盘可以显示在磁盘管理中,但是在计算机中找不到...
- jdbc 生成建表语句_mysql数据库下建表语句
- 软件测试风险管理需要做的3件事