理解LSTM
本文基于Understanding-LSTMs进行概括整理,对LSTM进行一个简单的介绍
什么是LSTM
LSTM(Long Short Term Memory networks)可以解决传统RNN的长期依赖(long-term dependencies)问题。它对传统RNN的隐层进行了结构上的改进。
LSTM的内部结构

这是传统的RNN的结构,内部有一个tanh层

LSTM和传统RNN结构类似,然而内部结构却有所不同

图中所示的水平线就是LSTM中的状态信息,可以把这个理解为记忆(memory)
下面介绍门的概念,LSTM中的门可以选择性的控制信息的流动,通常由一个sigmoid神经网络层和一个point wise(或者叫element wise)的乘法操作组成。

LSTM中有三种门:
遗忘门:

可以看到这里的\(f_{t}\)由输入的\(x_t\)和\(h_{t-1}\)得到,用来控制\(C_{t-1}\)中的信息的遗忘程度。\(f_{t}\)中的每个值都是0-1中的一个数,下界0代表完全遗忘,上界1代表完全不变。输入门:

遗忘门决定了历史状态信息的遗忘程度,那么输入门的作用就是往状态信息中添加新东西。同样,由输入的\(x_t\)和\(h_{t-1}\)得到当前的\(i_t\)用以控制新状态信息的更新程度。这里新状态信息\(\tilde{C}\)也是通过输入的\(x_t\)和\(h_{t-1}\)计算得出。

那么当前新的状态信息\(C_t\)就很显然可以通过上式计算得出,通俗的说就是遗忘一些旧信息,更新一些新信息进去。
- 输出门:

最后就是输出门了。类似地,根据\(x_t\)和\(h_{t-1}\)得出\(o_{t}\)用以控制哪些信息需要作为输出。
概括一下:
- 状态信息\(C_t\)的依赖于遗忘门\(f_t\)和输入门\(i_t\)
- 遗忘门\(f_t\)和输入门\(i_t\)依赖于输入参数中的\(h_{t-1}\)
- 而当前隐层输出\(h_t\)依赖于\(C_t\)
LSTM的一些变种
增加peephole connections
Gers & Schmidhuber (2000)提出的增加peephole connections

图中所示,在所有的门之前都与状态线相连,使得状态信息对门的输出值产生影响。但一些论文里只是在部门门前加上这样的连接,而不是所有的门
耦合遗忘门和输入门

这一种变体是将遗忘门和输入门耦合在一起,简单来说就是遗忘多少就更新多少新状态,没有遗忘就不更新状态,全部遗忘那就新状态全部更新进去。
GRU
这是目前比较流行的LSTM变种,不仅将遗忘门和输入门统一为更新们,而且将h和c也给合并了。可参考Cho, et al. (2014)

参考
理解LSTM的更多相关文章
- [译] 理解 LSTM 网络
原文链接:http://colah.github.io/posts/2015-08-Understanding-LSTMs/ 吴恩达版:http://www.ai-start.com/dl2017/h ...
- [译] 理解 LSTM(Long Short-Term Memory, LSTM) 网络
本文译自 Christopher Olah 的博文 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这篇文章时候,你都是基于自己已经拥有 ...
- (译)理解 LSTM 网络 (Understanding LSTM Networks by colah)
@翻译:huangyongye 原文链接: Understanding LSTM Networks 前言:其实之前就已经用过 LSTM 了,是在深度学习框架 keras 上直接用的,但是到现在对LST ...
- RNN(1) ------ “理解LSTM”(转载)
原文链接:http://www.jianshu.com/p/9dc9f41f0b29 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这 ...
- [转] 理解 LSTM 网络
[译] 理解 LSTM 网络 http://www.jianshu.com/p/9dc9f41f0b29 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他 ...
- 技能|三次简化一张图:一招理解LSTM/GRU门控机制
作者 | 张皓 引言 RNN是深度学习中用于处理时序数据的关键技术, 目前已在自然语言处理, 语音识别, 视频识别等领域取得重要突破, 然而梯度消失现象制约着RNN的实际应用.LSTM和GRU是两种目 ...
- 『cs231n』RNN之理解LSTM网络
概述 LSTM是RNN的增强版,1.RNN能完成的工作LSTM也都能胜任且有更好的效果:2.LSTM解决了RNN梯度消失或爆炸的问题,进而可以具有比RNN更为长时的记忆能力.LSTM网络比较复杂,而恰 ...
- 【翻译】理解 LSTM 网络
目录 理解 LSTM 网络 递归神经网络 长期依赖性问题 LSTM 网络 LSTM 的核心想法 逐步解析 LSTM 的流程 长短期记忆的变种 结论 鸣谢 本文翻译自 Christopher Olah ...
- 【翻译】理解 LSTM 及其图示
目录 理解 LSTM 及其图示 本文翻译自 Shi Yan 的博文 Understanding LSTM and its diagrams,原文阐释了作者对 Christopher Olah 博文 U ...
- 如何简单的理解LSTM——其实没有那么复杂(转载)
转载地址:https://www.jianshu.com/p/4b4701beba92 1.循环神经网络 人类针对每个问题的思考,一般不会是完全的从头开始思考.正如当你阅读这篇译文的时候,你会根据已经 ...
随机推荐
- REX:EOS资源租赁平台详解
关键字:REX,资源交易,资源租赁,系统费用,bancor,成熟期,EOS,eosio.system,voting EOSIO 智能合约在v1.6.0版本增加了一个system合约使用的例子,可提供E ...
- 国内高速Maven仓库
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> & ...
- springboot使用遇到问题:Class “model.Address” is listed in the persistence.xml file but not mapped
报错如下: 解决如下: 这是一个Eclipse的怪癖.我最近在创建一个禁用了JPA库配置的新JPA项目时遇到了这个问题,但是在我通过Eclipse New JPA Entity向导创建实体之前没有手动 ...
- 动态规划法(五)钢条切割问题(rod cutting problem)
继续讲故事~~ 我们的主人公现在已经告别了生于斯,长于斯的故乡,来到了全国最大的城市S市.这座S市,位于国家的东南部,是全国的经济中心,工商业极为发达,是这个国家的人民所向往的城市.这个到处都 ...
- sqlserver 级联删除、级联更新
增加外键约束时,设置级联更新.级联删除:[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ][ ON UPDATE { NO A ...
- Mongodb的基本语法
前段时间工作上面由于没有多少事所以玩了玩mongodb,学习了它的基本语法,然后现在在这里做一个简单的总结. 1.我是在win平台上面,启动的话比较麻烦,所以我就简单的把启动过程做了个批处理文件 启动 ...
- elasticsearch6.7 05. Document APIs(3)GET API
2.GET API get API 可以通过文档id从索引中获取json格式的文档,以下示例从twitter索引中获取type为_doc,id值为0为的JSON文档: GET twitter/_doc ...
- 详解promise、async和await的执行顺序
1.题目和答案 一道题题目:下面这段promise.async和await代码,请问控制台打印的顺序? async function async1(){ console.log('async1 sta ...
- blfs(systemv版本)学习笔记-编译安装sudo并创建普通用户配置sudo权限
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs书中sudo的安装配置章节:http://www.linuxfromscratch.org/blfs/view/8.3/ ...
- Python 练习:使用 * 输出直角三角形
正方向 height = int(input("please input height: ")) tmp = 1 while tmp <= height: width = t ...