本文仅对NLP应用广泛的RNN结构进行简单汇总比较:好看的图是copy的网上现有最形象的,不好看的是我自己画的。
一、RNN标准版---传统RNN
可以有效处理序列的深度学习。双向RNN未画出,方向相反,用于上下文参考。
二、LSTM长短时记忆与GRU----现代RNN
有效解决RNN中长序列的梯度消失和梯度爆炸问题,解决方式是改变传统RNN时刻间的连乘改为叠加的形式。
GRU相比LSTM少了一个门,参数量减少。
双向LSTM和双向GRU未画出,方向相反,用于上下文参考。
四、DT(DL4MTGRU)---2019-06版RNN
DT网络包含两部分,拥有更多门的GRU CELL和可以循环多次的new state提取部分。
GRU CELL使用了更多的门,加强了上一时刻状态与当前时刻之间的控制。
new state部分,可以循环多次来提取有效特征。
双向DT未画出,方向相反,用于上下文参考。
DT 其中的 GRU CELL中的三个sigmoid门的作用分别是:
1、r 类似LSTM的遗忘门,保留上一时刻需要保留的信息
2、r2 类似LSTM输入门,但这里的输入不包括上一时刻的状态,是真正的本次时刻的输入
3、u 类似LSTM的输出门,把输入门与遗忘门的数据进行了叠加
4、-1 过滤掉上一时刻中与本次输出门重复的信息
参考资料:
RNN-LSTM-GRU-最小GRU: https://www.jianshu.com/p/166db8ab3cef
难以置信!LSTM和GRU的解析从未如此清晰: https://blog.csdn.net/dqcfkyqdxym3f8rb0/article/details/82922386