循环神经网络(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://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。