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的通病。

相关推荐
火山引擎开发者社区17 小时前
没有长期记忆,Agent 谈何持续进化?一图看懂火山 Mem0:解锁 Agent 持续学习与进化之路
人工智能
冬奇Lab20 小时前
Workflow 系列(06):安全——跨步骤注入传播与四层防御
人工智能·工作流引擎
冬奇Lab20 小时前
每日一个开源项目(第149篇):RAG-Anything - 把图片、表格、公式当成一等公民的多模态 RAG 框架
人工智能·开源
米小虾21 小时前
AI Agent 安全实战指南:当智能体开始"不听话",开发者该如何应对?
人工智能·安全·agent
IT_陈寒1 天前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
阿里云大数据AI技术1 天前
构建高转化海外电商搜索:阿里云OpenSearch行业算法版的全链路智能优化策略实战
人工智能·搜索引擎
Awu12271 天前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
字节跳动视频云技术团队1 天前
让 Agent 成为音视频工作台:AI MediaKit CLI + Skill 发布
人工智能·音视频开发
魏祖潇1 天前
framework 整合实战——DDD/TDD/SDD 三件套在 framework 仓的真实落地
人工智能·后端