【深度学习笔记】GRU

1. 简介

(Gated Recurrent Unit)GRU是门控制单元,它是LSTM的一种变体,通常能够提供同等的效果, 并且计算的速度明显更快
LSTM和GRU都支持隐状态的门控,模型有专门的机制来确定应该何时更新隐状态, 以及应该何时重置隐状态。 这些机制是可学习的

2. GRU理解

GRU中有两个核心的门控,分别是重置门更新门(注意:通过sigmoid函数后两者都是(0,1)之间的值)

  • 重置门用于控制我们需要记住多少的过信息
  • 更新门用于控制旧信息在新信息中的占比

2.1 重置门\更新门公式描述

如下图所示为一个基本的结构,两个门都由上一时刻的隐状态 Ht−1 ~\mathbf H_{t-1}~ Ht1 和当前时刻的输入向量Xt\mathbf X_tXt共同组成,分别对应公式如下Rt=σ(XtWxr+Ht−1Whr+br),Zt=σ(XtWxz+Ht−1Whz+bz),\mathbf{R}_t = \sigma(\mathbf{X}_t \mathbf{W}_{xr} + \mathbf{H}_{t-1} \mathbf{W}_{hr} + \mathbf{b}_r),\\ \mathbf{Z}_t = \sigma(\mathbf{X}_t \mathbf{W}_{xz} + \mathbf{H}_{t-1} \mathbf{W}_{hz} + \mathbf{b}_z),Rt=σ(XtWxr+Ht1Whr+br),Zt=σ(XtWxz+Ht1Whz+bz),其中这里激活函数选择的一样是sigmoid,W\mathbf WW代表对应位置的权重矩阵,b\mathbf bb代表对应时刻的偏置值(公式跟LSTM很像吧)
在这里插入图片描述

2.2 候选隐变量

与LSTM不同的地方在于GRU中引入了候选隐变量的概念,如下图所示,t时刻的隐状态H~t=tanh⁡(XtWxh+(Rt⊙Ht−1)Whh+bh)\tilde{\mathbf{H}}_t = \tanh(\mathbf{X}_t \mathbf{W}_{xh} + \left(\mathbf{R}_t \odot \mathbf{H}_{t-1}\right) \mathbf{W}_{hh} + \mathbf{b}_h)H~t=tanh(XtWxh+(RtHt1)Whh+bh)可以看到其中 (Rt⊙Ht−1) ~\left(\mathbf{R}_t \odot \mathbf{H}_{t-1}\right)~ (RtHt1) 使用了上一时刻的隐状态和重置门进行哈达玛积

哈达玛积就是对应元素按乘法运算,即是cij=aij∗bij,这里a、b矩阵同维c_{ij} = a_{ij}*b_{ij},这里a 、b矩阵同维cij=aijbij,这里ab矩阵同维

为什么需要这块式子呢,其实本质就是削弱过去的信息对当前时刻影响,这个削弱因子就是上面提到的重置门((0,1)之间的数),这个因子是可以自学习的!! 然后其他就是我们熟悉的计算公式了,值得注意的是这里用的激活函数是tanh,使得输出的output控制在(-1,1)之间


在这里插入图片描述

2.3 隐变量

计算完上面这些信息后,我们就可以更新当前时刻的隐变量啦,下图就是我们完整的一个GRU单元结构,包含了上面提到过的所以控制门和其之间的计算逻辑,而我们最终更新隐状态的公式可以写成:Ht=Zt⊙Ht−1+(1−Zt)⊙H~t.\mathbf{H}_t = \mathbf{Z}_t \odot \mathbf{H}_{t-1} + (1 - \mathbf{Z}_t) \odot \tilde{\mathbf{H}}_t.Ht=ZtHt1+(1Zt)H~t.可以看到这里使用了前面提到的更新门,并且结合了前一时刻的隐状态和当前时刻的候选隐状态 。举个例子:

  • 如果说更新门状态值几乎接近1的话,那么上一个时间步的隐状态就会保留到下一个时刻中
  • 如果说更新门状态值几乎接近0的话,那么上一个时间步的隐藏状态就几乎不会流传下来(更接近候选隐藏状态)
    在这里插入图片描述

3. 总结

不同于LSTM的三个门控单元,GRU中只有两个(将输入门和输出门合并为一个更新门),简化了计算。但是对于大数据集的情况下,LSTM比GRU性能更好,而总体而言差不多

在GRU中

  • 重置门有助于捕获序列中的短期依赖关系
  • 更新门有助于捕获序列中的长期依赖关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值