卷积神经网络(cnn)、反向传播和lstm(长短期记忆网络)
Lstm的全称是long short-term memory 长短期记忆,其本质上是特殊的递归神经网络。为了运用时间维度上的信息,人们设计了递归神经网络(循环神经网络)(Rnn,recurrent neural network),但是Rnn无法很好的处理长期依赖问题,只能处理需要的较为接近上下文的情况。与此同时RNN也易出现梯度消失和梯度爆炸问题。
Lstm从设计之初就是为了解决一般神经网络中普遍存在的长期依赖问题使用LSTM可以有效的传递和表达长时间序列中的信息并且不会导致长时间前的有用信息被忽略(遗忘)。与此同时,LSTM还可以解决RNN中的梯度消失/爆炸问题。
LSTM的设计者提出了“长短期记忆”的概念——只有一部分的信息需要长期的记忆,而有的信息可以不记下来。同时,我们还需要一套机制可以动态的处理神经网络的“记忆”,因为有的信息可能一开始价值很高,后面价值逐渐衰减,这时候我们也需要让神经网络学会“遗忘”特定的信息
不同时间的输入x,隐藏状态(短期记忆)s,网络输出y
隐藏状态s和日记本c之间的关系
根据昨天的记忆St-1和今天的输入xt决定要修改日记中的那些内容
昨天的短时记忆和昨天的日记本加上今天的输入决定今天的日记本
今天的日记本加上昨天的短时记忆和今天的输入生成今天的短时记忆
lstm深度发掘了数据上的有趣关联,在某种程度上模拟了大脑,仅关注重要片段而忽略无关信息
忘记门:将值朝0减少
输入门:决定是不是忽略掉数据
输出门:决定是不是使用隐藏状态