添加URL
分享
循环神经网络(Recurrent Neural Network, RNN)是一类以 序列 (sequence)数据为输入,在序列的演进方向进行 递归 (recursion)且所有节点(循环单元)按链式连接的 递归神经网络 (recursive neural network)
对循环神经网络的研究始于二十世纪80-90年代,并在二十一世纪初发展为 深度学习 (deep learning)算法之一 ,其中双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks, LSTM )是常见的的循环神经网络
循环神经网络具有记忆性、参数共享并且 图灵完备 (Turing completeness),因此在对序列的 非线性 特征进行学习时具有一定优势 。循环神经网络在 自然语言处理 (Natural Language Processing, NLP),例如 语音识别 、语言建模、 机器翻译 等领域有应用,也被用于各类 时间序列 预报。引入了 卷积神经网络 (Convoutional Neural Network,CNN)构筑的循环神经网络可以处理包含序列输入的 计算机视觉 问题。
1933年,西班牙神经生物学家Rafael Lorente de Nó发现 大脑皮层 (cerebral cortex)的解剖结构允许刺激在神经回路中循环传递,并由此提出反响回路假设(reverberating circuit hypothesis) 。该假说在同时期的一系列研究中得到认可,被认为是生物拥有 短期记忆 的原因 [6-7] 。随后 神经生物学 的进一步研究发现,反响回路的兴奋和抑制受大脑 阿尔法节律 (α-rhythm)调控,并在α-运动神经(α-motoneurones )中形成循环反馈系统(recurrent feedback system) [8-9] 。在二十世纪70-80年代,为模拟循环反馈系统而建立的各类数学模型为循环神经网络的发展奠定了基础 [10-12]
1982年,美国学者John Hopfield基于Little (1974) 的神经数学模型使用二元节点建立了具有 结合存储 (content-addressable memory)能力的神经网络,即 Hopfield神经网络 。Hopfield网络是一个包含外部记忆(external memory)的循环神经网络,其内部所有节点都相互连接,并使用能量函数进行学习 。由于Hopfield (1982) 使用二元节点,因此在推广至序列数据时受到了限制,但其工作受到了学界的关注,并启发了其后的循环神经网络研究 [15-16]
1986年,Michael I. Jordan基于Hopfield网络的结合存储概念,在分布式并行处理(parallel distributed processing)理论下建立了新的循环神经网络,即Jordan网络 。Jordan网络的每个隐含层节点都与一个“状态单元(state units)”相连以实现延时输入,并使用 logistic函数 (logistic function)作为 激励函数 。Jordan网络使用 反向传播算法 (Back-Probagation, BP)进行学习,并在测试中成功提取了给定音节的语音学特征 。之后在1990年,Jeffrey Elman提出了第一个全连接的循环神经网络,Elman网络 。Jordan网络和Elman网络是最早出现的面向序列数据的循环神经网络,由于二者都从单层 前馈神经网络 出发构建递归连接,因此也被称为简单循环网络(Simple Recurrent Network, SRN)
在SRN出现的同一时期,循环神经网络的学习理论也得到发展。在 反向传播算法 的研究受到关注后 ,学界开始尝试在BP框架下对循环神经网络进行训练 。1989年,Ronald Williams和David Zipser提出了循环神经网络的实时循环学习(Real-Time Recurrent Learning, RTRL) 。随后Paul Werbos在1990年提出了循环神经网络的随时间反向传播(BP Through Time,BPTT) ,RTRL和BPTT被沿用至今,是循环神经网络进行学习的主要方法
1991年,Sepp Hochreiter发现了循环神经网络的长期依赖问题(long-term dependencies problem),即在对序列进行学习时,循环神经网络会出现梯度消失(gradient vanishing)和梯度爆炸(gradient explosion)现象,无法掌握长时间跨度的非线性关系 [22-23] 。为解决长期依赖问题,大量优化理论得到引入并衍生出许多改进算法,包括神经历史压缩器(Neural History Compressor, NHC) 、长短期记忆网络(Long Short-Term Memory networks, LSTM) 、门控循环单元网络(Gated Recurrent Unit networks, GRU) 、回声状态网络(echo state network)、独立循环神经网络(Independent RNN)
在应用方面,SRN自诞生之初就被应用于 语音识别 任务,但表现并不理想 ,因此在二十世纪90年代早期,有研究尝试将SRN与其它 概率模型 ,例如 隐马尔可夫模型 (Hidden Markov Model, HMM)相结合以提升其可用性 [29-30] 。双向循环神经网络(Bidirectional RNN, Bi-RNN)和双向LSTM的出现提升了循环神经网络对自然语言处理的能力 ,但在二十世纪90年代,基于循环神经网络的有关应用没有得到大规模推广。二十一世纪后,随着 深度学习 方法的成熟, 数值计算 能力的提升以及各类特征学习(feature learning)技术的出现,拥有复杂构筑的深度循环神经网络(Deep RNN, DRNN)开始在自然语言处理问题中展现出优势,并成为可在语音识别、语言建模等现实问题中应用的算法 。由于潜在假设了前一个时间步的输出节点能够表征先前所有时间步的状态,输出节点-循环单元连接的循环神经网络不具有图灵完备性,学习能力也低于全连接网络。但其优势是可以使用Teacher Forcing进行快速学习
3. 基于上下文的连接: 因为在图网络的观点下呈现闭环结构,该连接方式也被称为闭环连接(closed-loop connection),其中循环单元的系统状态引入了其上一个时间步的真实值
。使用基于上下文连接的循环神经网络由于训练时将学习样本的真实值作为输入,因此是一个可以逼近学习目标概率分布的 生成模型 (generative model)。基于上下文的连接有多种形式,其中常见的一类使用了该时刻的输入、上一时刻的状态和真实值:
。其它的类型可能使用固定长度的输入,使用上一时刻的输出代替真实值,或不使用该时刻的输入 。循环单元-循环单元连接、输出节点-循环单元连接和基于上下文的连接都支持序列-序列输出,其中前两者常见于词性标注(part-of-speech tagging)问题,后者可被应用于文本生成(text generation)和音乐合成(music composition)。
编码器-解码器(encoder-decoder)
在输入数据和学习目标都为序列且长度可变时,可以使用两个相耦合的基于上下文连接的循环神经网络,即编码器-解码器进行建模,编码器-解码器常被用于 机器翻译 (Machine Translation, MT)问题,这里以此为例进行说明。给定嵌入的原始文本和翻译文本:
,编码器在工作时对原始文本进行处理,并输出
到解码器,解码器根据编码器的输出生成新序列。编码器-解码器结构的循环神经网络以最大化
为目标更新权重系数
监督学习(supervised learning)
1. Teacher Forcing
Teacher Forcing是一种在序列-序列输出模式下对循环神经网络进行快速训练的方法,其理念是在每一个时间步的训练中引入上一个时间步的学习目标(真实值)从而解耦误差的反向传播。具体地,Teacher Forcing是一种 极大似然估计 (Maximum Likelihood Estimation, MLE)方法,例如对序列的前两个时间步,序列的对数似然有如下表示 的似然取极大值的优化问题,因此不需要将神经网络的误差函数反向传播至该时间步。
上述方法被称为“严格的”Teacher Forcing,适用于输出节点-循环单元连接的循环神经网络,对循环单元-循环单元连接的循环神经网络,只要输出节点-循环单元可以连接,则Teacher Forcing可以和随时间反向传播(BPTT)一起使用
严格的Teacher Forcing不适用于闭环连接的循环神经网络,因为该连接方式在测试时会将前一个时间步的输出作为当前时间步的输入,而Teacher Forcing在学习时使用的真实值
和测试时神经网络自身的输出
往往有相当的差别。一个改进是对部分样本进行自由学习,即使用神经网络自身的输出代替真实的学习目标加入Teacher Forcing中 。此外也可在Teacher Forcing的所有学习样本中随机混入
,并随着学习过程不断增加混入
2. 随时间反向传播(BP Through Time, BPTT)
需要被完整地保存直到该样本的所有参数更新完毕,因此在学习长序列样本时,BPTT的空间复杂度会对应地增加 。对BPTT按固定长度截断,即截断的BPTT(truncated BPTT)是被用于解决上述问题的方法之一
3. 实时循环学习(Real-Time Recurrent Learning, RTRL)
RTRL通过前向传播的方式来计算梯度,在得到每个时间步的损失函数后直接更新所有权重系数至下一个时间步,类似于 自动微分 的前向连锁(forward accumulation)模式。这里以BPTT中的状态-状态权重
为例做简单介绍。在时间步
,损失函数
对权重中元素
的实时更新规则如下:
其它权重的更新可以按相近的方式导出。相比于BPTT,RTRL的计算量更大,但因为无需存储反向传播的误差梯度,RTRL的内存开销更小,更适用于在线学习或使用长序列学习样本的问题
非监督学习(unsupervised learning)
使用编码器-解码器结构的循环神经网络能够以自编码器(Auto-Encoders, AE)的形式,即循环自编码器(Recurrent AE)进行非监督学习 。RAE是对序列数据进行特征学习(feature learning)的方法之一 ,其工作方式与编码器-解码器相近。具体地,RAE输入端的编码器会处理序列并将最后一个时间步的状态传递至解码器,解码器使用编码器的输出重构序列。RAE以最小化原始序列和重构序列的差异为目标进行学习 。不同于一般的编码器-解码器结构,在学习完毕后,RAE只有编码器部分会被取出使用,对输入序列进行编码
非监督学习也可被应用于堆叠循环神经网络,其中最早被提出的方法是神经历史压缩器(Neural History Compressor, NHC) 。NHC是一个自组织阶层系统(self-organized hierarchical system),在学习过程中,NHC内的每个循环神经网络都以先前时间步的输入
学习下一个时间步的输入
,学习误差(通常由长距离依赖产生)会输入到更高阶层的循环神经网络中,在更长时间尺度下进行学习以
。最终输入数据会在NHC的各个阶层得到完整的表征,上述过程在研究中被描述为“压缩(compression)”或“蒸馏(distillation)” 。NHC在本质上是阶层结构的AE,对输入数据进行压缩即是其特征学习的过程 。由于可以在多时间尺度上学习长距离依赖,因此NHC也被用于循环神经网络在监督学习问题中的预学习(pre-training)

循环神经网络 优化

循环神经网络在误差梯度在经过多个时间步的反向传播后容易导致极端的非线性行为,包括梯度消失(gradient vanishing)和梯度爆炸(gradient explosion)。不同于 前馈神经网络 ,梯度消失和梯度爆炸仅发生在深度结构中,且可以通过设计梯度比例得到缓解,对循环神经网络,只要序列长度足够,上述现象就可能发生 。在理解上,循环神经网络的递归计算类似于连续的 矩阵乘法 ,由于循环神经网络使用固定的权重处理所有时间步,因此随着时间步的推移,权重系数必然出现 指数 增长或衰减,引发梯度的大幅度变化
梯度截断是处理循环神经网络梯度爆炸现象的有效方法,具体分为两种,一是设定阈值并逐个元素筛查,若梯度超过阈值则截断至阈值 ;二是在参数更新前,若误差对参数的梯度超过阈值,则按范数(norm)截断 为梯度的阈值。比较可知,按范数截断保持了截断前后梯度的方向不变,因此逻辑上更合理,但试验表明,两种方法效果相当。事实上作为经验方法,只要梯度截断将权重系数带离数值不稳定区域,就能很好地应对梯度爆炸现象
正则化 (regularization)
循环神经网络的 正则化 是应对其长距离依赖问题的方法之一,其理念是控制循环节点末端状态对初始状态导数,即 雅可比矩阵 的范数以提升循环神经网络对长距离误差的敏感性 。在误差反向传播至第
个时间步时,其对应的正则化项有如下表示
在BP中加入上述正则化项会提升计算复杂度,此时可将包含损失函数的项近似为常数,并引导雅可比矩阵的范数向1靠近 。研究表明,正则化和梯度截断结合使用可以增加循环神经网络学习长距离依赖的能力,但相比于门控单元,正则化没有减少模型的冗余
在前馈神经网络中被使用和证实有效的 随机失活 (dropout)策略也可用于循环神经网络。在输入序列的维度大于1时,循环神经网络在每个时间步的输入和状态的矩阵元素都可以被随机归零 为(0,1)-矩阵,也被称为maxout矩阵(maxout array)随机决定需要失活的连接。maxout矩阵可以对一组学习样本的所有时间步保持不变,其中与系统状态相乘的maxout矩阵也可随时间步变化 。在长序列的学习中,不断生成随机数进行随机失活会降低算法的运行效率,一个可能的改进是假设距离过长的元素影响很小,并只对与当前时间步相隔一定范围的循环单元连接使用随机失活
层归一化(Layer Normalization, LN)
应用于循环神经网络时,LN将循环神经网络的每个循环单元视为一个层进行归一化。对时间步
,包含LN的循环节点的内部计算如下表示 为代表缩放和平移的参数,随BP算法进行更新
。在循环神经网络中,循环节点的均值和标准差会发生改变,产生协变漂移(covariate shift)现象,该现象会导致梯度爆炸和梯度消失,因此LN是缓解长距离依赖问题的方法之一
储层计算(reservoir computing)
储层计算将循环神经网络中链式连接转变为一个“储层(reservoir)”,储层内循环单元的状态在每个时间步更新。储层与输出层相连,其对应的输出权重由学习数据求解 。使用储层计算的循环神经网络包括回声状态网络(Echo State Network, ESN)和流体状态机(liquid state machine),二者的不同点是流体状态机的储层单元是二元节点 。储层计算中随机初始化并固定隐含层输入权重的方法接近于 极限学习机 (Extreme Learning Machine, ELM),但后者基于 前馈神经网络 构建,其隐含层节点不是循环单元,不具有记忆性
跳跃连接(skip connection)
梯度消失是时间步的函数,因此可以通过使用跳跃连接提高循环神经网络学习长距离依赖的能力。跳跃连接是跨多个时间步的长距离连接,引入跳跃连接后,长时间尺度的状态能够更好地在神经网络中传递,缓解梯度消失现象 。有研究在使用跳跃连接的同时直接删除循环单元-循环单元连接,强迫循环神经网络以阶层结构在长时间尺度上运行
渗漏单元(leaky unit)和门控单元(gated unit)
渗漏单元也被称为线性自连接单元(linear self-connection unit)是在循环单元间模拟 滑动平均 (moving average)以保持循环神经网络中长距离依赖的方法
渗漏单元在应用中有两个不足,一是人为给定的权重不是记忆系统状态的最优方式,二是渗漏单元没有遗忘功能,容易出现信息过载,在过去的状态被循环单元充分使用后,将其遗忘可能是有利的 。 以此出发,门控单元是渗漏单元的推广,门控单元的类型包括输入门(input gate)、输出门(output gate)和遗忘门(forget gate)。每个门都是一个封装的神经网络,其计算方式可参见算法部分。总体而言,门控单元是减少学习误差的长距离依赖的有效方法,使用门控单元的算法,包括长短期记忆网络(Long Short-Term Memory networks, LSTM)和门控循环单元网络(Gated Recurrent Unit networks, GRU)被证实在各类问题中有优于SRN的表现

循环神经网络 简单循环网络

简单循环网络(Simple Recurrent Network, SRN)是仅包含一组链式连接(单隐含层)的循环神经网络,其中循环单元-循环单元连接的为Elman网络,闭环连接的为Jordan网络。对应的递归方式如下

循环神经网络 门控算法

LSTM是最早被提出的循环神经网络门控算法,其对应的循环单元,LSTM单元包含3个门控:输入门、遗忘门和输出门。相对于循环神经网络对系统状态建立的递归计算,3个门控对LSTM单元的内部状态建立了自循环(self-loop) 。具体地,输入门决定当前时间步的输入和前一个时间步的系统状态对内部状态的更新;遗忘门决定前一个时间步内部状态对当前时间步内部状态的更新;输出门决定内部状态对系统状态的更新。LSTM单元的更新方式如下 最初版本的LSTM没有遗忘门,以全连接的方式进行序列-序列输出 ,但本质上LSTM单元可以被引入其它各类循环神经网络构筑中,例如LSTM自编码器(LSTM Autoencoder) 、堆叠LSTM(stacked LSTM)
对LSTM进行权重初始化时,需要为遗忘门设定较大的初始值,例如设定
。过小的值会使得遗忘门在学习中快速遗忘先前时间步的信息,不利于神经网络学习长距离依赖, 并可能导致梯度消失
门控循环单元网络(Gated Recurrent Unit networks, GRU)
由于LSTM中3个门控对提升其学习能力的贡献不同,因此略去贡献小的门控和其对应的权重,可以简化神经网络结构并提升其学习效率
。GRU即是根据以上观念提出的算法,其对应的循环单元仅包含2个门控:更新门和复位门,其中复位门的功能与LSTM单元的输入门相近,更新门则同时实现了遗忘门和输出门的功能 。GRU的更新方式如下
LSTM和GRU有很多变体,包括在循环单元间共享更新门和复位门参数,以及对整个链式连接使用全局门控,但研究表明这些改进版本相比于标准算法未体现出明显优势,其可能原因是门控算法的表现主要取决于遗忘门,而上述变体和标准算法使用了的遗忘门机制相近

循环神经网络 深度算法

循环神经网络的“深度”包含两个层面,即序列演进方向的深度和每个时间步上输入与输出间的深度。对前者,循环神经网络的深度取决于其输入序列的长度,因此在处理长序列时可以被认为是直接的深度网络;对后者,循环神经网络的深度取决于其链式连接的数量,单链的循环神经网络可以被认为是“单层”的
循环神经网络能够以多种方式由单层加深至多层 ,其中最常见的策略是使用堆叠的循环单元 。由于在序列演进方向已经存在复杂结构,因此不同于深度的前馈神经网络,深度循环神经网络在输入和输出间不会堆叠太多层次,一个3层的深度循环神经网络已经具有很大规模
堆叠循环神经网络(Stacked Recurrent Neural Network, SRNN)
SRNN是在全连接的单层循环神经网络的基础上堆叠形成的深度算法。SRNN内循环单元的状态更新使用了其前一层相同时间步的状态和当前层前一时间步的状态 分别表示时间步和层数。参与构建SRNN的循环神经网络可以是简单循环网络(SRN)或门控算法。使用SRN构建的SRNN也被称为循环多层感知器(Recurrent Multi-Layer Perceptron,RMLP),是1991年被提出的深度循环神经网络
双向循环神经网络(bidirectional recurrent neural network, Bi-RNN)
Bi-RNN是两层的深度循环神经网络,被应用于学习目标与完整(而不是截止至当前时间步)输入序列相关的场合。例如在语音识别中,当前语音对应的词汇可能与其后出现的词汇有对应关系,因此需要以完整的语音作为输入 。Bi-RNN的两个链式连接按相反的方向递归,输出的状态会进行矩阵拼接并通过输出节点,其更新规则如下
循环神经网络在处理长序列时有 信息过载 的问题,例如对编码器-解码器结构,编码器末端的输出可能无法包含序列的全部有效信息 。门控算法的遗忘门/更新门可以有选择地丢弃信息,减缓循环单元的饱和速度,但更进一步地,有研究通过将信息保存在外部记忆(external memory)中,并在需要时再进行读取,以提高循环神经网络的网络容量(network capacity) 。使用外部记忆的循环神经网络包括神经图灵机(Neural Turing Machine, NTM) Hopfield神经网络
与卷积神经网络相结合
循环神经网络与卷积神经网络相结合的常见例子是循环卷积神经网络(Recurrent CNN, RCNN)。RCNN将卷积神经网络的卷积层替换为内部具有递归结构的循环卷积层(Recurrent Convolutional Layer, RCL),并按前馈连接建立深度结构
除RCNN外,循环神经网络和卷积神经网络还可以通过其它方式相结合,例如使用卷积神经网络对序列化的格点输入进行特征学习,并将结果按输入循环神经网络
递归神经网络和图网络
循环神经网络按序列演进方向的递归可以被扩展到 (tree)结构和 (graph)结构中,得到递归神经网络(recursive neural network)和图网络(Graph Network, GN)。
递归神经网络是循环神经网络由链式结构向树状结构的推广 。不同于循环神经网络的链式连接,递归神经网络的每个子节点都可以和多个父节点相连并传递状态。当其所有子节点都仅与一个父节点相连时,递归神经网络退化为循环神经网络 。递归神经网络的节点可加入门控机制,例如通过LSTM门控得到树状长短期记忆网络(tree-structured LSTM) 。图网络是循环神经网络和递归神经网络的进一步推广,或者说后两者是图网络在特定结构下的神经网络实现 。在图网络观点下,全连接的循环神经网络是一个有向无环图,而上下文连接的循环神经网络是一个有向环图。递归神经网络和图网络通常被用于学习数据具有结构关系的场合,例如语言模型中的语法结构
权重共享:循环神经网络的权重系数是共享的,即在一次迭代中,循环节点使用相同的权重系数处理所有的时间步。相比于前馈神经网络,权重共享降低了循环神经网络的总参数量,增强了网络的泛化能力。同时,权重共享也意为着循环神经网络可以提取序列中随时间变化的动力特征,因此其在学习和测试序列具有不同长度时也可以有稳定的表现
计算能力:可以证明,一个循环单元间完全连接的循环神经网络满足通用近似定理,即全联接循环神经网可以按任意精度逼近任意非线性系统,且对状态空间的紧致性没有限制,只要其拥有足够多的非线性节点。在此基础上,任何图灵可计算函数(Turing computable function)都可以由有限维的全联接循环神经网络计算,因此循环神经网络是图灵完备(Turing completeness)的
作为时间序列模型的性质:在时间序列建模的观点下,循环神经网络是一个无限冲激响应滤波器(Infinite Impulse Response filter, IIR) 。这将循环神经网络与其它应用于序列数据的权重共享模型,例如一维的卷积神经网络相区分,后者以时间延迟网络为代表,是有限冲激响应滤波器(Finite Impulse Response filter, FIR)

循环神经网络 自然语言处理

自然语言数据是典型的序列数据,因此对序列数据学习有一定优势的循环神经网络在NLP问题中有得到应用。在 语音识别 (speech recognition)中,循环神经网络可被应用于端到端(end-to-end)建模,例如有研究使用LSTM单元构建的双向深度循环神经网络成功进行了英语文集TIMIT的语音识别,其识别准确率超过了同等条件的隐马尔可夫模型(Hidden Markov Model, HMM)和深度前馈神经网络
循环神经网络是 机器翻译 (Machine Translation, MT)的主流算法之一 ,并形成了区别于“统计机器翻译”的“神经机器翻译(neural machine translation)”方法 。有研究使用端到端学习的LSTM成功对法语-英语文本进行了翻译 ,也有研究将卷积n元模型(convolutional n-gram model)与循环神经网络相结合进行机器翻译 。有研究认为,按编码器-解码器形式组织的LSTM能够在翻译中考虑语法结构
基于上下文连接的循环神经网络,被大量用语言建模(language modeling)问题 。有研究在字符层面(character level)的语言建模中,将循环神经网络与卷积神经网络相结合并取得了良好的学习效果 。循环神经网络也是语义分析( sentiment analysis)的工具之一,被应用于文本分类 、社交网站数据挖掘 [77-78]
语音合成 (speech synthesis)领域,有研究将多个双向LSTM相组合建立了低延迟的语音合成系统,成功将英语文本转化为接近真实的语音输出 。循环神经网络也被用于端到端文本-语音(Text-To-Speech, TTS)合成工具的开发,例子包括Tacotron 、Merlin

循环神经网络 计算机视觉

循环神经网络与卷积神经网络向结合的系统在计算机视觉问题中有一定应用,例如在 字符识别 (text recognition)中,有研究使用卷积神经网络对包含字符的图像进行特征提取,并将特征输入LSTM进行序列标注 。对基于视频的计算机视觉问题,例如行为认知(action recognition)中,循环神经网络可以使用卷积神经网络逐帧提取的图像特征进行学习

循环神经网络 其它

计算生物学 (computational biology)领域,深度循环神经网络被用于分析各类包含生物信息的序列数据,有关主题包括在DNA序列中识别分割外显子(exon)和内含子(intron)的断裂基因(split gene) 、通过RNA序列识别小分子RNA(microRNA) 、使用蛋白质序列进行蛋白质亚细胞定位(subcellular location of proteins)预测
地球科学 (earth science)领域,循环神经网络被用于时间序列变量的建模和预测。使用LSTM建立的水文模型(hydrological model)对土壤湿度的模拟效果与陆面模式相当 。而基于LSTM的降水-径流模式(rainfall-runoff model)所输出的径流量与美国各流域的观测结果十分接近 。在预报方面,有研究将地面遥感数据作为输入,使用循环卷积神经网络进行单点降水的 临近预报 (nowcast)
包含循环神经网络的编程模块
现代主流的机器学习库和界面,包括 TensorFlow Keras 、Thenao、Microsoft-CNTK等都支持运行循环神经网络。此外有基于特定数据的循环神经网络构建工具,例如面向音频数据开发的auDeep Goodfellow, I., Bengio, Y., Courville, A. .Deep learning (Vol. 1) :Cambridge:MIT Press ,2016 :367-415
  • Schmidhuber, J., 2015. Deep learning in neural networks: An overview. Neural networks, 61, pp.85-117. Ng, A., Kian, K. and Younes, B., Sequence Models, Deep learning. .Coursera and deeplearning.ai .2018 [引用日期2018-11-29]
  • 邱锡鹏 著,神经网络与深度学习,第六章 循环神经网络 .Github Inc. .2018-3-12 [引用日期2018-11-28]
  • Lorente de Nó, R., 1933. Studies on the structure of the cerebral cortex. I: the area entorhinalis. Journal für Psychologie und Neurologie, 45, pp.381-438. Mackay, R.P., 1953. Memory as a biological function. American Journal of Psychiatry, 109(10), pp.721-728. Gerard, R. W., 1963. The material basis of memory. Journal of verbal learning and verbal behavior, 2, pp.22-33. Cullheim, S., Kellerth, J.O. and Conradi, S., 1977. Evidence for direct synaptic interconnections between cat spinal α-motoneurons via the recurrent axon collaterals: a morphological study using intracellular injection of horseradish peroxidase. Brain research, 132(1), pp.1-10. Windhorst, U., 1996. On the role of recurrent inhibitory feedback in motor control. Progress in neurobiology, 49(6), pp.517-587. Windhorst, U., 1979. Auxiliary spinal networks for signal focussing in the segmental stretch reflex system. Biological Cybernetics, 34(3), pp.125-135. Wigström, H., 1973. A neuron model with learning capability and its relation to mechanisms of association. Kybernetik, 12(4), pp.204-215. Little, W.A., 1974. The existence of persistent states in the brain. In From High-Temperature Superconductivity to Microminiature Refrigeration (pp. 145-164). Springer, Boston, MA. Hopfield, J.J., 1982. Neural networks and physical systems with emergent collective computational abilities. Proceedings of the national academy of sciences, 79(8), pp.2554-2558. 邱锡鹏 著,神经网络与深度学习,第八章 注意力机制与外部记忆 .Github Inc. .2018-11-13 [引用日期2018-11-28]
  • Yi, Z., Tan, K. K. .Hopfield Recurrent Neural Networks. In Convergence Analysis of Recurrent Neural Networks .Boston, MA. :Springer ,2004 :15-16
  • Jordan, M.I., 1986. Serial order: A parallel distributed processing approach (Tech. Rep. No. 8604). San Diego: University of California, Institute for Cognitive Science. Elman, J.L., 1990. Finding structure in time. Cognitive science, 14(2), 179-211. Rumelhart, D.E., Hinton, G.E. and Williams, R.J., 1986. Learning representations by back-propagating errors. nature, 323(6088), p.533. Almeida, L.B., 1987. A learning rule for asynchronous perceptrons with feedback in a combinatorial environment. In Proceedings, 1st First International Conference on Neural Networks (Vol. 2, pp. 609-618). IEEE. Williams, R.J., Zipser, D., 1989. A learning algorithm for continually running fully recurrent neural networks. Neural computation, 1(2), pp.270-280. Werbos, P.J., 1990. Backpropagation through time: what it does and how to do it. Proceedings of the IEEE, 78(10), pp.1550-1560. Hochreiter, S., 1991. Untersuchungen zu dynamischen neuronalen Netzen. Diploma, Technische Universität München, 91(1). Sepp Hochreiter's Fundamental Deep Learning Problem (1991) .IDSIA, Scuola Universitaria della Svizzera Italiana .2013 [引用日期2018-11-28]
  • Schmidhuber, J., 1992. Learning complex, extended sequences using the principle of history compression. Neural Computation, 4(2), pp.234-242. Hochreiter, S. and Schmidhuber, J., 1997. Long short-term memory. Neural computation, 9(8), pp.1735-1780. Cho, K., Van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H. and Bengio, Y., 2014. Learning phrase representations using RNN encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078. Li, S., Li, W., Cook, C., Zhu, C. and Gao, Y., 2018. Independently recurrent neural network (indrnn): Building A longer and deeper RNN. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 5457-5466). Renals, S.J., 1990. Speech and neural network dynamics. Doctor of Philosophy. University of Edinburgh Bridle, J.S., 1990. Alpha-nets: a recurrent "neural" network architecture with a hidden Markov model interpretation. Speech Communication, 9(1), pp.83-92. Robinson, T., Hochberg, M. and Renals, S., 1996. The use of recurrent neural networks in continuous speech recognition. In Automatic speech and speaker recognition (pp. 233-258). Springer, Boston, MA. Schuster, M. and Paliwal, K.K., 1997. Bidirectional recurrent neural networks. IEEE Transactions on Signal Processing, 45(11), pp.2673-2681. Graves, A., Fernández, S. and Schmidhuber, J., 2005. Bidirectional LSTM networks for improved phoneme classification and recognition. In International Conference on Artificial Neural Networks (pp. 799-804). Springer, Berlin, Heidelberg. Graves, A., Mohamed, A.R. and Hinton, G., 2013. Speech recognition with deep recurrent neural networks. In Acoustics, speech and signal processing (icassp), 2013 ieee international conference on (pp. 6645-6649). IEEE. Mikolov, T., Karafiát, M., Burget, L., Černocký, J. and Khudanpur, S., 2010. Recurrent neural network based language model. In Eleventh Annual Conference of the International Speech Communication Association. Bengio, S., Vinyals, O., Jaitly, N. and Shazeer, N., 2015. Scheduled sampling for sequence prediction with recurrent neural networks. In Advances in Neural Information Processing Systems (pp. 1171-1179). Pascanu, R., Mikolov, T. and Bengio, Y., 2013. On the difficulty of training recurrent neural networks. In International Conference on Machine Learning (pp. 1310-1318). Sutskever, I., 2013. Training recurrent neural networks. Doctor of Philosophy Thesis, University of Toronto. Sutskever, I., Vinyals, O. and Le, Q.V., 2014. Sequence to sequence learning with neural networks. In Advances in neural information processing systems (pp. 3104-3112). Bengio, Y., Courville, A. and Vincent, P., 2013. Representation learning: A review and new perspectives. IEEE transactions on pattern analysis and machine intelligence, 35(8), pp.1798-1828. Srivastava, R.K., Greff, K. and Schmidhuber, J., 2015. Training very deep networks. In Advances in neural information processing systems (pp. 2377-2385). Schraudolph, N.N. and Sejnowski, T.J., 1993. Unsupervised discrimination of clustered data via optimization of binary information gain. In Advances in neural information processing systems (pp. 499-506). Klapper-Rybicka, M., Schraudolph, N.N. and Schmidhuber, J., 2001. Unsupervised learning in LSTM recurrent neural networks. In International Conference on Artificial Neural Networks (pp. 684-691). Springer, Berlin, Heidelberg. Viola, P.A., Schraudolph, N.N. and Sejnowski, T.J., 1996. Empirical entropy manipulation for real-world problems. In Advances in neural information processing systems (pp. 851-857). Bengio, Y., Simard, P., Frasconi, P., 1994. Learning long-term dependencies with gradient descent is difficult. IEEE transactions on neural networks, 5(2), 157-166. Mikolov, T., Joulin, A., Chopra, S., Mathieu, M. and Ranzato, M.A., 2014. Learning longer memory in recurrent neural networks. arXiv preprint arXiv:1412.7753. Mikolov, T., 2012. Statistical language models based on neural networks. Doctor of Philosophy Thesis. Brno University of Technology. Pascanu, R., Mikolov, T., Bengio, Y., 2012. Understanding the exploding gradient problem. CoRR, abs/1211.5063. Gal, Y. and Ghahramani, Z., 2016. A theoretically grounded application of dropout in recurrent neural networks. In Advances in neural information processing systems (pp. 1019-1027). Zaremba, W., Sutskever, I. and Vinyals, O., 2014. Recurrent neural network regularization. arXiv preprint arXiv:1409.2329. Ba, J.L., Kiros, J.R. and Hinton, G.E., 2016. Layer normalization. arXiv preprint arXiv:1607.06450. 邱锡鹏 著,神经网络与深度学习,第七章 网络优化与正则化 .Github Inc. .2018-3-12 [引用日期2018-11-28]
  • Jaeger, H., 2001. The "echo state" approach to analysing and training recurrent neural networks-with an erratum note. Bonn, Germany: German National Research Center for Information Technology GMD Technical Report, 148(34), p.13. Jaeger, H., Lukoševičius, M., Popovici, D. and Siewert, U., 2007. Optimization and applications of echo state networks with leaky-integrator neurons. Neural networks, 20(3), pp.335-352. Sutskever, I., Martens, J., Dahl, G. and Hinton, G., 2013. On the importance of initialization and momentum in deep learning. In International conference on machine learning (pp. 1139-1147). Huang, G.B., Zhu, Q.Y. and Siew, C.K., 2006. Extreme learning machine: theory and applications. Neurocomputing, 70(1-3), pp.489-501. El Hihi, S. and Bengio, Y., 1996. Hierarchical recurrent neural networks for long-term dependencies. In Advances in neural information processing systems (pp. 493-499). Gers, F.A. and Schmidhuber, J., 2000. Recurrent nets that time and count. In International Joint Conference on Neural Networks, IJCNN (p. 3189). IEEE. Srivastava, N., Mansimov, E. and Salakhudinov, R., 2015. Unsupervised learning of video representations using lstms. In International conference on machine learning (pp. 843-852). Malhotra, P., Vig, L., Shroff, G. and Agarwal, P., 2015. Long short term memory networks for anomaly detection in time series. In Proceedings (p. 89). Presses Universitaires de Louvain. Gers, F.A., Schmidhuber, J. and Cummins, F., 1999. Learning to forget: Continual prediction with LSTM. Neural computation, 12(10), pp.2451–2471. Greff, K., Srivastava, R.K., Koutník, J., Steunebrink, B.R. and Schmidhuber, J., 2017. LSTM: A search space odyssey. IEEE transactions on neural networks and learning systems, 28(10), pp.2222-2232. Pascanu, R., Gulcehre, C., Cho, K. and Bengio, Y., 2013. How to construct deep recurrent neural networks. arXiv preprint arXiv:1312.6026. Parlos, A., Atiya, A., Chong, K., Tsai, W. and Fernandez, B., 1991. Recurrent multilayer perceptron for nonlinear system identification. In Neural Networks, 1991., IJCNN-91-Seattle International Joint Conference on (Vol. 2, pp. 537-540). IEEE. Graves, A., Wayne, G. and Danihelka, I., 2014. Neural turing machines. arXiv preprint arXiv:1410.5401. Liang, M. and Hu, X., 2015. Recurrent convolutional neural network for object recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 3367-3375). Kim, Y., Jernite, Y., Sontag, D. and Rush, A.M., 2016. Character-Aware Neural Language Models. In AAAI(pp. 2741-2749). Pollack, J.B., 1990. Recursive distributed representations. Artificial Intelligence, 46(1-2), pp.77-105. Tai, K.S., Socher, R. and Manning, C.D., 2015. Improved semantic representations from tree-structured long short-term memory networks. arXiv preprint arXiv:1503.00075. Battaglia, P.W., Hamrick, J.B., Bapst, V., Sanchez-Gonzalez, A., Zambaldi, V., Malinowski, M., Tacchetti, A., Raposo, D., Santoro, A., Faulkner, R. and Gulcehre, C., 2018. Relational inductive biases, deep learning, and graph networks. arXiv preprint arXiv:1806.01261. Socher, R., Lin, C.C.Y., Ng, A.Y. and Manning, C.D., 2018. Parsing natural scenes and natural language with recursive neural networks. Miljanovic, M., 2012. Comparative analysis of Recurrent and Finite Impulse Response Neural Networks in Time Series Prediction. Indian Journal of Computer Science and Engineering, pp.180-191. Bahdanau, D., Cho, K. and Bengio, Y., 2014. Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473. Kalchbrenner, N. and Blunsom, P., 2013. Recurrent continuous translation models. In Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing (pp. 1700-1709). Cho, K., Van Merriënboer, B., Bahdanau, D. and Bengio, Y., 2014. On the properties of neural machine translation: Encoder-decoder approaches. arXiv preprint arXiv:1409.1259. Sundermeyer, M., Schlüter, R. and Ney, H., 2012. LSTM neural networks for language modeling. In Thirteenth annual conference of the international speech communication association. Lai, S., Xu, L., Liu, K. and Zhao, J., 2015. Recurrent Convolutional Neural Networks for Text Classification. In AAAI(Vol. 333, pp. 2267-2273). Nakov, P., Ritter, A., Rosenthal, S., Sebastiani, F. and Stoyanov, V., 2016. SemEval-2016 task 4: Sentiment analysis in Twitter. In Proceedings of the 10th international workshop on semantic evaluation (semeval-2016) (pp. 1-18). Zhang, M., Zhang, Y. and Vo, D.T., 2016. Gated Neural Networks for Targeted Sentiment Analysis. In AAAI(pp. 3087-3093). Zen, H. and Sak, H., 2015. Unidirectional long short-term memory recurrent neural network with recurrent output layer for low-latency speech synthesis. In Acoustics, Speech and Signal Processing (ICASSP), 2015 IEEE International Conference on (pp. 4470-4474). IEEE. Wang, Y., Skerry-Ryan, R.J., Stanton, D., Wu, Y., Weiss, R.J., Jaitly, N., Yang, Z., Xiao, Y., Chen, Z., Bengio, S. and Le, Q.V., 2017. Tacotron: A fully end-to-end text-to-speech synthesis model. arXiv preprint. Wu, Z., Watts, O. and King, S., 2016. Merlin: An open source neural network speech synthesis system. Proc. SSW, Sunnyvale, USA. He, P., Huang, W., Qiao, Y., Loy, C.C. and Tang, X., 2016. Reading Scene Text in Deep Convolutional Sequences. In AAAI (Vol. 16, pp. 3501-3508). Donahue, J., Anne Hendricks, L., Guadarrama, S., Rohrbach, M., Venugopalan, S., Saenko, K. and Darrell, T., 2015. Long-term recurrent convolutional networks for visual recognition and description. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 2625-2634). Lee, B., Lee, T., Na, B. and Yoon, S., 2015. DNA-level splice junction prediction using deep recurrent neural networks. arXiv preprint arXiv:1512.05135. Park, S., Min, S., Choi, H. and Yoon, S., 2016. deepMiRGene: Deep neural network based precursor microrna prediction. arXiv preprint arXiv:1605.00017. Sønderby, S.K., Sønderby, C.K., Nielsen, H. and Winther, O., 2015. Convolutional LSTM networks for subcellular localization of proteins. In International Conference on Algorithms for Computational Biology (pp. 68-80). Springer, Cham. Fang, K., Shen, C., Kifer, D. and Yang, X., 2017. Prolongation of SMAP to spatiotemporally seamless coverage of continental US using a deep learning neural network. Geophysical Research Letters, 44(21), pp.11-030. Kratzert, F., Klotz, D., Brenner, C., Schulz, K. and Herrnegger, M., 2018. Rainfall-Runoff modelling using Long-Short-Term-Memory (LSTM) networks. Hydrology and Earth System Sciences Discussions, pp.1-26. Xingjian, S.H.I., Chen, Z., Wang, H., Yeung, D.Y., Wong, W.K. and Woo, W.C., 2015. Convolutional LSTM network: A machine learning approach for precipitation nowcasting. In Advances in neural information processing systems (pp. 802-810). Freitag, M., Amiriparian, S., Pugachevskiy, S., Cummins, N. and Schuller, B., 2017. audeep: Unsupervised learning of representations from audio with deep recurrent neural networks. The Journal of Machine Learning Research, 18(1), pp.6340-6344.
  •