文章目录
- 循环神经网络
- RNN出现前
- RNN
- GRU
- 双向循环神经网络
- 深层循环神经网络
循环神经网络
RNN出现前
在RNN之前,语言模型主要是N-Gram。N是一个自然数,它的含义是假设一个词出现的概率至于前面N个词相关,我们以2-Gram为例:
我 昨天 上学 迟到 了 ,老师 批评 了 ____。
如果用2-Gram进行建模,在预测的时候,只会看到前面的『了』。然后在语料库中,搜索『了』后面最可能的一个词。如果是3-Gram模型呢,会搜索『批评了』后面最可能的词。
这样我们需要设置一个较大的N使其满足所有的句子,而模型的大小和N的关系是指数级的,4-Gram模型就会占用海量的存储空间。
如果采用标准的神经网络也会遇到类似的问题:
- 序列长度不同不好处理
- 需要大量的参数
循环神经网络(RNN)理论上可以关注任意多个词。
RNN
RNN由输入层、一个隐藏层和一个输出层组成。
循环神经网络神经元不仅预测,还会传递一个时间步
给下一神经元
当前输出
由隐藏层
计算获得,
的计算不仅与
有关,还取决于
式1是输出层的计算公式,输出层是一个全连接层,也就是它的每个节点都和隐藏层的每个节点相连。V是输出层的权重矩阵,g是激活函数。式2是隐藏层的计算公式,它是循环层。U是输入x的权重矩阵,W是上一次的值作为这一次的输入的权重矩阵,f是激活函数。
循环神经网络的前向传播如下
通过时间的反向传播,反向传播的路径刚好与前向传播相反
循环神经网络的种类
GRU
GRU是给记忆细胞的新候选值加一个门
LSTM包含三个门,更新门、遗忘门、输出门
双向循环神经网络
双向循环神经网络使得预测可以接受未来的信息
深层循环神经网络
via
第五门课 序列模型(Sequence Models)零基础入门深度学习(5) - 循环神经网络