LSTM
- 三个门
- 两种激活函数:sigmoid(取值在0-1之间),tanh(取值在-1~1)。

GRU
- 两种门。
- 两种激活函数:同上。
- 无输出门。

区别
- GRU将遗忘门和输入门结合在一起,只是用两个门来进行更新
- GRU中有一个重置门控制之前状态的进入量,而在LSTM里没有类似门
- LSTM对新产生的状态可以通过输出门(output gate)进行调节,而GRU对输出无任何调节。
- 计算速度更快或需要更少的数据来泛化。
- 如果你有足够的数据,LSTM的强大表达能力可能会产生更好的结果。
LSTM可以使用别的激活函数吗?
关于激活函数的选取,在LSTM中,遗忘门、输入门和输出门使用Sigmoid函数作为激活函数;在生成候选记忆时,使用双曲正切函数Tanh作为激活函数。
这两个激活函数都是饱和的,也就是说在输入达到一定值的情况下,输出就不会发生明显变化。如果是用非饱和的激活函数,例如ReLU,那么将难以实现门控的效果。
- Sigmoid函数的输出在0~1之间,符合门控的物理定义。且当输入较大或较小时,其输出会非常接近1或0,从而保证该门开或关。
- 在生成候选记忆时,使用Tanh函数,是因为其输出在−1~1之间,这与大多数场景下特征分布是0中心的吻合。此外,Tanh函数在输入为0附近相比Sigmoid函数有更大的梯度,通常使模型收敛更快。
