文章目录

  • 循环神经网络
  • RNN出现前
  • RNN
  • GRU
  • 双向循环神经网络
  • 深层循环神经网络

循环神经网络

RNN出现前

在RNN之前,语言模型主要是N-Gram。N是一个自然数,它的含义是假设一个词出现的概率至于前面N个词相关,我们以2-Gram为例:

我 昨天 上学 迟到 了 ,老师 批评 了 ____。

如果用2-Gram进行建模,在预测的时候,只会看到前面的『了』。然后在语料库中,搜索『了』后面最可能的一个词。如果是3-Gram模型呢,会搜索『批评了』后面最可能的词。

这样我们需要设置一个较大的N使其满足所有的句子,而模型的大小和N的关系是指数级的,4-Gram模型就会占用海量的存储空间。

如果采用标准的神经网络也会遇到类似的问题:

  • 序列长度不同不好处理
  • 需要大量的参数

循环神经网络(RNN)理论上可以关注任意多个词。

RNN

RNN由输入层、一个隐藏层和一个输出层组成。

循环神经网络神经元不仅预测,还会传递一个时间步

序列模型(sequence models)_权重

给下一神经元

序列模型(sequence models)_权重_02


当前输出

序列模型(sequence models)_权重_03

由隐藏层

序列模型(sequence models)_权重_04

计算获得,

序列模型(sequence models)_权重_04

的计算不仅与

序列模型(sequence models)_反向传播_06

有关,还取决于

序列模型(sequence models)_权重

式1是输出层的计算公式,输出层是一个全连接层,也就是它的每个节点都和隐藏层的每个节点相连。V是输出层的权重矩阵,g是激活函数。式2是隐藏层的计算公式,它是循环层。U是输入x的权重矩阵,W是上一次的值作为这一次的输入的权重矩阵,f是激活函数。

序列模型(sequence models)_循环神经网络_08

循环神经网络的前向传播如下

序列模型(sequence models)_权重_09


通过时间的反向传播,反向传播的路径刚好与前向传播相反

序列模型(sequence models)_深度学习_10


循环神经网络的种类

序列模型(sequence models)_反向传播_11

GRU

GRU是给记忆细胞的新候选值加一个门

序列模型(sequence models)_反向传播_12


LSTM包含三个门,更新门、遗忘门、输出门

序列模型(sequence models)_序列模型_13

双向循环神经网络

双向循环神经网络使得预测可以接受未来的信息

序列模型(sequence models)_深度学习_14

深层循环神经网络

序列模型(sequence models)_权重_15

via
​​​第五门课 序列模型(Sequence Models)​​​​零基础入门深度学习(5) - 循环神经网络​