LSTM
lstm简介
RNN把上一个状态传递到下一个状态,但是不能处理长依赖的问题,RNN的结构如下所示:
LSTM也有这种链式结构,但循环单元有着一种不同的结构。里面不再是只有单一的神经网络层,里面有四个,并且他们都以非常简单的方式起作用。
现在先不用担心内部的细节。我们稍后会一步一步来深入讲解LSTM。现在,我们先熟悉我们将要使用的定义:
在上面的图中,每行都有一个箭头,从一个结点的输出到另外的结点的输入。粉色的圆代表结点操作,比如向量相加,而黄色的长方形是学习的神经网络层。 线的合并代表链接,而箭头的分叉代表内容复制后流向不同的位置。
GRU
GRU的结构如下,相对于LSTM,他们的区别如下:
- GRU的参数更少,模型更简单,将原来的遗忘门和输入门变成单独的更新门,合并了它也合并了cell state和hidden state,因而训练稍快或需要更少的数据来泛化。
- 如果足够的数据,LSTM的强大表达能力可能会产生更好的结果。
- GRU 有两个门(重置门与更新门),而 LSTM 有三个门(输入门、遗忘门和输出门)。
- GRU 并不会控制并保留内部记忆(c_t),且没有 LSTM 中的输出门。
- LSTM 中的输入与遗忘门对应于 GRU 的更新门,重置门直接作用于前面的隐藏状态。
- 在计算输出时并不应用二阶非线性。
参考:
https://zhuanlan.zhihu.com/p/34203833
LSTM 通俗理解:https://blog.youkuaiyun.com/v_JULY_v/article/details/89894058
GRU :https://www.jiqizhixin.com/articles/2017-12-24