
原标题:从90年代的SRNN开始,纵览循环神经网络27年的研究进展
近日,来自多伦多大学和滑铁卢大学的研究者撰文介绍循环神经网络的基础知识、近期发展和面临的挑战。机器之心对该论文进行了编译介绍,重点介绍了论文第二部分循环神经网络的基础与第四部分循环神经网络架构,其中我们概览了该论文所讨论的11种RNN架构。其它部分的详细内容和推导过程请见原论文。

人工神经网络(ANN)由多层互相连接的称为人工神经元的单元构成。「浅层网络」指的是没有循环连接,且只有一个输入层、一个输出层,并至多只有一个隐藏层的 ANN。随着网络层数增加,复杂度也增加。层数或循环连接数的增加通常会增加网络的深度,从而使网络能提供多层次的数据表征以及特征提取,即「深度学习」。一般而言,这些网络由非线性的、简单的单元构成,其中更高的层提供数据的更抽象表征,并压制不需要的可变性 [1]。由于每个层的非线性构成带来的优化困难 [2],直到 2006 年出现重大研究进展之前 [2][3],关于深度网络架构的研究工作很少。结合了循环连接的 ANN 被称为循环神经网络(RNN),可以对序列数据建模,用于序列识别和预测 [4]。RNN 隐藏状态的结构以循环形成记忆的形式工作,每一时刻的隐藏层的状态取决于它的过去状态 [6]。这种结构使得 RNN 可以保存、记住和处理长时期的过去复杂信号。RNN 可以在当前时间步将输入序列映射到输出序列,并预测下一时间步的输出。
从架构设计到应用开发,关于 RNN 的文献已经有大量的论文发表。在本文中,作者重点讨论了离散时间的 RNN 和该领域的最新研究进展,并在表 1 中列出了 RNN 的长期主要进展。反向传播和梯度下降方法的开发使得训练 RNN 变得很高效,加快了开发 RNN 的实际成就 [5]。然而,对长期依赖的序列数据还存在一些挑战,例如梯度消失和梯度爆炸问题,本文将讨论这些问题。

机器之心重点介绍了第二部分循环神经网络的基础与第四部分循环神经网络的架构。该论文的第三部分重点解释了循环神经网络的训练方法,如基于梯度的方法与沿时间反向传播等,我们并不详细探讨这一部分的具体方法。后面第四部分讨论了循环神经网络的正则化方法,限于篇幅,我们也不会过多描述。
论文:Recent Advances in Recurrent Neural Networks

论文链接:https://arxiv.org/pdf/1801.01078.pdf
循环神经网络(RNN)能够从序列和时序数据中学习特征和长期依赖关系。RNN 具备非线性单元的堆叠,其中单元之间至少有一个连接形成有向循环。训练好的 RNN 可以建模任何动态系统;但是,训练 RNN 主要受到学习长期依赖性问题的影响。本论文对 RNN 进行研究,为该领域的新人和人员展示多项新的进展。本文介绍了 RNN 的基础知识、近期进展和研究挑战。

图 1:简单的循环神经网络(RNN)及其沿时间 t 的展开结构。每一个箭头代表层之间单元间的全连接。为简洁起见,本图未显示偏置项。
II. 循环神经网络基础
RNN 是一类监督式机器学习模型,由人工神经元和一或多个反馈循环构成 [7]。反馈循环指时间或序列(本文以下使用「时间」)的循环周期 [8],如图 1 所示。以监督式方法训练 RNN 需要一个输入-目标对的训练数据集。其目的在于通过优化网络权重最小化输出和目标对(即损失值)的差。
A. 模型架构
简单 RNN 有三层:输入层、循环隐藏层和输出层,如图 1a 所示。输入层中有 N 个输入单元。该层的输入是一系列沿时间 t 的向量 {..., x_t??1, x_t, x_t+1, ...},其中 x_t = (x_1, x_2, ..., x_N)。全连接 RNN 中的输入单元与隐藏层中的隐藏单元连接,该连接由权重矩阵 W_IH 定义。隐藏层有 M 个隐藏单元 h_t = (h_1, h_2, ..., h_M),它们通过网络定义的循环结构沿时间彼此连接,如图 1b。使用较小非零元素的隐藏单元初始化能够提升网络的整体性能和稳定性 [9]。隐藏层将状态空间或系统的「memory」定义为:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-58506-1.html