循环神经网络 订阅
循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network) [1]  。对循环神经网络的研究始于二十世纪80-90年代,并在二十一世纪初发展为深度学习(deep learning)算法之一 [2]  ,其中双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的的循环神经网络 [3]  。循环神经网络具有记忆性、参数共享并且图灵完备(Turing completeness),因此在对序列的非线性特征进行学习时具有一定优势 [4]  。循环神经网络在自然语言处理(Natural Language Processing, NLP),例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报。引入了卷积神经网络(Convoutional Neural Network,CNN)构筑的循环神经网络可以处理包含序列输入的计算机视觉问题。 展开全文
循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network) [1]  。对循环神经网络的研究始于二十世纪80-90年代,并在二十一世纪初发展为深度学习(deep learning)算法之一 [2]  ,其中双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的的循环神经网络 [3]  。循环神经网络具有记忆性、参数共享并且图灵完备(Turing completeness),因此在对序列的非线性特征进行学习时具有一定优势 [4]  。循环神经网络在自然语言处理(Natural Language Processing, NLP),例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报。引入了卷积神经网络(Convoutional Neural Network,CNN)构筑的循环神经网络可以处理包含序列输入的计算机视觉问题。
信息
外文名
Recurrent Neural Network, RNN
提出时间
1986-1990年
提出者
M. I. Jordan,Jeffrey Elman
类    型
机器学习算法,神经网络算法
中文名
循环神经网络
应    用
自然语言处理,计算机视觉
所属学科
人工智能
循环神经网络历史
1933年,西班牙神经生物学家Rafael Lorente de Nó发现大脑皮层(cerebral cortex)的解剖结构允许刺激在神经回路中循环传递,并由此提出反响回路假设(reverberating circuit hypothesis) [5]  。该假说在同时期的一系列研究中得到认可,被认为是生物拥有短期记忆的原因 [6-7]  。随后神经生物学的进一步研究发现,反响回路的兴奋和抑制受大脑阿尔法节律(α-rhythm)调控,并在α-运动神经(α-motoneurones )中形成循环反馈系统(recurrent feedback system) [8-9]  。在二十世纪70-80年代,为模拟循环反馈系统而建立的一些数学模型为RNN带来了启发 [10-12]  。1982年,美国学者John Hopfield基于Little (1974) [12]  的神经数学模型使用二元节点建立了具有结合存储(content-addressable memory)能力的神经网络,即Hopfield神经网络 [13]  。Hopfield网络是一个包含递归计算和外部记忆(external memory)的神经网络,其内部所有节点都相互连接,并使用能量函数进行非监督学习 [14]  。1986年,Michael I. Jordan在分布式并行处理(parallel distributed processing)理论下提出了Jordan网络 [15]  。Jordan网络的每个隐含层节点都与一个状态单元(state units)相连以实现延时输入,并使用logistic函数作为激励函数 [15]  。Jordan网络使用反向传播算法(Back-Probagation, BP)进行学习,并在测试中提取了给定音节的语音学特征 [15]  。之后在1990年,Jeffrey Elman提出了第一个全连接的RNN,即Elman网络 [16]  。Jordan网络和Elman网络都从单层前馈神经网络出发构建递归连接,因此也被称为简单循环网络(Simple Recurrent Network, SRN) [4]  。在SRN出现的同一时期,RNN的学习理论也得到发展。在反向传播算法被提出后 [17]  ,学界开始尝试在BP框架下对循环神经网络进行训练 [15]  [2]  [18]  。1989年,Ronald Williams和David Zipser提出了RNN的实时循环学习(Real-Time Recurrent Learning, RTRL) [19]  。随后Paul Werbos在1990年提出了随时间反向传播算法(BP Through Time,BPTT) [20]  。1991年,Sepp Hochreiter发现了循环神经网络的长期依赖问题(long-term dependencies problem),即在对长序列进行学习时,循环神经网络会出现梯度消失(gradient vanishing)和梯度爆炸(gradient explosion)现象,无法掌握长时间跨度的非线性关系 [21-22]  。为解决长期依赖问题,RNN的改进不断出现,较重要的包括Jurgen Schmidhuber及其合作者在1992和1997年提出的神经历史压缩器(Neural History Compressor, NHC) [23]  和长短期记忆网络(Long Short-Term Memory networks, LSTM) [24]  ,其中包含门控的LSTM受到了关注。同在1997年,M. Schuster和K. Paliwal提出了具有深度结构的双向循环神经网络(Bidirectional RNN, BRNN),并对其进行了语音识别试验 [25]  。双向和门控构架的出现提升了RNN的学习表现,在一些综述性研究中,被认为是RNN具有代表性的研究成果 [2]  。十一世纪后,随着深度学习理论的出现和数值计算能力的提升,拥有更高复杂度的RNN开始在自然语言处理问题中得到关注。2005年,Alex Graves等将双向LSTM应用于语音识别,并得到了优于隐马尔可夫模型(Hidden Markov Model, HMM)的表现 [26]  。2014年,K. Cho提出了门控循环单元网络(Gated Recurrent Unit networks, GRU),该方法是LSTM之后另一个受到关注的RNN门控构架 [27]  。2010年,Tomas Mikolov及其合作者提出了基于RNN的语言模型 [28]  [29]  。2013-2015年, Y. Benjo、D. Bahdanau等提出了编码器-解码器、自注意力层等一系列RNN算法,并将其应用于机器翻译问题 [30-31]  。为语言模型设计的RNN算法在随后的研究中启发了包括ransformers、XLNet、ELMo、BERT等复杂构筑 [32-34]  。
收起全文
精华内容
下载资源
问答
  • 循环神经网络

    2018-02-27 22:49:46
    循环神经网络 循环神经网络 零基础入门深度学习 循环神经网络 循环神经网络 零基础入门深度学习

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,316
精华内容 4,126
关键字:

循环神经网络