循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)。
对循环神经网络的研究始于二十世纪80-90年代,并在二十一世纪初发展为深度学习(deep learning)算法之一,其中双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的的循环神经网络 。 (推荐学习:web前端视频教程)
循环神经网络具有记忆性、参数共享并且图灵完备(Turing completeness),因此在对序列的非线性特征进行学习时具有一定优势。
循环神经网络在自然语言处理(Natural Language Processing, NLP),例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报。
引入了卷积神经网络(Convoutional Neural Network,CNN)构筑的循环神经网络可以处理包含序列输入的计算机视觉问题。
在SRN出现的同一时期,循环神经网络的学习理论也得到发展。在反向传播算法的研究受到关注后 [18] ,学界开始尝试在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)现象,无法掌握长时间跨度的非线性关系 。
为解决长期依赖问题,大量优化理论得到引入并衍生出许多改进算法,包括神经历史压缩器(Neural History Compressor, NHC) 、长短期记忆网络(Long Short-Term Memory networks, LSTM) 、门控循环单元网络(Gated Recurrent Unit networks, GRU) 、回声状态网络(echo state network)、独立循环神经网络(Independent RNN)等。
Atas ialah kandungan terperinci 什么是一种处理时序数据的神经网络. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!