其他分享
首页 > 其他分享> > 追根溯源:循环神经网络(Recurrent Neural Networks)

追根溯源:循环神经网络(Recurrent Neural Networks)

作者:互联网

关注微信公众号:NLP分享汇。【喜欢的扫波关注,每天都在更新自己之前的积累】

文章链接:https://mp.weixin.qq.com/s/A0irVL4-uYVCbrSrtFEZxQ


一、背景

NLP任务(包括与对话相关的任务)尝试处理和分析顺序的语言数据点,即使标准神经网络以及CNN是强大的学习模型,它们也具有两个主要限制:

隐马尔可夫模型(HMM)之类的马尔可夫模型是传统的序列模型,但是由于推理算法的时间复杂性和转导矩阵的大小随着离散状态空间的增加而显着增长,实际上它们是不适用于处理涉及大量隐藏状态的问题。而马尔可夫模型的隐藏状态仅受直接隐藏状态影响的性质进一步限制了该模型的功能。

因此RNN模型的的出现极大地解决了上述问题,并且某些变体可以惊人地实现与对话相关的任务以及许多其他NLP任务的最新性能。

 

二、追根溯源RNN

最早可以追述到1982年,Hopfield介绍了RNN去解决模式识别任务:

该文章介绍了两种RNN结构,模型结构如图1:

图片

                                                                                  图1 Graphical models of two basic types of RNNs

 

简单的RNN可以在理论上对长期依赖性进行建模。但是在实际训练中,远程依赖关系很难学习。当在许多时间步长上向后传播误差时,简单的RNN都会遇到称为梯度消失和梯度爆炸的问题。

 

三、详解循环神经网络(RNN)

循环神经网络的主要用途是处理和预测序列数据。

从网络结构上,循环神经网络会记忆之前的信息,并利用之前的信息影响后面结点的输出。也就是说,循环神经网络的隐藏层之间的结点是有连接的,隐藏层的输入不仅包括输入层的输出,还包括上时刻隐藏层的输出。

图片

上图中左边是RNN模型没有按时间展开的图,如果按时间序列展开,则是上图中的右边部分。

这幅图描述了在序列索引号t附近RNN的模型。其中:

 

RNN的前向传播

输入为

标签:状态,RNN,Neural,模型,Recurrent,Networks,神经网络,序列,隐藏
来源: https://blog.csdn.net/u014577702/article/details/117289403