GRU结构为什么可以防止梯度消失

目录

what

  • 所谓防止梯度消失,其实就是防止时间距离过大的两层神经元的参数w之间的联系过少,即 d W j / d W i d_{W_{j}}/d_{W_{i}} dWj/dWi过小,j和i的距离很大。

why

  • 我们先看原始的RNN结构,从多对多的例子来看:
    在这里插入图片描述
    对w进行合并之后就是:
    在这里插入图片描述
  • 再看使用GRU之后的表达式:
    在这里插入图片描述
    我们可以看到,差别就是r和z的出现,**r是重置门,决定遗忘先前信息的程度。z是更新门,它决定了要忘记哪些信息以及哪些新信息需要被添加。**在添加这两个门之前,我们是完全接受 h t h_{t} ht而不再使用 h t − 1 h_{t-1} ht1的,但是因为有了z门,我们对 h t − 1 h_{t-1} ht1也赋予了话语权,这是最重要的,前面的激活值可以直接参与影响后面的激活值,即 h t − 1 h_{t-1} ht1可以直接影响 h t h_{t} ht,这无意中影响了什么?当然影响了 d w t / d w t − 1 d_{w_{t}}/d_{w_{t-1}} dwt/dwt1,大大增加了这个比值,但是这与原始的相比也仅仅是增大了相邻两个元素的梯度关联程度啊(即 W t − 1 对 于 W t W_{t-1}对于W_{t} Wt1Wt的影响),并没有跨层影响啊。
  • 这么想是错误的,下面看这个例子:
    在这里插入图片描述
    cat(下标i)对应was(下标j),cats对应were,然后中间经过了漫长的从句,所以说, d W i 对 于 d W j d_{W_{i}}对于d_{W_{j}} dWidWj的影响难道就没有了嘛?假如使用原始的结构的话,可以说影响很小,但是使用了GRU之后,我们可以看到上面,我们完全可以使中间经过的层的z等于0,这样的话,就可以使得 d W i 直 接 影 响 d W j d_{W_{i}}直接影响d_{W_{j}} dWidWj
  • 有的同学可能会问,这些z门会这么听话嘛?当然不会,可是我们可以训练啊,其实z也是个矩阵啊,它会注意到主语单词后缀为s这个特征可以影响谓语。 很不可思议,其实我也刚接触RNN一天,我觉得是这样的,我觉得它是会学习到主谓宾结构等等的,因为我觉得人脑可以做到,大脑或许做得不够好,但是也会去模仿这个过程。此处的解释可能有些瑕疵,我会在以后学习RNN的过程中再体会,并可能做出修改。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CtrlZ1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值