
摘要
循环神经网络(RNNs)由于梯度消失和梯度爆炸问题而难以训练,因此也难以学习长期模式并构建深层网络。为了解决这些问题,本文提出了一种新的RNN类型,其循环连接被定义为Hadamard乘积,称为独立循环神经网络(IndRNN),其中同一层内的神经元相互独立,并且在不同层之间进行连接。由于梯度反向传播更为稳定,通过调节循环权重,IndRNN有效地解决了梯度消失和梯度爆炸问题,从而可以学习长期依赖关系。此外,IndRNN可以使用非饱和激活函数(如ReLU(修正线性单元))并且仍然能够稳健地训练。研究了不同的更深的IndRNN架构,包括基本堆叠的IndRNN、残差IndRNN和密集连接的IndRNN,所有这些架构都可以比现有的RNN深得多。此外,IndRNN减少了每个时间步的计算量,并且可以比常用的长短期记忆网络(LSTM)快10倍以上。实验结果表明,所提出的IndRNN能够处理非常长的序列并构建非常深的网络。在各种任务中,与传统的RNN、LSTM以及流行的Transformer相比,IndRNN表现出更好的性能。
代码仓库
Sunnydreamrain/IndRNN_pytorch
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| language-modelling-on-penn-treebank-character | Dense IndRNN | Bit per Character (BPC): 1.18 |
| language-modelling-on-penn-treebank-word | Dense IndRNN+dynamic eval | Test perplexity: 50.97 |
| language-modelling-on-penn-treebank-word | Dense IndRNN | Test perplexity: 56.37 |
| sequential-image-classification-on-sequential | Dense IndRNN | Permuted Accuracy: 97.2% Unpermuted Accuracy: 99.48% |
| skeleton-based-action-recognition-on-ntu-rgbd | Dense IndRNN | Accuracy (CS): 86.70 Accuracy (CV): 93.97 |