LSTM网络(Long Short-Term Memory )

本文基于前两篇,多层感知机及其BP算法(Multi-Layer Perceptron) 与 递归神经网络(Recurrent Neural Networks,RNN)

RNN 有一个致命的缺陷,传统的 MLP 也有这个缺陷,看这个缺陷之前,先祭出 RNN 的 反向传导公式与 MLP 的反向传导公式:

\[RNN : \ \delta_h^t = f‘(a_h^t) \left (\sum_k\delta_k^tw_{hk} + \sum_{h‘} \delta^{t+1}_{h‘}w_{hh‘}   \right )\]

\[MLP : \ \delta_h =   f‘(a_h) \sum_{h‘=1}^{h_{l+1}} w_{hh‘}\delta_{h‘}\]

注意,残差在时间维度上反向传递时,每经过一个时刻,就会导致信号的大幅度衰减,为啥呢,就是因为这个非线性激活函数 $f$ ,一般这个函数的形状如下图:

如上图所示,激活函数 $f$ 在在红线以外的斜度变化很小,所以函数 $f$ 的导数 $f‘$ 取值很小,而经过以上列出的残差反向传递公式可以得出,每经过一个时刻,衰减 $f‘$ 的数量级,所以经过多个时刻会导致时间维度上梯度呈指数级的衰减,即此刻的反馈信号不能影响太遥远的过去 。因此,虽然 RNN 理论上可以处理任意长度的序列,但实习应用中,RNN 甚至很难处理长度超过 10 的序列。下图形象的描绘了这种梯度消失的现象

可见,对于 $t=1$  ,其受到的来自于 $t >1$   时刻的反馈越来越小,由图中的颜色的深浅代表反馈信号的大小。为了解决这种梯度消失的现象,学者们研究了众多方法,其中 Long Short-Term Memory 表现最为出色。

时间: 2024-11-06 09:38:55

LSTM网络(Long Short-Term Memory )的相关文章

Stanford NLP 第六课: Long Short Term Memory

RNN存在着梯度消失的问题, 难以学习长期的依赖关系.如何解决RNN的梯度消失问题? Long  Short Term Memory (LSTM) 就是解决这个问题的. 上图是LSTM的一个整体结构.下面是LSTM的细节.下面的整个模块可以看成是一个Memory Cell.Cell的输入有三个, C_t-1, h_t-1, x_t, 输出有两个C_t, h_t; 三个门控组件.输入门i_t, 遗忘门f_t, 输出门o_t. 新的记忆 c^_t,  空心圆圈表示元素级相乘. 一个更加细节一点的示意

Deep Learning基础--理解LSTM网络

循环神经网络(RNN) 人们的每次思考并不都是从零开始的.比如说你在阅读这篇文章时,你基于对前面的文字的理解来理解你目前阅读到的文字,而不是每读到一个文字时,都抛弃掉前面的思考,从头开始.你的记忆是有持久性的. 传统的神经网络并不能如此,这似乎是一个主要的缺点.例如,假设你在看一场电影,你想对电影里的每一个场景进行分类.传统的神经网络不能够基于前面的已分类场景来推断接下来的场景分类. 循环神经网络(Recurrent Neural Networks)解决了这个问题.这种神经网络带有环,可以将信息

理解LSTM网络--Understanding LSTM Networks(翻译一篇colah's blog)

colah的一篇讲解LSTM比较好的文章,翻译过来一起学习,原文地址:http://colah.github.io/posts/2015-08-Understanding-LSTMs/ ,Posted on August 27, 2015. Recurrent Neural  Networks 人类思维具有连贯性.当你看这篇文章时,根据你对前面词语的理解,你可以明白当前词语的意义.即是由前面的内容可以帮助理解后续的内容,体现了思维的连续性. 传统的神经网络(RNN之前的网络)在解决任务时,不能做

『cs231n』RNN之理解LSTM网络

概述 LSTM是RNN的增强版,1.RNN能完成的工作LSTM也都能胜任且有更好的效果:2.LSTM解决了RNN梯度消失或爆炸的问题,进而可以具有比RNN更为长时的记忆能力.LSTM网络比较复杂,而恰好找到一篇不错的介绍文章,和课程的讲述范围差不多,所以这里摘下来(自己截图记录好麻烦),另外找到一篇推了公式的LSTM介绍,这个cs231n的课程并没有涉及,我暂时也不做这方面的研究,不过感觉内容不错,链接记下来以备不时之需. 本篇原文链接 RNN以及LSTM的介绍和公式梳理 按照老师的说法,LST

理解 LSTM 网络

Neil Zhu,简书ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程.制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量. 作为行业领导者,他和UAI一起在2014年创建了TASA(中国最早的人工智能社团), DL Center(深度学习知识中心全球价值网络),AI growth(行业智库培训)等,为中国的人工智能人才建设输送了大量的血液和养分.此外,他还参与或者举办过各类国际性的人工智

基于 Keras 用 LSTM 网络做时间序列预测

基于 Keras 用 LSTM 网络做时间序列预测 本文主要参考了 Jason Brownlee 的博文 Time Series Prediction with LSTM Recurrent Neural Networks in Python with Keras 原文使用 python 实现模型,这里是用 R 时间序列预测是一类比较困难的预测问题. 与常见的回归预测模型不同,输入变量之间的"序列依赖性"为时间序列问题增加了复杂度. 一种能够专门用来处理序列依赖性的神经网络被称为 递归

PyTorch 1.0 中文官方教程:序列模型和LSTM网络

译者:ETCartman 之前我们已经学过了许多的前馈网络. 所谓前馈网络, 就是网络中不会保存状态. 然而有时 这并不是我们想要的效果. 在自然语言处理 (NLP, Natural Language Processing) 中, 序列模型是一个核心的概念. 所谓序列模型, 即输入依赖于时间信息的模型. 一个典型的序列模型是隐马尔科夫模型 (HMM, Hidden Markov Model). 另一个序列模型的例子是条件随机场 (CRF, Conditional Random Field). 循

长期和短期记忆(LSTM)网络是最先进的长期序列建模工具

最近哪里都去不了,还是在家学习点什么好,人工智能最近很火,来学学吧.长期和短期记忆(LSTM)网络是最先进的长期序列建模工具.然而,很难理解LSTM学到了什么,也很难研究他们犯某些错误的原因.卷积神经网络领域有很多文章和论文,但是我们没有足够的工具来可视化和调试LSTM. 在本文中,我们试图部分填补这一空白.我们从澳大利亚手语符号分类模型可视化LSTM网络的激活行为,并通过在LSTM层的激活单元上训练降噪自编码器来实现这一点.通过使用密集的自编码器,我们将LSTM激活值的100维向量投影到二维和

Tensorflow进行POS词性标注NER实体识别 - 构建LSTM网络进行序列化标注

http://blog.csdn.net/rockingdingo/article/details/55653279  Github下载完整代码 https://github.com/rockingdingo/deepnlp/tree/master/deepnlp/pos 简介 这篇文章中我们将基于Tensorflow的LSTM模型来实现序列化标注的任务,以NLP中的POS词性标注为例实现一个深度学习的POS Tagger.文中具体介绍如何基于Tensorflow的LSTM cell单元来构建多