门控循环单元(Gate Recurrent Unit,GRU)

目录

1 GRU的输入输出结构

2 GRU的内部结构

2.1 重置门 reset gate

2.2 更新门 update gate

3 LSTM与GRU的关系

4. 总结

5 吴恩达视频截图


        LSTM 通过门控机制使循环神经网络不仅能记忆过去的信息,同时还能选择性地忘记一些不重要的信息而对长期语境等关系进行建模,而 GRU 基于这样的想法在保留长期序列信息下减少梯度消失问题。

        相比LSTM,使用GRU能够达到相当的效果,并且相比之下更容易进行训练,能够很大程度上提高训练效率,因此很多时候会更倾向于使用GRU。

1 GRU的输入输出结构

        GRU的输入输出结构与普通的RNN是一样的。

        有一个当前的输入  ,和上一个节点传递下来的隐状态(hidden state)  ,这个隐状态包含了之前节点的相关信息。

        结合  和 ,GRU会得到当前隐藏节点的输出  和传递给下一个节点的隐状态  。

2 GRU的内部结构

        首先,我们先通过上一个传输下来的状态  和当前节点的输入  来获取两个门控状态。如下图所示,其中  控制重置的门控(reset gate),  为控制更新的门控(update gate)

Tips:  sigmoid函数,通过这个函数可以将数据变换为0-1范围内的数值,从而来充当门控信号。

  • 复位门的功能与LSTM单元的输入门相近,
  • 更新门则同时实现了遗忘门和输出门的功能。

2.1 重置门 reset gate

        与LSTM分明的层次结构不同,得到门控信号之后,首先使用重置门控来得到“重置”之后的数据  ,再将  与输入  进行拼接,再通过一个tanh激活函数来将数据放缩到-1~1的范围内。即得到如下图所示的  。

注: 是Hadamard Product,也就是操作矩阵中对应的元素相乘,因此要求两个相乘矩阵是同型的。  则代表进行矩阵加法操作。

        

        

        这里的  主要是包含了当前输入的  数据。有针对性地对  添加到当前的隐藏状态,相当于“记忆了当前时刻的状态”。类似于LSTM的选择记忆阶段。

2.2 更新门 update gate

       最后介绍GRU最关键的一个步骤,我们可以称之为”更新记忆“阶段。

       在这个阶段,我们同时进行了遗忘了记忆两个步骤。我们使用了先前得到的更新门控  (update gate)。

         

        更新表达式

        

        首先再次强调一下,门控信号(这里的  )的范围为0~1。门控信号越接近1,代表”记忆“下来的数据越多;而越接近0则代表”遗忘“的越多。

        GRU很聪明的一点就在于,我们使用了同一个门控  就同时可以进行遗忘和选择记忆(LSTM则要使用多个门控)

  •  :表示对原本隐藏状态的选择性“遗忘”。这里的  可以想象成遗忘门(forget gate),忘记  维度中一些不重要的信息。
  •  : 表示对包含当前节点信息的  进行选择性”记忆“。与上面类似,这里的  同理会忘记  维度中的一些不重要的信息。或者,这里我们更应当看做是对  维度中的某些信息进行选择。
  •  :结合上述,这一步的操作就是忘记传递下来的  中的某些维度信息,并加入当前节点输入的某些维度信息。
可以看到,这里的遗忘   和选择   是联动的。也就是说,对于传递进来的维度信息,我们会进行选择性遗忘,则遗忘了多少权重 (  ),我们就会使用包含当前输入的   中所对应的权重进行弥补   。以保持一种”恒定“状态。

3 LSTM与GRU的关系

        GRU是在2014年提出来的,而LSTM是1997年。他们的提出都是为了解决相似的问题,那么GRU难免会参考LSTM的内部结构。那么他们之间的关系大概是怎么样的呢?这里简单介绍一下。

        大家看到  (reset gate)实际上与他的名字有点不符。我们仅仅使用它来获得了   。

        那么这里的  实际上可以看成对应于LSTM中的hidden state;上一个节点传下来的  则对应于LSTM中的cell state。1-z 对应的则是LSTM中的  forget gate,那么 z 我们似乎就可以看成是选择门  了。

4. 总结

        GRU输入输出的结构与普通的RNN相似,其中的内部思想与LSTM相似。

        与LSTM相比,GRU内部少了一个”门控“,参数比LSTM少,但是却也能够达到与LSTM相当的功能,但是LSTM更加强大灵活。考虑到硬件的计算能力时间成本,我们就会选择更加”实用“的GRU。在实际使用中,应加以尝试。

5 吴恩达视频截图

​​​​​​​

         经过研究者的不断探究,终于研究出来一种适合几乎各种研究实验的新型GRU网络是这样的:

        这个GRU可以经过经过更加深度的训练而保持强壮记忆力! gamma r的这个r可以表示为relevance相关性,也就是新的t时刻的记忆单元C~和t-1时刻的记忆单元C的相关性。

人人都能看懂的GRU:人人都能看懂的GRU - 知乎

吴恩达视频:【中英字幕】吴恩达深度学习课程第五课 — 序列模型_哔哩哔哩_bilibili

​​​​​​​

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
门控循环神经网络是在简单循环神经网络的基础上进行改进的一种网络结构。它引入了门控机制来控制信息的传递。这些门控机制可以决定记忆单元中需要保留多少信息,需要丢弃多少信息,以及新的状态信息应该保存到记忆单元中的程度等。这样的设计使得门控循环神经网络能够学习更长跨度的依赖关系,同时避免了梯度消失和梯度爆炸的问题。 具体来说,门控循环神经网络通过在状态和隐藏层之间引入线性依赖关系来解决梯度消失和梯度爆炸的问题。相较于普通循环神经网络,门控循环神经网络的状态和隐藏层之间的关系更加复杂,参数也更多。其中,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 ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值