门控循环单元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的情况;

相关推荐
mahuifa几秒前
QtCreator配置github copilot实现AI辅助编程
人工智能·ai编程·github copilot·qtcreator
千穹凌帝4 分钟前
基于深度学习多图像融合的屏幕缺陷检测方案
人工智能·深度学习·数码相机
张叔zhangshu2 小时前
TensorFlow 的基本概念和使用场景
人工智能·python·tensorflow
云起无垠6 小时前
【论文速读】| FirmRCA:面向 ARM 嵌入式固件的后模糊测试分析,并实现高效的基于事件的故障定位
人工智能·自动化
Leweslyh8 小时前
物理信息神经网络(PINN)八课时教案
人工智能·深度学习·神经网络·物理信息神经网络
love you joyfully8 小时前
目标检测与R-CNN——pytorch与paddle实现目标检测与R-CNN
人工智能·pytorch·目标检测·cnn·paddle
该醒醒了~9 小时前
PaddlePaddle推理模型利用Paddle2ONNX转换成onnx模型
人工智能·paddlepaddle
小树苗1939 小时前
DePIN潜力项目Spheron解读:激活闲置硬件,赋能Web3与AI
人工智能·web3
凡人的AI工具箱9 小时前
每天40分玩转Django:Django测试
数据库·人工智能·后端·python·django·sqlite
大多_C9 小时前
BERT outputs
人工智能·深度学习·bert