RNN系列之二 RNN模型结构
1.表示方式
RNN的表示有两种不同的绘图方式。一是计算图,如下图左,二是展开计算图,如下图右。图中,只包含了输入与隐藏状态,不包含输出。回路图中的黑色方块表示单个时间步的延迟。
---来源花书
2.前向传播
---来源Andrew Ng深度学习课件
- 符号表示:x输入,
输出,a为隐藏状态或激励值(与上图中的h对应)。
是初始隐藏状态,一般为0向量。
- 每一时刻的隐藏状态为:
- 输出为:
- 公式符号简化:
,所以有
- 一般
为tanh或者Relu,
为sigmoid(二分类)或者Softmax(多分类).
3.反向传播
---来源Andrew Ng深度学习课件
上图红色部分就是反向过程,与CNN一样,在定义好损失函数后,即可通过梯度下降进行权值更新。RNN中,。具体的推到不再进行,可以查看花书10.2.2节。
4. RNN的多种类型
在系列一中已经提及过RNN的应用领域,不同的任务必定有不同的RNN结构类型,如下图:
---来源Andrew Ng深度学习课件
(1)一对一结构,一般不作考虑,毕竟RNN是处理序列的。
(2)一对多结构,例如音乐生成,给定音乐类型,输出一段音乐。
(3)多对一结构,例如影评,给定文字描述,输出打分。
(4)多对多结构,输入的序列长度与输出的序列长度可以不一致。还有一种特殊的多对多结构,即编码-解码的结构,如下图,应用于机器翻译等领域。
---来源Andrew Ng深度学习课件