我是靠谱客的博主 稳重发带,最近开发中收集的这篇文章主要介绍循环神经网络(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算法不需要梯度回传,因此非常
适合用于需要在线学习或无限序列的任务中。

最后

以上就是稳重发带为你收集整理的循环神经网络(RNN)——计算能力及应用的全部内容,希望文章能够帮你解决循环神经网络(RNN)——计算能力及应用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部