2 个月前

独立循环神经网络(IndRNN):构建更长更深的RNN

Shuai Li; Wanqing Li; Chris Cook; Ce Zhu; Yanbo Gao
独立循环神经网络(IndRNN):构建更长更深的RNN
摘要

循环神经网络(RNNs)已被广泛用于处理序列数据。然而,由于众所周知的梯度消失和梯度爆炸问题,RNNs通常难以训练,并且难以学习长期模式。为了应对这些问题,长短期记忆(LSTM)和门控循环单元(GRU)被开发出来,但使用双曲正切和Sigmoid激活函数会导致梯度在层间衰减。因此,构建一个高效可训练的深度网络具有挑战性。此外,同一RNN层中的所有神经元相互纠缠,其行为难以解释。为了解决这些问题,本文提出了一种新的RNN类型——独立循环神经网络(IndRNN),其中同一层内的神经元彼此独立,并且它们在不同层之间连接。我们已经证明,通过适当调节,IndRNN可以有效防止梯度爆炸和消失问题,同时允许网络学习长期依赖关系。此外,IndRNN可以使用非饱和激活函数(如ReLU(修正线性单元)),并且仍然能够稳健地训练。多个IndRNN可以堆叠以构建比现有RNN更深的网络。实验结果表明,所提出的IndRNN能够处理非常长的序列(超过5000个时间步),可用于构建非常深的网络(实验中使用了21层),并且仍能稳健地训练。与传统的RNN和LSTM相比,在各种任务上使用IndRNN取得了更好的性能。代码可在https://github.com/Sunnydreamrain/IndRNN_Theano_Lasagne 获取。