概述
总结学习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算法不需要梯度回传,因此非常
适合用于需要在线学习或无限序列的任务中。
最后
以上就是稳重发带为你收集整理的循环神经网络(RNN)——计算能力及应用的全部内容,希望文章能够帮你解决循环神经网络(RNN)——计算能力及应用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复