循环神经网络(RNN)
要了解 LTSM,首先要了解 RNN。
相似人类的思考,人素来都不会从头思考,而是从已有的常识上再做深刻的思考。
而传统的神经网络并不可能实现这一点,所以循环神经网络很好的解决了这个问题。
循环神经网络(RNN)
是一种循环的网络,他能够是信息长久存在。
RNN 曾经宽泛应用到如:语音辨认,语言建模,翻译,图像字幕等泛滥的畛域,而获得这些成就的要害就是 LTSM 网络模型,它的呈现使许多工作都比规范模型要好很多。
长期依赖问题
RNN 的一个特点就是可能应用后面的信息。然而有时候,咱们的所需信息和相干信息之间的差距很小,这样就不须要上下文的帮忙。而相同,有时候所需信息又会与相干信息之间差距很大,这样就须要很多上下文的辅助。
实践上,RNN 是能够实现这样的 长期依赖问题
,然而实际上,RNN 齐全不能学习他们。而 LTSM 齐全没有问题。
长短期记忆网络(LTSM)
LTSM
是一种非凡的 RNN 模型,它能够学习长期依赖问题。
所有的递归神经网络都具备神经网络的反复模块链的模式。在规范 RNN 中,此反复模块将具备非常简单的构造,例如单个 tanh 层。
LSTM 也具备这种链状构造,然而反复模块具备不同的构造。而不是只有一个神经网络层,而是有四个以十分非凡的形式进行交互。
LSTMs 的要害是单元状态,即贯通图顶部的水平线。单元状态有点像传送带。它沿着整个链条直行,只有一些渺小的线性相互作用。信息很容易就这样变化无穷地流动。
LSTM 的确有能力移除或向细胞状态增加信息,这些信息由称为 门
的构造认真调节。门
是一种选择性地让信息通过的形式。它们由一个 sigmoid 神经网络层和一个逐点乘法运算组成。
LTSM 步骤
1. 确定要从单元状态中抛弃的信息
2. 确定要在单元状态下存储哪些新信息
首先,一个称为“输出门层”的 S 形层决定了咱们将更新哪些值。接下来,tanh 层创立一个新候选值的向量。能够将其增加到状态中。在下一步中,咱们将两者联合起来以创立状态更新。
3. 该更新旧单元格状态了
4. 决定要输入的内容
此输入将基于咱们的单元状态,但将是过滤后的版本。
对于语言模型示例,因为它只是看到一个主语,因而可能要输入与动词相干的信息,以防万一。例如,它可能输入主语是复数还是复数,以便咱们晓得如果接下来是动词,则应将动词以哪种模式共轭。
相干参考:
http://colah.github.io/posts/2015-08-Understanding-LSTMs/