1.定义
RNN (Recurrent Neural Network,RNN)循环卷积神经网络,用于处理序列数据。
序列数据:按照一定的顺序排列的数据,可以是时间顺序、空间顺序、逻辑顺序。
eg:电影、语言
2.特点
传统神经网络模型无法处理可变长度的输入。
传统神经网络模型
传统神经网络模型无法处理可变长度的输入,但是RNN通过循环的方式对当前输入和历史输入进行处理。
RNN输入示意图
3.应用
- 对序列数据预测。股票、价格、语言进行预测
- 结合CNN对静态图像的动态内容进行描述。
- 例子:猫咪喝水,CNN识别静态图像的元素,RNN根据语言序列关系输出图片动态内容的描述。
- 推荐论文1:
- 标题:《Deep Visual-Semantic Alignments for Generating Image Descriptions
- 链接:https:/arxiv.org/abs/1412.2306
- 推荐论文2:
- 标题:《Deep Learning for VideoClassification andCaptioning》
- 链接:https://arxiv.org/abs/1412.2306https://arxiv.org/pdf/1609.06782.pdfhttps://arxiv.org/abs/1412.2306
RNN举例------猫咪喝水
4.RNN模型扩展------LSTM模型
- 简单RNN模型
简单RNN模型就是上述讲的历史状态+现在值作为输入的模型,这种模型缺点是会出现梯度爆炸或梯度消失,为了缓解这种问题出现了LSTM模型。
- 梯度爆炸:在链式求导和激活函数综合影响下,梯度值过大,导致权重更新过大不可用。
- 梯度消失:在链式求导和激活函数综合影响下,梯度值趋近于0,导致权重过小不可用。
- LTSM模型
LSTM模型对于记忆状态进行过滤和新增给出输出,它相比于传统的RNN模型降低了梯度消失和爆炸的可能。
- 组成:记忆状态,三个sigmoid函数,两个tanH函数。
- 组成介绍:sigmoid区间0-1,可以控制信息的流量。三个sigmoid函数分别控制遗忘门、输入门、输出门的信息流量。tanH区间-1~1,可以控制信息的增减,分别在输入门和输出门和sigmoid函数共同作用。
- 具体流程:当前输入与第一个sigmoid函数结合确定有多少历史记忆状态需要过滤掉,然后将过滤后的历史状态与当前输入的某些信息相结合(第2个sigmoid函数和tanH控制是信息流量和增减情况),得到新的记忆状态。
LTSM模型示意图