1.为什么在序列模型使用CNN等神经网络效果不好
-
序列数据前后之间是有很强的关联性
如:曾经有一份真挚的感情,摆在我面前,我没有去?_
-
序列数据的输入输出长度不固定
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