Long Short Term Memory networks
- Abstract
- **循环神经网络(Recurrent Neural Networks)**
- **长期依赖性问题(The Problem of Long-Term Dependencies)**
- **LSTM 网络(LSTM Networks)**
- **LSTM 背后的核心理念(The Core Idea Behind LSTMs)**
- **分步 LSTM 演练**(**Step-by-Step LSTM Walk Through**)
- **长期短期记忆的变体(Variants on Long Short Term Memory)**
- **结论(Conclusion)**
- 致谢(**Acknowledgments**)
- 参考文献
Abstract
- 声明:本文只为我闲暇时候学习所做笔记,仅供我无聊时复习所用,若文中有错,误导了读者,敬请谅解!!!
- 参见我的语雀: Long Short Term Memory networks (LSTM)
循环神经网络(Recurrent Neural Networks)
人类不是从零开始思考的。当你读这篇文章时,你根据你对以前单词的理解来理解每个单词。你不会扔掉所有东西,重新开始思考。你的思想是坚持的。
传统的神经网络不能做到这一点,这似乎是一个重大的缺点。例如,假设您要对影片中每个点发生的事件进行分类。目前还不清楚传统神经网络如何利用它对电影中先前事件的推理来告知以后的事件。
循环神经网络解决了这个问题。它们是具有循环的网络,允许信息持久化。
循环神经网络具有环路
**
在上图中,神经网络的一块_A_,查看一些输入_Ⅹ_t 并输出值 ht. 循环允许信息从网络的一个步骤传递到下一个步骤。
这些循环使循环神经网络看起来有点神秘。但是,如果您想得更多一些,结果证明它们与普通神经网络没有完全不同。可认为循环神经网络是同一网络的多个副本,每个副本将消息传递给后续网络。考虑如果我们展开循环会发生什么情况:
展开的循环神经网络
这种链状性质揭示了循环神经网络与序列和列表密切相关。它们是用于此类数据的神经网络的自然体系结构。
他们肯定被使用!在过去几年中,将RNN应用于各种问题取得了令人难以置信的成功:语音识别、语言建模、翻译、图像字幕…列表继续。我将离开讨论惊人的壮举,人们可以实现与RNN安德烈·卡帕西的优秀博客文章,经常性神经网络的不合理有效性(The Unreasonable Effectiveness of Recurrent Neural Networks)。但是他们真的非常惊人。
这些成功的关键是使用"LSTM",这是一种非常特殊的循环神经网络,对于许多任务来说,它比标准版本好得多。几乎所有基于循环神经网络的令人兴奋的结果都是通过它们实现的。本文将探讨这些 LSTM。
长期依赖性问题(The Problem of Long-Term Dependencies)
**
RNN 的吸引力之一是,它们可能能够将以前的信息连接到当前任务,例如使用以前的视频帧可能会告知对当前帧的理解。如果RNN能够做到这一点,它们将会非常有用。但是他们能吗?视情况而定。
有时,我们只需要查看最近的信息来执行当前任务。例如,考虑一个语言模型,尝试基于前面的单词预测下一个单词。如果我们试图预测"“the clouds are in the sky”我们不需要任何进一步的上下文——很明显,下一个词将是“sky”。在这种情况下,如果相关信息与所需位置之间的差距很小,RNN 可以学习使用过去的信息。
但也有一些情况下,我们需要更多的背景。考虑尝试预测文本中的最后一个词"我在法国长大…我会说流利_的法语。_最近的信息表明,下一个单词可能是一种语言的名称,但如果我们想要缩小哪种语言的范围,我们需要法国的背景,从更远的背面。相关信息与需要变得非常大的点之间的差距是完全可能的。
不幸的是,随着这种差距的扩大,RN无法学习连接信息。
从理论上讲,RN绝对能够处理这种"长期依赖关系"。人类可以仔细挑选参数,以解决这种形式的玩具问题。可悲的是,在实践中,RNN似乎无法学习它们。霍赫雷特(1991年)[德国]和本吉奥等人(1994年)深入探讨了这个问题,他们发现了一些相当基本的