RNN系列之二 RNN模型结构

1.表示方式

    RNN的表示有两种不同的绘图方式。一是计算图,如下图左,二是展开计算图,如下图右。图中,只包含了输入与隐藏状态,不包含输出。回路图中的黑色方块表示单个时间步的延迟。

     RNN系列之二 RNN模型结构

                                                                                    ---来源花书

2.前向传播

RNN系列之二 RNN模型结构

                                                                                    ---来源Andrew Ng深度学习课件

  • 符号表示:x输入,RNN系列之二 RNN模型结构输出,a为隐藏状态或激励值(与上图中的h对应)。RNN系列之二 RNN模型结构是初始隐藏状态,一般为0向量。
  • 每一时刻的隐藏状态为:RNN系列之二 RNN模型结构
  • 输出为:RNN系列之二 RNN模型结构
  • 公式符号简化:RNN系列之二 RNN模型结构     RNN系列之二 RNN模型结构,所以有RNN系列之二 RNN模型结构
  • 一般RNN系列之二 RNN模型结构为tanh或者Relu,RNN系列之二 RNN模型结构为sigmoid(二分类)或者Softmax(多分类).

3.反向传播

RNN系列之二 RNN模型结构

                                                                              ---来源Andrew Ng深度学习课件

    上图红色部分就是反向过程,与CNN一样,在定义好损失函数后,即可通过梯度下降进行权值更新。RNN中,RNN系列之二 RNN模型结构。具体的推到不再进行,可以查看花书10.2.2节。

4. RNN的多种类型

    在系列一中已经提及过RNN的应用领域,不同的任务必定有不同的RNN结构类型,如下图:

RNN系列之二 RNN模型结构

                                                                                          ---来源Andrew Ng深度学习课件

    (1)一对一结构,一般不作考虑,毕竟RNN是处理序列的。

    (2)一对多结构,例如音乐生成,给定音乐类型,输出一段音乐。

    (3)多对一结构,例如影评,给定文字描述,输出打分。

    (4)多对多结构,输入的序列长度与输出的序列长度可以不一致。还有一种特殊的多对多结构,即编码-解码的结构,如下图,应用于机器翻译等领域。

RNN系列之二 RNN模型结构


                                                                                                        ---来源Andrew Ng深度学习课件