ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-05-26 13:58:32  阅读:272  来源: 互联网

标签:状态 RNN Neural 模型 Recurrent Networks 神经网络 序列 隐藏


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

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


一、背景

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

  • 一种是它们假定数据点彼此独立。虽然可以独立地产生数据点是合理的,但是在处理相互关联的数据点(例如,文本,音频,视频)时,可能会丢失基本信息。

  • 另外,它们的输入通常具有固定的长度,这在处理长度可变的序列数据时是一个限制。因此,能够表示顺序信息流的序列模型是值得被期待的。

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

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

 

二、追根溯源RNN

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

  • 《Neural networks and physical systems with emergent collective computational abilities》

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

  • Jordan-Type RNNs(图1a)

    • xt, ht, and yt are the inputs, hidden state, and output of time step t respectively

    • Wh, Wy and Uh are weight matrixes

    • 隐藏状态的每次更新由当前输入和上一时间步的输出决定,而每个输出则由当前隐藏状态决定。时间步t的隐藏状态和输出计算公式2、3:

      图片

  • Elman-Type RNNs(图1b)

    • 不同之处在于每个隐藏状态由当前输入和上一个时间步的隐藏状态决定。时间步t的隐藏状态和输出计算公式4、5:

      图片

图片

                                                                                  图1 Graphical models of two basic types of RNNs

 

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

 

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

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

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

图片

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

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

  • xt代表在序列索引号t时训练样本的输入。同样的,xt−1和xt+1代表在序列索引号t−1和t+1时训练样本的输入。

  • ht代表在序列索引号t时模型的隐藏状态。ht由xt和ht−1共同决定。

  • ot代表在序列索引号t时模型的输出。ot只由模型当前的隐藏状态ht决定。

  • A代表RNN模型。

 

RNN的前向传播

输入为

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有