# 循环神经网络 ## RNN结构 RNN结构如下: ![rnn](https://img.zeekling.cn/images/2020/04/25/rnn1.png) - 左侧是RNN的原始结构, 右侧是RNN在时间上展开的结果 - RNN的结构,本质上和全连接网络相同 ![rnn](https://img.zeekling.cn/images/2020/04/25/rnn2.gif) ## LSTM 网络 LSTM 同样是这样的结构,但是重复的模块拥有一个不同的结构。不同于单一神经网络层,这里是有四个,以一种非常特殊的方式进行交互。 ![SLTM](https://img.zeekling.cn/images/2020/04/25/005BVyzmly1fotnatxsm7j30jg07bjsi.jpg) ### 遗忘门 在我们 LSTM 中的第一步是决定我们会从细胞状态中丢弃什么信息。这个决定通过一个称为忘记门层完成。该门会读取ht−1和xt,输出一个在 0到 1之间的数值给每个在细胞状态 Ct−1 中的数字。1 表示“完全保留”,0 表示“完全舍弃”。 ![遗忘门](https://img.zeekling.cn/images/2020/04/25/005BVyzmly1fotoa9sgm5j30jg06074q.jpg) ### 输入门 我们把旧状态与ft相乘,丢弃掉我们确定需要丢弃的信息。接着加上it∗C~t。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。 ![输入门](https://img.zeekling.cn/images/2020/04/25/005BVyzmly1fotoftw50ij31eq0fomz4.jpg) ### 输出门 在语言模型的例子中,因为他就看到了一个 代词,可能需要输出与一个 动词 相关的信息。例如,可能输出是否代词是单数还是负数,这样如 果是动词的话,我们也知道动词需要进行的词形变化。 ![输出门](https://img.zeekling.cn/images/2020/04/25/005BVyzmly1fotoky28zbj30jg06074w.jpg)