[论文解读] Deep Independently Recurrent Neural Network (IndRNN)
IndRNN 通过 Hadamard 乘积引入独立的循环权重,使得非常深的 RNN 和在长序列上使用 ReLU 进行鲁棒训练成为可能。它在若干任务上优于传统 RNN、LSTM 和 Transformer,并且速度显著更快。
Recurrent neural networks (RNNs) are known to be difficult to train due to the gradient vanishing and exploding problems and thus difficult to learn long-term patterns and construct deep networks. To address these problems, this paper proposes a new type of RNNs with the recurrent connection formulated as Hadamard product, referred to as independently recurrent neural network (IndRNN), where neurons in the same layer are independent of each other and connected across layers. Due to the better behaved gradient backpropagation, IndRNN with regulated recurrent weights effectively addresses the gradient vanishing and exploding problems and thus long-term dependencies can be learned. Moreover, an IndRNN can work with non-saturated activation functions such as ReLU (rectified linear unit) and be still trained robustly. Different deeper IndRNN architectures, including the basic stacked IndRNN, residual IndRNN and densely connected IndRNN, have been investigated, all of which can be much deeper than the existing RNNs. Furthermore, IndRNN reduces the computation at each time step and can be over 10 times faster than the commonly used Long short-term memory (LSTM). Experimental results have shown that the proposed IndRNN is able to process very long sequences and construct very deep networks. Better performance has been achieved on various tasks with IndRNNs compared with the traditional RNN, LSTM and the popular Transformer.
研究动机与目标
- 解决 RNN 中的梯度消失与梯度爆炸,以学习长期依赖关系。
- 实现具有稳定训练的非常深的 RNN 架构。
- 允许使用非饱和激活函数如 ReLU,同时保持训练鲁棒性。
- 通过使同一层中的神经元彼此独立来提供可解释性。
- 提高计算效率,以在速度上超越传统 RNN 与 LSTM。
提出的方法
- 提出 IndRNN,其循环输入为 u ⊙ h_{t-1},其中向量 u,使得 h_t = σ(W x_t + u ⊙ h_{t-1} + b)。
- 将 IndRNN 扩展为卷积变体和深层架构(堆叠、残差、密集连接)。
- 推导 IndRNN 的时序反向传播,表明梯度取决于 u^T−t 和 σ′,实现显式梯度调控。
- 建立记忆–循环权重关系和初始化范围,以控制长时、短时和无记忆动力学。
- 展示参数和计算的减少,同时更新与 ReLU、批归一化和 dropout 兼容。
- 提供一个针对 CUDA 的 PyTorch 实现并在多项任务上与 LSTM、SRU 和 Transformer 进行比较。
实验结果
研究问题
- RQ1IndRNN 是否能够处理非常长的序列(如几千步)并保持梯度稳定?
- RQ2IndRNN 能否使用非饱和激活如 ReLU 进行鲁棒训练?
- RQ3作为带残差和密集连接设计的深层架构,IndRNN 的表现如何?
- RQ4与 LSTM 和 Transformer 相比,IndRNN 在计算和参数方面有哪些效率提升?
- RQ5不同变体的 IndRNN(基本、残差、密集)在语言建模、序列分类和基于动作识别等任务中的比较如何?
主要发现
- IndRNN 能处理超过 5000 步的序列,并支持非常深的架构(例如 21 层残差 IndRNN)。
- 对循环权重 u_n 的调控可控制梯度的爆炸/消失,从而实现使用 ReLU 的稳定训练。
- IndRNN 通过逐元素循环运算减少每个时间步的计算,在报道的设置中达到比 cuDNN LSTM 快10 倍以上的加速。
- IndRNN 的架构变体(堆叠、残差、密集连接)在序列化的 MNIST、语言模型和基于骨架的动作识别任务上提升了性能。
- 在多项基准测试中,使用 ReLU 且进行适当调控的 IndRNN 与传统 RNN、LSTM、Transformer 相抗衡。
- 提供一个针对 CUDA 的开源实现,以便与基于 LSTM 的模型相比实现更快的训练。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。