理解长短期记忆网络

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解长短期记忆网络相关的知识,希望对你有一定的参考价值。

参考技术A Understanding LSTM Networks

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

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

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

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

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

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

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

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

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

以上是关于理解长短期记忆网络的主要内容,如果未能解决你的问题,请参考以下文章

LSTM(长 短期记忆网络)简单理解

机器学习面试题:LSTM长短期记忆网络的理解?LSTM是怎么解决梯度消失的问题的?还有哪些其它的解决梯度消失或梯度爆炸的方法?

长短记忆神经网络

理解 LSTM 网络

Matlab基于长短期记忆网络分类LSTM实现多分类预测(Excel可直接替换数据)

Matlab基于长短期记忆网络分类LSTM实现多分类预测(Excel可直接替换数据)