在前馈神经网络中,信息的传递是单向的,这种限制虽然使得网络变得更容
易学习,但在一定程度上也减弱了神经网络模型的能力。

前馈网络难以处理时序数据,比如视频、语音、文本等.时序数据的长度一般是不固定的,而前馈神经网络要求输入和输出的维数都是固定的,不能任意改变。因此,当处理这一类和时序数据相关的问题时,就需要一种能力更强的模型。

循环神经网络(Recurrent Neural Network,RNN)是一类具有短期记忆能
力的神经网络.在循环神经网络中,神经元不但可以接受其他神经元的信息,也可以接受自身的信息,形成具有环路的网络结构.和前馈神经网络相比,循环神经网络更加符合生物神经网络的结构.循环神经网络已经被广泛应用在语音识别、语言模型以及自然语言生成等任务上.循环神经网络的参数学习可以通过随时间反向传播算法来学习.随时间反向传播算法即按照时间的逆序将错误信息一步步地往前传递.当输入序列比较长时,会存在梯度爆炸和消失问题,也称为长程依赖问题.为了解决这个问题,人们对循环神经网络进行了很多的改进,其中最有效的改进方式引入门控机制(Gating Mechanism).

1.增加记忆能力

1.1延时神经网络

利用历史信息的方法是建立一个额外的延时单元,存储网络的历史信息,其中包括输入、输出、隐状态等。代表性模型是延时神经网络 ,其在时间维度上共享权值,以降低参数数量。因此对于序列输入来讲,延时神经网络相当于卷积神经网络。

延时神经网络实在前馈网络的非输出层添加一个延时器,记录神经元的最近几次活性值。

循环神经网络简介 长短时记忆网络头哥 循环神经网络的作用_深度学习


通过延时器,前馈网络具有了短期记忆能力。

1.2 有外部输入的非线性自回归模型

自回归模型(AR) 是一类时间序列模型,用一个变量yt的历史信息来预测自己。

循环神经网络简介 长短时记忆网络头哥 循环神经网络的作用_rnn_02


有外部输入的非线性自回归模型 是AR的扩展,在每个时刻都有一个外部输入,产生一个输出。NARX通过一个延时器记录最近K次的外部输入和最近几次的输出,第t个时刻的输出yt

循环神经网络简介 长短时记忆网络头哥 循环神经网络的作用_循环神经网络简介 长短时记忆网络头哥_03

1.3 循环神经网络

RNN通过使用带自反馈的神经炎,能够处理任意长度的时序数据。

给定一个输入序列,循环神经网络通过公式更新带反馈边的隐藏层的活性值。

循环神经网络简介 长短时记忆网络头哥 循环神经网络的作用_深度学习_04

RNN中,延时器为一个虚拟单元,记录神经元的最近一次或几次的活性值。

循环神经网络具有短期记忆能力,相当于存储装置,因此其计算能力十分强大。理论上,循环神经网络可以近似任意的非线性动力系统。

前馈神经网络可以模拟任何连续函数,而循环神经网络可以模拟任何程序。