LSTM及RNN简单总结

RNN及LSTM

RNN可以记住之前的信息,将当前信息联系到之前的信息,比如预测“the cloud are in the sky”最后的词,我们并不需要其他的上下文就能知道是sky,这种场景中,相关信息和预测距离比较近,因此RNN可以有效利用先前的信息。
但是当信息距离比较长,比我我们看的一些电影,在前部份埋下伏笔,最后破案的过程中发现原来这地方是这个原因,原来如此,间隔非常远,如果用rcnn,由于信息距离较远,梯度消失,RNN会丧失学习到连接如此远的信息的能力。

LSTM(Long Short Term Memory)是一种RNN的特殊类型,可以学习长期依赖信息,在LSTM中有四种结构,来进行交互。
LSTM中对细胞状态进行一定的处理,通过“门”让信息选择性通过,来去除或者增加信息到细胞状态。
四种门结构:
* 忘记门
细胞状态可能包括单钱主语的类别,当我们看到新的代词,我们希望忘记旧的代词
* 决定放什么信息到“细胞状态”中
sigmoid层决定什么值需要更新,tanh层创建一个新的候选值向量
* 更新细胞状态
更新 Ct1 C t − 1 Ct C t ,把旧状态与 ft f t 相乘,丢弃掉我们确定需要丢弃的信息,加上 itCt i t ∗ C t ∗ ,这就是新的候选值,根据我们决定更新每个状态的程度进行变化
* 基于细胞状态得到输出
首先运行一个sigmoid层来决定细胞状态的哪个部分输出
接着用tanh处理细胞状态,得到(-1,1)之间值,再将他和sigmoid门的输出相乘,输出我们确定输出的那部分
比我我们可能需要单复数信息来确定是输出“他”还是“他们”;

你可能感兴趣的:(机器学习)