英语原文共 33 页,剩余内容已隐藏,支付完成后下载完整资料
用于序列化学习的递归神经网络的批判性回顾
摘要
无数的学习人物需要注意时间,比如图片描述,语音合成和视频游戏都需要模型生成有序的输出。在其他领域,例如时间序列预测,视频分析和音乐信息检索,模型必须从有序的输入中学习。特别是需要更多交互的任务,例如自然语言翻译,对话和机器人控制通常需要同时满足这两项要求。
递归神经网络(RNN)是强大的连接模型,可以通过图中周期捕获时间动态。与前馈神经网络不同,递归网络可以一次处理一个实例,并保留反映任意长上下文窗口的状态或记忆。尽管这些网络长期以来一直难以训练并且通常包含数百万个参数,但是网络体系结构,优化技术和并行计算的最新进展已经使得使用递归神经网络进行大规模学习成为可能。
在过去的几年中,基于最先进的常带记忆(LSTM)和双向递归神经网络(BRNN)架构的系统已经表现了在诸如图象描述,语言翻译和手写识别等任务上的记录设置性能。在这篇文献回顾中,我们综合了过去三十年出现的和减少的以实现这些强大模型的研究内容。在适当的时候,我们调和相互矛盾的符号和术语,我们的目标是为基本研究提供一个基本独立的说明最先进系统,以及历史观点和大量参考文献的解释
- 介绍
递归神经网络(RNN)是前馈神经网络的超集,具有跨时间步长传递信息的能力。 它们是能够进行几乎任意计算的丰富模型系列。 1991年Siegelman和Sontag的一项著名结果表明,具有S型激活函数的有限大小的递归神经网络可以模拟通用图灵机。 在实践中,建模时间依存关系的能力使递归神经网络特别适用于输入和/或输出由非独立点序列组成的任务。
-
- 与先前的工作的对比
循环神经网络的文献对于初学者而言似乎是不可理解的。较短的论文假定你熟悉大量的背景文献。图表经常被指定不足,未能指出哪些边跨越了时间步长,哪些没有跨越时间步长。更糟糕的是,行话比比皆是,而注释在论文中经常不一致或在论文中过多。读者经常会非常苦恼,必须在许多论文中综合矛盾的信息才能理解。例如,在许多论文的下标索引了节点和时间步长。在其他情况下,h同时代表链接功能和一层隐藏节点。变量t同时代表时间索引和目标,有时候甚至是在同一的方程式中出现这种情况。最近出现了许多了不起的突破性论文,但是很少有对递归神经网络文献的清晰回顾。
其中最有用的资源是Alex Graves在2012年出版的有关使用循环神经网络进行监督序列标记的书以及Felix Gers的博士学位论文。最近,涵盖了用于语言建模的递归神经网络。其他资源集中在特定的技术方面,例如,它调查循环神经网络中的梯度计算。在这篇综述文章中,我们旨在提供一种对可读性,直观性和一致注解的针对递归神经网络的序列学习综述。我们强调模型,算法和结果,但同样侧重于提炼指导这一主要启发式和经验性领域的直觉。除了具体的建模细节之外,我们还提供定性论证,历史观点以及在适当情况下与替代方法的比较。
-
- 为什么用循环网络?
在本节中,我们介绍了循环神经网络需要认真研究以建模顺序输入和输出的根本原因。 明确地说,我们的动力来自获得经验结果的渴望。 这有必要进行澄清,因为循环网络在认知建模和监督机器学习中都有根源,并且由于观点的差异,这些论文中有许多具有不同的目标和重点。 在认知科学和计算神经科学期刊中普遍发表的基础论文中,强调了生物学上合理的机制。 在其他论文中,生物学灵感被低估了,而倾向于在重要任务和数据集上获得经验结果。 鉴于经验的目的,我们现在提出三个重要的问题,在进一步阅读之前,每一个问题需要合理回答。
为什么要明确的建模时间?
鉴于时间不可知模型的实际成功和经济价值,这是一个很自然的问题。支持向量机,逻辑回归和前馈网络这些无需明确建模时间的模型已证明非常有用。可以说,正是独立性的假设导致了机器学习方面的最新进展。此外,许多模型通过将每个输入与其一定数量的直接前继和后继连接起来,隐式地捕获时间,从而为机器学习模型提供了围绕每个关注点的上下文滑动窗口。此方法已与深层信念网一起用于语音建模。
不幸的是,尽管独立性假设很有用,但它却排除了对长期时间依赖性进行建模的可能性。例如,使用长度为5的有限长度上下文窗口训练的模型永远不会被训练来回答一个简单的问题,即“十个时间步长之前看到的数据点是什么?”对于诸如呼叫中心自动化之类的实际应用,这种有限的系统可能会学会路由呼叫,但永远不会参与扩展的对话。自最早的人工智能概念以来,我们一直致力于构建与人类及时互动的系统。在艾伦·图灵(Alan Turing)开创性的论文《计算机械与智能》中,他提出了“模仿游戏”,该模型通过说服机器进行对话的能力来判断机器的智能。除对话系统外,具有重要经济意义的现代互动系统还包括自动驾驶汽车和机器人手术等。忽略时间的显式模型,似乎不可能将分类器或回归器的任何组合拼凑在一起以提供此功能。
为什么用神经网络而不是马尔可夫模型?
递归神经网络并不是捕获时间依赖性的第一个模型。数学家安德烈·马尔科夫(Andrey Markov)于1906年首次描述了建立状态观察序列之间的跃迁的马尔可夫链。隐马尔可夫模型(HMM) 1950年代描述了模型观测数据概率上依赖于未观察到的状态,自1960年代以来就进行了广泛的研究。但是,传统的马尔可夫模型方法受到限制,因为它们的状态必须从适度大小的离散状态空间得出。用于对隐马尔可夫模型执行有效推断的维特比算法在时间上缩放。此外,捕获任何两个相邻状态之间移动的概率的转换表的大小为。因此,当可能的隐藏状态集大于大约个状态时,HMM无法执行标准操作。此外,每个隐藏状态可以仅取决于先前状态。尽管可以通过创建一个新的状态空间来扩展任何马尔可夫模型以解决更大的上下文窗口,该状态空间等于窗口中每次可能状态的叉积,但此过程会随着状态空间的大小呈指数增长。窗口,使马尔可夫模型在计算长期依赖关系时在计算上不切实际。
考虑到马尔可夫模型的局限性,我们应该解释为什么连接主义模型(即人工神经网络)表现得更好是明智的。首先,递归神经网络可以捕获长期时间依赖性,从而克服了马尔可夫模型的主要局限性。这一点需要仔细的解释。与马尔可夫模型一样,传统RNN中的任何状态都仅取决于当前输入以及上一时间步长的网络状态。但是,任何时候的隐藏状态都可以包含来自任意长上下文窗口的信息。这是可能的,因为可以在节点的隐藏层中表示的不同状态的数量与该层中节点的数量呈指数增长。即使每个节点仅采用二进制值,网络也可以表示个状态,其中N是隐藏层中的节点数。给定实值输出,即使假设64位数字的精度有限,节点的单个隐藏层也可以表示个不同的状态。虽然潜在的表达能力随隐藏表示中节点的数量呈指数增长,但推理和训练的复杂性仅呈二次增长。
其次,通常需要扩展神经网络来解决任何监督学习问题,因为它们是功能强大的学习模型,可以在各种监督学习任务中实现最新的技术水平。在过去的几年中,存储变得更加容易负担得起,数据集变得越来越大,并行计算领域有了长足的发展。在设置如此庞大的高维数据集时,简单的线性模型不适合并且常常未充分利用计算资源。深度学习方法,特别是基于深度信念网络(DNN)的方法,这些方法是通过堆叠受限的玻尔兹曼机贪婪地构建的;还有卷积神经网络,它利用视觉信息的局部依赖性,已经在许多重要应用中显示了创纪录的结果。神经网络特别适合于机器感知任务,在这些任务中原始的潜在特征不能单独提供信息。这种成功归因于他们学习层次表示的能力,这与传统算法不同,后者依赖于手工设计的功能。但是,尽管具有前馈功能,但前馈神经网络仍存在局限性。最值得注意的是,它们依赖于数据点之间独立性的假设。另外,这些网络通常依赖于由固定长度向量组成的输入。因此,将这些功能强大的学习工具扩展到具有时间结构的数据模型是明智的,尤其是在神经网络已经成为最新技术的许多领域中。
RNNs 是否太富有表现力?
如前所述,具有S型激活的有限大小RNN已完成图灵化。 RNN运行任意计算的能力清楚地证明了它们的表达能力,但有人可以说C语言同样具有表达任意程序的能力。 但是,没有论文声称C的发明代表了机器学习的灵丹妙药。 失败的是C没有提供有效探索程序空间的简单方法。 没有直接的方法来计算任意C程序的梯度以最小化所选的损失函数。 此外,将C中可表示的程序集视为机器学习模型族的最大问题是该集太大了。 在给定任何有限大小的数据集的情况下,存在无数个程序可以过度拟合数据,生成所需的输出,但无法推广到测试数据。
那么RNN为什么不应该遭受类似的问题呢? 首先,给定任何固定的体系结构(节点,边和激活函数集),本文描述的递归神经网络是端到端完全可微的。 始终可以针对模型中的每个参数(权重)计算损失函数的导数。 其次,尽管有限长度RNN的图灵完备性是一个令人印象深刻的特性,但鉴于任何固定大小的RNN和特定的体系结构,实际上都不可能生成任何程序。 此外,与用C编写的任意程序不同,可以通过标准技术(例如权重衰减,丢失和限制自由度)对递归神经网络进行正则化。
- 背景
在这部分,我们介绍一下相关符号并提供有关神经网络的简要背景知识。
-
- 时间
显然,RNN不限于索引时间的序列。它们已成功用于非时间序列数据,包括遗传数据。但是,计算会随时间进行,并且许多重要的应用程序都具有显式或隐式的时间方面。虽然我们在本文中始终提到时间,但此处介绍的方法适用于更广泛的任务系列。
在本文中,通过时间,我们指的是到达的数据点和在以t为索引的离散时间步长序列中生成的期望输出。我们使用带括号的上标而不是下标来避免时间步和神经元之间的混淆。我们的序列可以是有限的长度,也可以是无限的。当它们是有限的时,我们称为序列T的最大时间索引。因此,可以表示连续输入的序列,并且可以表示输出这些时间步可以是来自连续真实世界过程的等距样本。示例将包括静止图像,该静止图像包括视频帧或以固定间隔采样的离散幅度,以包括音频记录。时间步长也可以是序数,与持续时间没有确切的对应关系。实际上,这些技术可以扩展到包括遗传序列的域,其中该序列具有定义的顺序,但与时间没有真正的对应关系。自然语言就是这种情况。在单词序列“ John Coltrane演奏萨克斯”中,= John,= Coltrane,依此类推。
-
- 神经网络
神经网络是生物学启发的计算模型。通常,神经网络由一组人工神经元(通常称为节点或单元)以及它们之间的一组有向边组成,它们直观地表示生物神经网络中的突触。与每个神经元j相关的是激活函数,有时称为链接函数。我们使用符号“”而不是“”(与其他一些论文不同)来区分激活函数和网络中隐藏节点的值,这在RNN文献中通常用h表示。
权重与从节点到j的每个边关联。遵循几篇基础递归网络论文中采用的约定,我们用j和索引神经元,通过,我们表示与从节点到节点j的有向边相对应的权重。重要的是要注意,在许多论文,教科书和讲义中,索引常常被翻转,并且 表示从节点到节点j的有向边上的权重,如维基百科中所示。
每个神经元j的值通过将其激活函数应用于其输入的加权总和来计算(如图1):
为方便起见,我们将括号内的加权总和称为传入的激活,并将其记为。 我们通过将神经元描绘成圆圈,将边缘描绘成连接它们的箭头,从而在图中表示了整个过程。 在适当的时候,我们用一个符号标记确切的激活函数,例如sigma;表示S型。
激活函数的常见选择包括S型sigma;(z)= 1 =(1 )和tanh函数phi;(z)=(-)/( ) 在前馈神经网络中很常见,并且已应用于递归神经网络。深度学习研究中最先进的另一种激活方式是整流线性单位(ReLU)。 这些单元已被证明可以改善许多深度神经网络在诸如语音处理和对象识别等任务上的性能,并且已被用于递归神经网络。
输出节点上的激活函数取决于任务。 对于多类别分类,我们将softmax非线性应用于这一层。 softmax函数计算为:
其中K是输出总数。 分母是归一化,包括所有输出节点上的指数和,以确保输出总和为1。对于多标签分类,激活函数仅是逐点S型。 对于
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[255299],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。