门控循环单元GRU

结构:

特点:

结构简单,参数较少

结构图:

对比LSTM:

1.LSTM有三个门,而GRU只有两个门

2.LSTM在左侧有两项输入,而GRU只有一项输入,将两项合二为一合成一个部分

3.LSTM中的参数数量很多(等9个),而GRU中的参数少得多(等6个)

4.LSTM中的门为输入门、遗忘门、输出门,GRU的门为更新门和重置门

关注一个序列:

不是每个观察值都同等重要:

做RNN时,处理不了太长的序列,因为将整个序列信息放在隐藏状态里;当时间很长时,隐藏状态就累积了很多信息,对于前面很久前的信息并不容易将其抽取出来。

老鼠较为重要,第一次出现的猫也较为重要。

在现实生活中的NLP里,句子里可能只有一些关键字比较重要,关键句比较重要,其他的也不是很重要;类似于股票,重要的是几个点;电影里的几帧相类似,但在切换场景时,每次切换比较重要。

在RNN中无法实现特别关注某些区域,对RNN而言所有信息都为一个序列输入,门控神经网络通过一些额外的控制单元使得在构造隐藏状态时,可以选择的(重要的记住,不重要的忘记)浏览。

想只记住相关的观察需要:

能关注的机制(更新门)

能遗忘的机制(重置门)

门:

下图表示为一个层

:重置;若为RNN,则等价于使用sigmoid做激活函数的隐藏状态的计算方法

:更新;对比也有自己的权重

门:与隐藏状态同样长度的一个向量,与RNN计算隐藏状态的方法类似

候选隐藏状态:

定义:

并不是真正的隐藏状态,而是候选的隐藏状态。

假设不看,类似于之前的RNN计算隐藏层

但现在加入了一个,用 代表对元素进行乘法;因为的长度相同,可以按元素做乘法且值域在(0,1)之间,假设中的元素更靠近"0",那么运算后的结果更靠近"0",等于把上一时刻的隐藏状态忘记;假设中的元素更靠近"1",那么运算结果更靠近"1",等价于RNN做运算的结果。

可以根据前面的信息进行学习,决定信息可以丢弃或保留,是一个控制单元,被称为"门"。因为值域在(0,1),代表可以在(0,1)之间做比较软的控制。

隐状态:

:上一次的隐藏状态

:候选项隐藏状态

:控制单元;若为"1",=,不更新过去状态,将过去状态放入现在,忽略掉元素;当为"0",基本回到了RNN的情况,基本不看过去状态,而是看现在的状态。

总结:

引入了两个额外门,每个门可以学到的参数和之前的RNN一样多;两个门都为一个控制单元,控制(0,1)的输出值;Reset gate用来在更新新隐藏状态时,要用到多少过去隐藏状态的信息,在算新的隐藏状态时,需要用当前相关的多少信息;极端情况下,回到RNN的情况;

相关推荐
XM_jhxx几秒前
±0.03mm的精度怎么保证?翌东塑胶用AI赋能质量管控升级
人工智能
阿正的梦工坊32 分钟前
深入理解 PyTorch 中的 unsqueeze 操作
人工智能·pytorch·python
秦歌6662 小时前
DeepAgents框架详解和文件后端
人工智能·langchain
测试员周周3 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
霸道流氓气质3 小时前
基于 Milvus Lite 的 Spring AI RAG 向量库实践方案与示例
人工智能·spring·milvus
ar01233 小时前
AR巡检平台:构筑智能巡检新模式的数字化引擎
人工智能·ar
语音之家3 小时前
【预讲会征集】ACL 2026 论文预讲会
人工智能·论文·acl
碳基硅坊3 小时前
电商场景下的商品自动识别与辅助上架
人工智能
熊猫钓鱼>_>4 小时前
强化学习与决策优化:从理论到工程落地的完整指南
人工智能·llm·强化学习·rl·马尔可夫·mdp·决策过程