avatar

Catalog
GRU

介绍

GRU全称是Gate Recurrent Unit,也是LSTM的一个变种,它较LSTM网络的结构更加简单,而且效果也很好,因此也是当前非常流形的一种网络。

v2-8134a00c243153bfd9fd2bcbe0844e9c_1200x500

1335117-20180727095108158-462781335

根据这两个图描述的前向传播公式如下:

微信截图_20200223184933

文字描述

  • 首先将上次的隐藏层状态(长期记忆)和输入x串接起来,乘上不同的参数矩阵,再通过σ激活函数形成重置门和更新门

  • 将上次隐藏层的状态(长期记忆)通过重置门重置后,与输入x串接起来,乘上参数矩阵,再通过tanh激活函数形成临时记忆

  • 通过更新门,对长期记忆进行选择性遗忘,同时将临时记忆选择性更新到长期记忆中

GRU与LSTM类比:

  • GRU用一个更新门实现了类似LSTM中遗忘门和输入门两个门的功能,而LSTM中的输出门的功能,则用GRU中的重置门实现。

  • 在GRU中,隐藏层状态就是长期记忆,而将长期记忆通过重置门后与这次的输入串接,我们认为包含较多的本次记忆信息,而包含较少的长期记忆信息。在LSTM中也有类似的操作,都将隐藏层状态与输入串接来代表本次的输入,只是具体的实现不同。

  • GRU把旧知识的遗忘和新知识的记忆联动起来,有多大程度的长期记忆的遗忘,就有多大程度的临时记忆的加入。而LSTM中遗忘和记忆的过程是分开的。

作者的疑惑——求解释

关于为什么LSTM和GRU都要把输入的信息和上次的隐藏层状态串接,本人也没有得到专业的解释。对此,本人的猜测是,把他们串接起来就可以计算之前步和当前步的相关性,之后乘以矩阵变换维度,再乘以激活函数映射到一定的数值范围内,这时候就可以根据之前步和当前步的相关性进行遗忘和更新以及输出。从这个角度来说,LSTM和GRU都很简单,都是通过串接之后再计算相关性来实现门控,再通过这个门控控制记忆和遗忘

Author: realLiuSir
Link: http://yoursite.com/2020/02/23/GRU/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
    微信
  • 支付寶
    支付寶