RNN循环神经网络

07 Nov 2018

在循环神经网络(RNN)中,前一个网络状态会影响输出,所以它可以处理依赖“时间线”的问题. 上一个网络层输出作为下一个网络的输入,如此循环. 换句话说,RNN是一个输入为 输入向量 和 前一个状态 的函数.

应用场景

如下是循环神经网络在不同场景使用时的输入、输出情况.红色的方块是输入,蓝色的是输出,绿色的是中间隐藏层(RNN单元).

RNN网络结构


如下,我们描述如何给RNN添加“深度”,还有在 时间线 上如何展开(unroll)RNN.可以观察到RNN的输出喂给更深一层的RNN,而它的 隐藏状态 喂给新的RNN.

描述图片


如果你把卷积神经网络(CNN)和循环神经网络(RNN)链接起来. RNN就可以描述它所见的图片 一般,我们会使用一个预训练(pre-trained)的CNN(比如:VGG,RES)并把它第二个全链接层连接到RNN,然后你就可以开始训练这个模型了.

RNN网络单元结构

RNN有多种单元结构,最原始的RNN结构

还有LSTM,目前用得比较多的RNN单元结构 详见下一篇介绍

reference: Recurrent Neural Networks