5.1循环序列模型

觉得有用的话,欢迎一起讨论相互学习~Follow Me

1.3循环神经网络模型

为什么不使用标准的神经网络

  • 假如将九个单词组成的序列作为输入,通过普通的神经网网络输出输出序列,
    1. 在不同的例子中输入数据和输出数据具有不同的长度,即每个数据不会有一样的长度

      • 也许每个语句都有最大长度,能够通过Padding 的方式填充数据,但总体来说不是一个好的表达方式。
    2. 不共享从文本的不同位置上学到的特征
      • 例如普通神经网络可以学习到Harry这个单词出现在x<1>的位置,但是如果Harry这个单词出现在x<4>的位置,普通的神经网络不能识别的出来。
    3. 输入量巨大,如果词典中最大的单词量是1W的话,则单词的one-hot表示向量将是一个1W维的数据。而一个训练语句中的单词数为Tx,则输入数据的维度为Tx1W此数据维度是十分巨大的。
      [DeeplearningAI笔记]序列模型1.3-1.4循环神经网络原理与反向传播公式

循环神经网络模型

[DeeplearningAI笔记]序列模型1.3-1.4循环神经网络原理与反向传播公式

a<0>=0

a<1>=g(Waaa<0>+WaxX<1>+ba)

//g线(Tanh/ReLU)

y^<1>=g(Wyaa<1>+by)

//g线,g(Sigmoid)

a<Tx>=g(Waaa<Tx1>+WaxX<Tx>+ba)

y^<Tx>=g(Wyaa<Tx>+by)

[DeeplearningAI笔记]序列模型1.3-1.4循环神经网络原理与反向传播公式

简化循环神经网络数学公式

  • WaaWaxWaa<t1>X<t>[a<t1>,X<t>]
    具体如下图所示:
    [DeeplearningAI笔记]序列模型1.3-1.4循环神经网络原理与反向传播公式

1.4通过时间的反向传播Backpropagation through time

[DeeplearningAI笔记]序列模型1.3-1.4循环神经网络原理与反向传播公式