GRU网络

GRU网络

简介

随着 LSTM 在自然语言处理特别是文本分类任务的广泛应 用,人们逐渐发现 LSTM 具有训练时间长、参数较多、内部计 算复杂的缺点。Cho 等人在 2014 年进一步提出了更加简单的、 将 LSTM 的单元状态和隐层状态进行合并的、还有一些其他的 变动的 GRU 模型。将忘记门和输入门合成了一个单一的更新门。同样还混合了细胞状态和隐藏状态。GRU把LSTM中的遗忘门和输入们用更新门来替代。 把cell state和隐状态ht进行合并,在计算当前时刻新信息的方法和LSTM有所不同。

GRU 模型是一种保持了 LSTM 效果、具有 更加简单的结构、更少的参数、更好的收敛性的模型。GRU 模 型由更新门和重置门两个门组成。

前一个时刻的输出隐层对当前隐层的影响程度由更新门控制,更新门的值越大说明前一时 刻的隐层输出对当前隐层的影响越大;

前一时刻的隐层信息被忽略的程度重置门控制,重置门的值越小说明忽略得越多。 GRU 结构更加精简,

使用LSTM的原因之一是解决RNN Deep Network的Gradient错误累积太多,以至于Gradient归零或者成为无穷大,所以无法继续进行优化的问题。GRU的构造更简单:比LSTM少一个gate,这样就少几个矩阵乘法。在训练数据很大的情况下GRU能节省很多时间。GRU ,简便了计算方法(简化运算),也避免了梯度消失优化LSTM。

GRU模型

与LSTM不同,GRU只有两个门了,分别为更新门和重置门,即图中的zt rt。

更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。

重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。

GRU网络_第1张图片

GRU网络_第2张图片

GRU训练

从前面的公式中可以看到需要学习的参数就是Wr Wz Wh Wo那些权重参数,其中前三个权重都是拼接的,所以在学习时需要分割出来,即 

GRU网络_第3张图片

输出层的输入yit=Woh,输出为yot=σ(yit)yti=Woh,输出为yto=σ(yti)。

设某时刻的损失函数为Et=1/2∗(yd−yot)2Et=1/2∗(yd−yto)2,则某样本的损失为

与前面LSTM网络类似,最终可以推出

GRU网络_第4张图片

具体如图 3 所示。

GRU网络_第5张图片

GRU网络_第6张图片

GRU 模型的更新方式如下:

GRU网络_第7张图片

其中:    t r 表示 t 时刻的重置门,

  t z 表示 t 时刻的更新门,

t h 表 示t时刻的候选激活状态,

t h 表示t时刻的激活状态,

ht-1 表示(t-1) 时刻的隐层状态。

更新门 z 由当前状态需要被遗忘的历史信息 和接受的新信息决定;

重置门 r 由候选状态从历史信息中得到 的信息决定。

GRU与LSTM

GRU网络_第8张图片

GRU网络_第9张图片

 

你可能感兴趣的:(深度学习)