
摘要
我们提出了一种新的堆叠循环单元(STAR)用于循环神经网络(RNNs),该单元在参数数量上少于广泛使用的长短期记忆(LSTM)和门控循环单元(GRU),同时对梯度消失或爆炸问题具有更强的鲁棒性。将循环单元堆叠成深层架构面临两个主要限制:(i) 许多循环单元(如LSTM)在参数和计算资源方面成本较高;(ii) 深层RNN在训练过程中容易出现梯度消失或爆炸的问题。我们研究了多层RNN的训练过程,并考察了梯度在“垂直”方向上传播时的幅度变化。我们发现,根据基本循环单元的结构不同,梯度会系统性地衰减或放大。基于我们的分析,我们设计了一种新型的门控单元,能够更好地保持梯度的幅度。我们在大量序列建模任务中验证了这一设计,并证明所提出的STAR单元可以构建和训练更深的循环架构,最终提高性能并降低计算成本。
代码仓库
0zgur0/STAR_Network
官方
tf
GitHub 中提及
titu1994/tf_star_rnn
tf
GitHub 中提及
croros/STAR_Network_Pytorch
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| action-recognition-in-videos-on-jester-1 | convSTAR | Val: 92.7 |
| language-modelling-on-penn-treebank-character | STAR | Bit per Character (BPC): 1.30 |
| sequential-image-classification-on-sequential | STAR | Unpermuted Accuracy: 99.4% |