序列模型汇总__门控循环单元(GRU)(三)

简介

  • GRU是LSTM网络的一种效果很好的变体,它较LSTM网络的结构更加简单,而且效果也很好,因此也是当前非常流形的一种网络。GRU既然是LSTM的变体,因此也是可以解决RNN网络中的长依赖问题。
  • GRU与LSTM相比,少了一个gate,由此就少了一些矩阵乘法,GRU虽与LSTM的效果较近,但却因此在训练中节省了很多时间,在文本类处理中,相比用LSTM,更建议用GRU来训练。

GRU原理:
在LSTM中引入了三个门函数:输入门、遗忘门和输出门来控制输入值、记忆值和输出值。而在GRU模型中只有两个门:分别是更新门和重置门。具体结构如下图所示:
在这里插入图片描述
图中的zt和rt分别表示更新门和重置门。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门控制前一状态有多少信息被写入到当前的候选集 h~t 上,重置门越小,前一状态的信息被写入的越少。

GRU前向传播计算:
根据上面的GRU的模型图,我们来看看网络的前向传播公式:
在这里插入图片描述
LSTM与GRU对比:
在这里插入图片描述

  1. 对memory 的控制
    LSTM: 用output gate 控制,传输给下一个unit。
    GRU:直接传递给下一个unit,不做任何控制。
  2. input gate 和reset gate 作用位置不同
    LSTM:计算new memory 时,不对上一时刻的信息做任何控制,而是用forget gate 独立的实现这一点。
    GRU: 计算new memory 时利用reset gate 对上一时刻的信息 进行控制。

而它们最大的相似之处就是, 在从t 到 t-1 的更新时都引入了加法。
这个加法的好处在于能防止梯度弥散,因此LSTM和GRU都比一般的RNN效果更好。

猜你喜欢

转载自blog.csdn.net/qq_42823043/article/details/89504096