LSTM 简介

xiaoxiao2021-02-28  116

1. 简介

LSTM, Long-Short Term Memory RNN. 长短期记忆模型循环神经网络. LSTM属于RNN, 是它的一种特殊实现.

2. Long-Short Term Memory

short term memory 对于当前的任务, 有时我们只需考虑最近的信息, 看下面的填空,

" the clouds are in the __sky__"

这是常识, 不需要更远的前文环境. 图2-1 short term memory

long term memory 再看一个填空的例子, 最后一句话中, 要填的很可能是一种语言, 但应该是哪种语言呢? 往前追溯到第一句话, 可由 France 推断出是 French.

"I grew up in France. ... .I speak fluent __French__."

这个例子中, 相关信息 和 需要它的点 之间的距离很远. 图2-2 long term

RNN在short-term上表现不错, 但long-term就不理想了, 所以有人提出了LSTM. 它被广泛地运用, 并在相当多的问题上表现得惊人的好!

图2-3 含有4个交互层的 LSTM重复模型

3. 组件

图3-1 LSTM网络及标注示意

LSTM的关键是细胞状态 .

顶部直线 穿过图表上方的水平直线, 直接在整个链上运行,只有一些小的线性相互作用, 让信息在流动的同时保持不变性。

阀门 LSTM有能力向细胞状态中添加或移除信息, 这通过精细调整叫阀门的结构来实现. 阀门可以让信息有选择地通过. 它们由一个S形网络层和一个逐点乘法操作组成. S形网络层输出[0,1]的一个数, 描述应该让每个组件通过多少信息. 0就是什么也不让通过, 1就是每个信息都可以通过. 一个LSTM含有三个这样的阀门, 来保护和控制细胞状态.

忘记阀门层 用于决定从细胞状态中扔掉哪些信息, 这由一个叫做忘记阀门层的S形网络层实现.

输入阀门层 在丢掉一些信息之后, 下一步要决定把哪些信息存储在细胞状态中.由两部分组成.

决定要更新的值创造新的候选值向量

计算细胞状态 将旧的细胞状态 Ct1 更新为新的状态 Ct .

输出阀门层 首先, 我们会运行一个s网络层, 用于决定细胞状态的哪些部分会被输出. 然后将细胞状态作 tanh运算, 得到[-1,1]的值,

参考

colah’s blog, Understanding-LSTM 机器之心:LSTM入门必读:从入门基础到工作方式详解
转载请注明原文地址: https://www.6miu.com/read-23662.html

最新回复(0)