理解长短期记忆网络

Understanding LSTM Networks

9.2. 长短期记忆网络(LSTM)

目录

循环神经网络

长短期记忆网络

长短期记忆网络背后的核心思想

长短期记忆一步步讲解

忘记

记住

更新

输出

长短期记忆的变体

peephole连接

coupled 忘记和输入门

Gated Recurrent Unit


循环神经网络

展开循环神经网络

The Unreasonable Effectiveness of Recurrent Neural Networks
理论上,循环神经网络完全可以掌控“长句依赖”,可以人为的选择好的参数。
但实践证明,循环神经网络看起来不能学习长句。
长短期记忆没有这个问题

长短期记忆网络

长短期记忆网络是一种特殊的循环神经网络,可以解决长句依赖问题。

 
一个标准循环神经网络中的重复模块包含一个单层
 
长短期记忆网络中的重复模块包含四个交互层
 
符号
 

在上面的图中,每一行都携带一个完整的向量,从一个节点的输出到其他节点的输入
粉红色的圆圈表示逐点操作,比如向量加法
黄色的方框表示learned神经网络层
行合并表示连接
行分叉表示内容被复制和被复制的内容去向不同位置

长短期记忆网络背后的核心思想

长短期记忆网络的关键是单元状态,即贯穿图顶部的水平线。
长短期记忆网络确实能够删除单元状态的信息或添加信息到单元状态,这是由称为门的结构仔细控制的。
门是一种可选地让信息通过的方法。它们由sigmoid神经网络层和逐点乘法运算组成。
sigmoid层输出0到1之间的数字,描述每个component应该允许通过的数量。
0的值表示“不让任何东西通过”
1的值表示“让所有东西通过!”

长短期记忆一步步讲解

忘记

决定要从单元状态中丢弃什么信息。
这个决定是由一个叫做“忘记门”的sigmoid层做出的。
1表示“完全保留这个”
0表示“完全丢弃这个”

 
根据上一时刻的单元状态的输出和当前时刻的输入决定忘记多少旧的

记住

决定要在单元格状态中记住什么新信息。
1、一个名为“输入门层”的sigmoid层决定要更新哪些值。
2、tanh层创建一个新的候选值向量,可以将其添加到状态中。

 
记住什么新的

更新

更新单元状态

输出

决定要输出什么
此输出将基于单元状态,但将是经过筛选的版本。
1、运行一个sigmoid层,它决定我们要输出的单元状态的哪些部分
2、把单元状态输入到tanh(将值推到-1和1之间),将其乘以sigmoid门的输出
这样只输出决定要输出的部分。

 
输出什么

长短期记忆的变体

peephole连接

Gers & Schmidhuber (2000)
添加peephole连接,门层观察单元状态
图中在所有的门上都加了窥视孔
但是很多论文只会给出一些窥视孔,而不会给出其他的。

peephole连接

coupled 忘记和输入门

不是单独决定忘记什么和应该添加什么新信息,而是一起做这些决定。
当且仅当要记住什么的时候才会忘记
当且仅当要忘记什么的时候才会记住

 
coupled 忘记和输入门

Gated Recurrent Unit

Cho, et al. (2014)
将忘记和输入门组合成一个“更新门”。
它还融合了单元状态和隐藏状态,并做了一些其他的改变。
得到的模型比标准长短期记忆模型更简单,并且越来越流行。

Gated Recurrent Unit

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zzz的学习笔记本

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值