GRU门控循环单元

阅读本文前,建议读者先阅读LSTM长短期记忆网络-CSDN博客

1 简介

GRU(Gated Recurrent Unit)是RNN的一个变体,在2014年被提出。与LSTM类似,同样是为了解决RNN处理长序列时梯度爆炸或梯度消失的问题。与LSTM相比,GRU的结构更简单,参数更少,效果却能与LSTM接近。

2 模型结构

3 模型原理

同样举LSTM一文中柯南破案的例子,h(t)与x(t)的定义不变,取消了c(t),新增了r(t),表示根据新线索情况决定是否重新审视之前的线索。

|------|---------|-----------------------------------------------|
| 符号 | 含义 | 例子中类比对象 |
| h(t) | t时刻隐藏状态 | 之前调查过程中所积累的所有线索和经验,可以看作LSTM中的长期记忆和短期记忆合并成h(t) |
| x(t) | t时刻的输入 | t时刻接收到的线索 |
| r(t) | t时刻重置比例 | 记忆筛选器,指当前线索与记忆的关联性。从记忆中搜寻信息,生成候选线索 |
| z(t) | t时刻更新比例 | 记忆融合器,多大比例保留之前的调查思路。候选线索和上一时刻线索各自多少比例延续到当前时刻 |

4 重置门的计算

比如新线索是嫌疑人是左撇子,而此前观察到小红用左手使用筷子,那么重置门r(t)接近为1,表示从记忆中搜寻到相关信息。在生成候选线索时,将充分利用之前的线索,回顾当时观察到小红的其他举动。之前的隐藏状态大量流入到当前的候选线索。

比如新线索是嫌疑人是左撇子,但此前并没有观察到各嫌疑人左右手使用的情况,那么重置门r(t)接近为0,表示记忆中并没有搜索到相关信息。在生成候选线索时,将只利用当前的线索。当前的输入大量流入到当前的候选线索。

注意生成的候选线索只是备选,并不直接更新上一时刻隐藏状态。需要使用更新门控制有多大程度更新到隐藏状态中。重置门只关注当前的线索与历史线索的关联性,关联性强就关注历史线索,关联性差就只关注当前线索。至于该线索重不重要,是在更新门中处理的。

计算公式为

5 更新门的计算

比如新线索是嫌疑人是左撇子,而此前认为嫌疑人是右撇子,或者此前的办案思路偏了,那么更新门z(t)接近为0,表示不再保留之前的办案思路,而是以当前生成的新线索为主。

比如新线索是嫌疑人是左撇子,而此前的办案思路更重要,那么更新门z(t)接近为1,表示沿用之前的办案思路,当前新的线索顶多作为补充。

更新门用于控制多大比例保留之前的调查思路。即新的隐藏状态h(t)有多大比例来自于上一时刻隐藏状态h(t-1),有多大比例来自于当前时刻候选隐藏状态h'(t)。

计算公式为

6 GRU的特点

优势:

第一,结构简单、参数较少、计算迅速。

第二,能够解决RNN长序列依赖问题,且性能接近于LSTM。

缺点:

第一,在解决更复杂的信息时不如LSTM。LSTM设置的门控单元更多(遗忘门、输入门、输出门、细胞状态),因此可以处理更复杂的情况。GRU没有单独的遗忘门,更新门承担了LSTM的输入门和遗忘门两个角色,因此对于复杂问题相形见绌。

第二,长时间记忆能力不如LSTM。LSTM有专门的长期记忆,但GRU还是用隐藏状态连接前后时间的。

第三,不能并行计算,这是RNN、LSTM、GRU的通病。

相关推荐
小青龙emmm4 分钟前
机器学习(七)
人工智能·机器学习
数字供应链安全产品选型8 分钟前
安全左移动赋能:灵脉IAST交互式应用安全测试平台
网络·人工智能·安全·开源·开源软件
Mountain and sea1 小时前
焊接机器人与线激光视觉系统搭配的详细教程
人工智能·opencv·机器人
灏瀚星空1 小时前
高效图像处理工具:从需求分析到落地实现
图像处理·人工智能·经验分享·python·学习方法
安冬的码畜日常1 小时前
【AI 加持下的 Python 编程实战 2_02】第一章:利用 GitHub Copilot 叩开 AI 辅助编程的大门
人工智能·python·ai·copilot·ai助手·ai应用·ai辅助编程
Terrence Shen1 小时前
跟着AI复习一下pytorch原理和操作
人工智能·pytorch·python·深度学习·算法·机器学习
月落星还在2 小时前
AI学习——深度学习核心技术深度解析
人工智能·深度学习
Allen_LVyingbo2 小时前
历次科技泡沫对人工智能发展的启示与规避措施
人工智能·科技
平凡而伟大(心之所向)2 小时前
一文讲清楚CUDA与PyTorch、GPU之间的关系
人工智能·pytorch·python
Channing Lewis2 小时前
大语言模型的潜力是否被高估
人工智能·机器学习·语言模型