概述
RNN及LSTM
RNN可以记住之前的信息,将当前信息联系到之前的信息,比如预测“the cloud are in the sky”最后的词,我们并不需要其他的上下文就能知道是sky,这种场景中,相关信息和预测距离比较近,因此RNN可以有效利用先前的信息。
但是当信息距离比较长,比我我们看的一些电影,在前部份埋下伏笔,最后破案的过程中发现原来这地方是这个原因,原来如此,间隔非常远,如果用rcnn,由于信息距离较远,梯度消失,RNN会丧失学习到连接如此远的信息的能力。
LSTM(Long Short Term Memory)是一种RNN的特殊类型,可以学习长期依赖信息,在LSTM中有四种结构,来进行交互。
LSTM中对细胞状态进行一定的处理,通过“门”让信息选择性通过,来去除或者增加信息到细胞状态。
四种门结构:
* 忘记门
细胞状态可能包括单钱主语的类别,当我们看到新的代词,我们希望忘记旧的代词
* 决定放什么信息到“细胞状态”中
sigmoid层决定什么值需要更新,tanh层创建一个新的候选值向量
* 更新细胞状态
更新
Ct−1
C
t
−
1
为
Ct
C
t
,把旧状态与
ft
f
t
相乘,丢弃掉我们确定需要丢弃的信息,加上
it∗C∗t
i
t
∗
C
t
∗
,这就是新的候选值,根据我们决定更新每个状态的程度进行变化
* 基于细胞状态得到输出
首先运行一个sigmoid层来决定细胞状态的哪个部分输出
接着用tanh处理细胞状态,得到(-1,1)之间值,再将他和sigmoid门的输出相乘,输出我们确定输出的那部分
比我我们可能需要单复数信息来确定是输出“他”还是“他们”;
最后
以上就是鲤鱼大碗为你收集整理的LSTM及RNN简单总结RNN及LSTM的全部内容,希望文章能够帮你解决LSTM及RNN简单总结RNN及LSTM所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复