循环神经网络RNN

1.为何在序列模型使用CNN等神经网络效果很差

  • 序列数据先后之间是有很强的关联性web

    如:曾经有一份真挚的感情,摆在我面前,我没有去?_
  • 序列数据的输入输出长度不固定算法

2.介绍一下RNN:

(1)循环(递归)神经网络(RNN)是神经网络的一种。(2)它包括输入层、中间隐藏层以及输出层。(3)RNN将状态在自身网络中循环传递,主要用来处理时间序列数据。(4)在时间上共享参数U、V和W
(5)rnn的类型:一对一:固定的输入到输出,如图像分类
一对多:固定的输入到序列输出,如图像的文字描述
多对一:序列输入到输出,如情感分析,分类正面负面情绪
多对多:序列输入到序列的输出,如机器翻译,称之为编解码网络
同步多对多:同步序列输入到同步输出,如文本生成,视频每一帧的分类,也称之为序列生成
(6)因为RNN容易出现梯度爆炸、梯度消失的问题,演变出了RNN的变体LSTM、GRU。网络

3 RNN的图

在这里插入图片描述
在这里插入图片描述

4 RNN的前向传播:

在这里插入图片描述

4 交叉熵损失

在这里插入图片描述

5 时序反向传播算法(BPTT)(重要)

对于RNN来讲有一个时间概念,须要把梯度沿时间通道传播的 BP 算法,因此称为Back Propagation Through Time-BPTT
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述svg

梯度爆炸 消失

在这里插入图片描述