循环神经网络(RNN)——计算能力及应用

总结学习NNDL(By 邱锡鹏)

2.简单循环网络

简单循环网络(Simple Recurrent Network,SRN)是一个非常简单的循环神经网络,只有一个隐藏层的神经网络.在一个两层的前馈神经网络中,连接存在相邻的层与层之间,隐藏层的节点之间是无连接的.而简单循环网络增加了从去隐藏层到隐藏层的反馈连接。

如果把每个时刻的状态都看作前馈神经网络的一层,循环神经网络可以看作在时间维度上权值共享的神经网络,如下图所示:
在这里插入图片描述

2.1 循环神经网络计算能力

循环神经网络的拟合能力十分强大,一个完全链接的循环网络是任何非线性动力系统的近似器。

通用近似定理:

若一个完全连接的循环神经网络有足够数量的sigmoid型隐藏神经元,可以以任意的准确率去近似任何一个非线性动力系统
在这里插入图片描述
S为每个时刻的因状态,x是外部输入,g()是可测的状态转换函数,o()是连续输出函数,并且对状态空间的紧致性没有限制。

图灵完备:

指一种数据操作规则,比如一种计算机编程语言,可实现图灵机所有功能,解决所有的可计算问题。即所有图灵机都可以被一个有使用Sigmoid型激活函数的神经元构成的全连接循环网络进行模拟。

3.机器学习应用

3.1序列到类别模式

主要用于序列数据的分类问题:输入为序列,输出为类别。在文本分类中,输入数据为单词的序列,输出为该文本的类别。
在这里插入图片描述
将整个序列的最终表示输入给g()进行分类,可为简单线性分类器(Logistic回归)或复杂的分类器(多层前馈神经网络)。

除了将最后时刻的状态作为整个序列的表示外,我们还可以对整个序列的所有状态进行平均,并用这平均状态来作为整个序列的表示。

3.2同步的序列到序列模式

主要用于序列标注任务,即每一时刻都有输入和输出,输入序列和输出序列的长度相同。比如在词性标注中,每一个单词都需要标注其对应的词性标签。
在这里插入图片描述

3.3异步的序列到序列模式

也成为编码器-解码器模型,即输入序列和输出序列不需要严格的对应关系,也不需要保持相同的长度。比如在机器翻译中,输入为源语言的单词序列,输出为目标语言的单词序列。

为了建立输出序列之间的依赖关系,在解码器中通常使用非线性的自回归模型
在这里插入图片描述
表示输入序列的结束,须先把上一个时刻的输出作为下一个时刻的输入。

4.参数学习

循环神经网络中存在一个递归调用的函数,因此其计算参数梯度的方式和前馈神经网络不同。主要有两种计算梯度的方式:随时间反向传播(BPTT)算法和实时循环学习(RTRL)算法。

RTRL算法和BPTT算法都是基于梯度下降的算法,分别通过前向模式和反向模式应用链式法则来计算梯度。在循环神经网络中,一般网络输出维度远低于输入维度,因此 BPTT 算法的计算量会更小,但是 BPTT 算法需要保存所有时刻的中间梯度,空间复杂度较高.RTRL算法不需要梯度回传,因此非常
适合用于需要在线学习或无限序列的任务中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值