RNN & GRU & LSTM 区别与联系

这里讲一下RNN(又称“valina RNN”)&GRU&LSTM三者的具体结构以及之间的联系。

1、RNN

 

在基本的RNN中(valina RNN),输出和隐状态相同;

2、GRU

加入了reset门和update门,前者用于确定前一步的隐状态有多少可以输入当前步,后者用于确定当前步的隐状态有多少可以输出下一步,结构如下:

多层GRU:

 3、LSTM

LSTM加入了输入门、忘记门、输出门,也因此多引入了cell state(细胞状态),结构如下:

 多层LSTM:

 三者区别

(1)三者复杂度比较:LSTM > GRU > RNN,当数据集不大时,GRU和LSTM难分伯仲、但是数据集变大时LSTM更优;

(2)RNN和GRU都只有隐状态,而LSTM不仅传递隐状态还传递细胞状态;

(3)GRU:reset门(操作对象为ht-1),update门(操作对象为ht和ht-1);

LSTM:input门(操作对象为ct),forget门(操作对象为ct-1),output门(操作对象为ht);

 

posted @ 2020-04-28 10:48  outthinker  阅读(4111)  评论(0编辑  收藏  举报