GRU(门控循环单元),易懂。

一、什么是GRU?

GRU(Gate Recurrent Unit)是循环神经网络(RNN)的一种,可以解决RNN中不能长期记忆和反向传播中的梯度等问题,与LSTM的作用类似,不过比LSTM简单,容易进行训练。

二、GRU详解

GRU模型中有两个门,重置门和更新门,具体作用后面展开说。

先来看一张GRU的图,看不懂没关系,后面慢慢展开说。

符号说明:

x_{t}:当前时刻输入信息 

h_{t-1}:上一时刻的隐藏状态。隐藏状态充当了神经网络记忆,它包含之前节点所见过的数据的信息

h_{t}:传递到下一时刻的隐藏状态

\tilde{h}_{_{t}}:候选隐藏状态

r_{t}:重置门

z_{t}:更新门

\sigma:sigmoid函数,通过这个函数可以将数据变为0-1范围的数值。

tanh: tanh函数,通过这个函数可以将数据变为[-1,1]范围的数值

先不看内部具体的复杂关系,将上图简化为下图:

 结合x_{t} 和 h_{t-1},GRU会得到当前隐藏节点的输出y_{t}和传递给下一个节点的隐藏状态h_{t},这个h_{t} 

的推导是GRU的关键所在,我们看一下GRU所用到的公式:

这四个公式互有关联,并不是单独去使用,下面我们详细展开。

1. 重置门

 重置门决定了如何将新的输入信息与前面的记忆相结合,这句话猛的一看也不好理解,我们再继续拆解。

 

 将这个图片转化为公式就是重置门的公式:

这里W_{r}并不是一个值,而是一个权重矩阵。

用这个权重矩阵对x_{t}h_{t-1}拼接而成的矩阵进行线性变换(两个矩阵相乘)。然后将两个矩阵相乘得到的值投入sigmoide函数,会得到r_{t}的值,比如:0.6 。这个值会用到候选隐藏状态的公式中,即下面这个公式:

 为了方便理解,我们将这个公式展开:

\tilde{h}_{t}=tanh(x_{t} W_{xh}+(r_{t}\bigodot h_{t-1})W_{hh}+b_{h})

下面便是重点:

r_{t}的值越小,它与h_{t-1}哈达玛积出来的矩阵数值越小,再与权重矩阵相乘得到的值越小,也就是这个值越小,

说明上一时刻需要遗忘的越多,丢弃的越多。

r_{t}的值越大, 值越大,说明上一时刻需要记住的越多,新的输入信息(也就是当前的输入信息x_{t})与前面的记忆相结合的越多。

r_{t}的值接近0时,值也接近为0,说明上一时刻的内容需要全部丢弃,只保留当前时刻的输入,所以可以用来丢弃与预测无关的历史信息。

r_{t}的值接近1时,值也接近为1,表示保留上一时刻的隐藏状态。 

这就是重置门的作用,有助于捕捉时间序列里短期的依赖关系。

2.更新门

 更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,也就是更新门帮助模型决定到底要将多少过去的信息传递到未来,简单来说就是用于更新记忆。结合下面两个公式比较好理解:

更新门公式:

 

更新记忆表达式:

 z_{t}越接近1,代表”记忆“下来的数据越多;而越接近0则代表”遗忘“的越多。

 :表示对上一时刻隐藏状态进行选择性“遗忘”。忘记h_{t-1}中一些不重要的信息,把不相关的丢弃。

:表示对候选隐藏状态的进一步选择性”记忆“。会忘记 \tilde{h}_{_{t}}中的一些不重要的信息。也就是对\tilde{h}_{_{t}}中的某些信息进一步选择。

综上,

 h_{t}忘记传递下来的 h_{t-1}中的某些信息,并加入当前节点输入的某些信息。这就是最终的记忆。

门控循环单元GRU不会随时间而清除以前的信息,它会保留相关的信息并传递到下一个单元。

参考资料:

人人都能看懂的GRU - 知乎 (zhihu.com)

 GRU学习总结_哔哩哔哩_bilibili

  • 121
    点赞
  • 700
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
门控循环神经网络是在简单循环神经网络的基础上进行改进的一种网络结构。它引入了门控机制来控制信息的传递。这些门控机制可以决定记忆单元中需要保留多少信息,需要丢弃多少信息,以及新的状态信息应该保存到记忆单元中的程度等。这样的设计使得门控循环神经网络能够学习更长跨度的依赖关系,同时避免了梯度消失和梯度爆炸的问题。 具体来说,门控循环神经网络通过在状态和隐藏层之间引入线性依赖关系来解决梯度消失和梯度爆炸的问题。相较于普通循环神经网络,门控循环神经网络的状态和隐藏层之间的关系更加复杂,参数也更多。其中,LSTMGRU是两种常见的门控循环神经网络模型。 在门控循环神经网络中,LSTM(长短期记忆)和GRU门控循环单元)是两种常见的单元类型。LSTM通过输入门、遗忘门和输出门来控制信息的流动,以及记忆单元的更新和输出。而GRU则通过更新门和重置门来控制信息的传递和记忆单元的更新。当更新门和重置门的值分别为1和0时,GRU网络就退化成了简单循环神经网络。 总结起来,门控循环神经网络是一种具备门控机制的循环神经网络,能够更好地处理长期依赖关系并避免梯度消失和梯度爆炸的问题。其中,LSTMGRU是常见的门控循环神经网络模型。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [门控循环神经网络LSTMGRU(附python演练)](https://blog.csdn.net/qq_42722197/article/details/125713815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值