深度学习基础--GRU学习笔记(李沐《动手学习深度学习》)

前言

门控循环单元 (GRU)是一种循环神经网络 (RNN)的变体,我为了解决RNN在处理长时间序列数据的时候容易出现的梯度消失和梯度爆炸的问题,

回忆RNN

先看回忆RNN的神经网络结构:

可以看到,RNN每一次更新隐藏层的时候,权重W都是一样的 ,也就是说每一次更新隐藏层的时候,都是使用一样的权重,也就说看待之前的状态重要程度都是一样的

举个例子:

这个例子中,每一个观察的值都不是同等重要,也就是说这个时候再用RNN模型就不太合适了,为了解决这种问题,RNN模型提供了许多升级的版本,其中著名的有:GRU、LSTM,而LSTM是在GRU的升级版,故本篇学习也是为了学习LSTM打基础。

GRU模型结构组成

更新门

表示:Zt ,它决定了需要从 前一个时刻的隐藏状态ht-1和当前输入数据xt中要保留 多少信息来更新当前的有隐藏状态ht,计算公式如下:

其中,激活函数作用:将输出映射到0和1之间。

具体更新实现,在当前隐藏状态中实现。

重置门

表示:Rt,它控制者是否要"重置"前一时刻隐藏层的 状态,可以类比记忆中的"遗忘",我们不可能记住前一天的所有事情,计算公式如下:

具体实现在候选隐藏状态中。

这个时候GRU神经网络可以表示,如下图所示

候选隐藏状态

这个门,实现的功能:决定吸取多少之前的隐藏状态信息和当前输入的数据,计算公式和网络结构如下如下:

当**Rt**为0的时候,就不要之前的隐藏信息的状态,**Wxh**决定着吸取当前输入数据的多少。

当前隐藏状态

当前隐藏转态:Ht,它决定输出的大小,融合前一层的隐藏状态和候选的隐藏状态,,如图:

这里有两个极端:

  • 当Zt为0的时候,说明对上一层的隐藏状态选择遗忘 ,这个时候就等于重置门"吸收"多少当前输入与前一层隐藏状态的结合体了 🤠;
  • 当Zt为1的时候,说明完全保留上一层的隐藏状态,这个其实就是RNN模型的隐藏状态更新。

工作原理

在每个时间步t:

  • 首先计算更新门Zt和重置门Rt,这两个门的值决定了如何利用前一时刻的隐藏状态Ht−1和当前时刻的输入 Xt
  • 然后根据重置门Rt计算候选隐藏状态 Ht ,它是在对前一时刻隐藏状态进行了一定程度的 "重置" 后,结合当前时刻输入得到的。
  • 最后通过更新门Zt将前一时刻隐藏状态 Ht−1 和候选隐藏状态 H~t 进行融合,得到当前时刻的隐藏状态Ht。这个过程不断重复,使得 GRU 能够沿着时间序列处理数据,逐步更新隐藏状态并捕捉序列中的信息。

举个例子:

如何我们从左往右看,RNN的缺点的每一次更新隐藏层权重一样,如果我们看这个例子,如果看到一只老鼠,这个时候,老鼠的权重肯定要高于其他,尤其是后面的 ,这个时候GRU的候选隐藏层代表了这个老师前面需要吸收状态,而当前隐藏状态说明了这个后下一个猫需要吸收多少状态

当然神经网络很深奥,好需要不断在实践学习。

相关推荐
在学了加油8 小时前
LSTM-糖尿病探索与预测
人工智能·rnn·lstm
长三角活动观察8 小时前
政企线下活动全流程项目管控方案:苏州独石传媒长三角多场景落地实践总结
大数据·人工智能·传媒
正在走向自律8 小时前
AI 辅助研发内部复盘(2/5):老项目改造的工程化实践
人工智能·ai编程·代码规范·ai辅助编程·老代码改造
煎饼学大模型9 小时前
从 Harness 工程到 Loop 工程落地实践
人工智能·大模型·harness
吗喽写代码9 小时前
720p的视频怎么转成1080p提高清晰度,4种方法讲清楚
人工智能
昊朗科技9 小时前
模块式制氮机每立方成本核算:技术视角下的隐性支出避坑指南
人工智能
leijiwen9 小时前
文旅消费产业可信数据空间解决方案(白皮书版)
大数据·人工智能
优氙费控9 小时前
出差在外怎么快速报销?手机一键填报+自动留痕
大数据·人工智能
DogDaoDao9 小时前
深度学习增强的视频压缩框架:Neutron Star 如何超越 VVC
人工智能·深度学习·音视频·视频编解码·h266·vvc·视频压缩
听雨入夜9 小时前
CMake构建学习笔记-libxml库的构建
笔记·学习