本文针对论文Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling 的总结,我会通过两个方面介绍论文:一是传统RNN和门控RNN区别与联系;二是两种门控RNN LSTM和GRU的区别与联系。
注: 本文不涉及RNN、LSTM和GRU基本概念介绍。若想了解,可以看我之前写的博客 。
1. 传统RNN vs 门控RNN
传统RNN的问题 :长期依赖会造成梯度消失(多数情况下) 或梯度爆炸(少数情况下) 。
解决以上问题的方案:
- 以新的方法改善或者代替传统的SGD方法,如Bengio提出的clipped gradient;
- 设计更为精妙的activation function或recurrent unit,如LSTM和GRU。原因:LSTM和GRU都能通过各种Gate将重要特征保留,保证其在long-term 传播的时候也不会被丢失;还有一个作用就是有利于BP的时候不容易梯度消失。
传统RNN和门控RNN的不同点:
- 传统RNN会每一步都重写”记忆“,而门控RNN可以在某些步骤保持原有”记忆“;
- 门控RNN收敛速度更快,泛化能力更好。
2. LSTM vs GRU
相同点; 都属于”加模型“
不同点:
- LSTM可控”记忆“的曝光度,而GRU完全暴露”记忆“,是不可控的;
- LSTM的新”记忆“是与forget gate独立的,而GRU的新”记忆“受update gate控制