计算机系统应用教程网站

网站首页 > 技术文章 正文

#一天一个AI知识点# 什么是LSTM? #lstm有什么用

btikc 2024-11-01 11:24:59 技术文章 10 ℃ 0 评论

在上一篇文章,我们介绍了RNN。我们知道了循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络,而LSTM是一种 RNN 特殊的类型,可以学习长期依赖信息。今天我们就来了解下什么是LSTM。

名词解释

长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。

LSTM 由Hochreiter & Schmidhuber (1997)提出,并在近期被Alex Graves进行了改良和推广。在很多问题,LSTM 都取得相当巨大的成功,并得到了广泛的使用。

LSTM 通过刻意的设计来避免长期依赖问题。

LSTM结构(图右)和普通RNN的主要输入输出区别如下所示。

相比RNN只有一个传递状态 ,LSTM有两个传输状态,一个 (cell state),和一个 (hidden state)。(Tips:RNN中的 对于LSTM中的

其中对于传递下去的 改变得很慢,通常输出的 是上一个状态传过来的 加上一些数值。

则在不同节点下往往会有很大的区别。

LSTM 的核心思想

LSTM 的关键就是细胞状态,水平线在图上方贯穿运行。

细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。

LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个按位的乘法操作。

Sigmoid 层输出 之间的数值,描述每个部分有多少量可以通过。 代表“不许任何量通过”, 就指“允许任意量通过”!

LSTM 拥有三个门,来保护和控制细胞状态。

LSTM内部主要有三个阶段:

1. 忘记阶段。这个阶段主要是对上一个节点传进来的输入进行选择性忘记。简单来说就是会 “忘记不重要的,记住重要的”。

具体来说是通过计算得到的 (f表示forget)来作为忘记门控,来控制上一个状态的 哪些需要留哪些需要忘。

2. 选择记忆阶段。这个阶段将这个阶段的输入有选择性地进行“记忆”。主要是会对输入 进行选择记忆。哪些重要则着重记录下来,哪些不重要,则少记一些。当前的输入内容由前面计算得到的 表示。而选择的门控信号则是由 (i代表information)来进行控制。

将上面两步得到的结果相加,即可得到传输给下一个状态的 。也就是上图中的第一个公式。

3. 输出阶段。这个阶段将决定哪些将会被当成当前状态的输出。主要是通过 来进行控制的。并且还对上一阶段得到的 进行了放缩(通过一个tanh激活函数进行变化)。

与普通RNN类似,输出 往往最终也是通过 变化得到。


LSTM通过门控状态来控制传输状态,记住需要长时间记忆的,忘记不重要的信息;而不像普通的RNN那样只能够“呆萌”地仅有一种记忆叠加方式。对很多需要“长期记忆”的任务来说,尤其好用。

但也因为引入了很多内容,导致参数变多,也使得训练难度加大了很多。因此很多时候我们往往会使用效果和LSTM相当但参数更少的GRU来构建大训练量的模型。

通过以上的学习,你是否大致了解LSTM了呢?要真正搞懂,是需要深入学习的哦

原文地址:http://blog.csdn.net/u014422406/article/details/52806430

http://www.jianshu.com/p/9dc9f41f0b29

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表