目录

GRU门控循环单元

GRU门控循环单元

阅读本文前,建议读者先阅读

1 简介

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

2 模型结构

https://i-blog.csdnimg.cn/direct/46f1c9189c7747c68f8dc74198296a2c.png

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,表示记忆中并没有搜索到相关信息。在生成候选线索时,将只利用当前的线索。当前的输入大量流入到当前的候选线索。

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

计算公式为

https://latex.csdn.net/eq?r_t%20%3D%20%5Csigma%20%28W_r%20%5Ccdot%20%5Bh_%7Bt%20-%201%7D%2C%20x_t%5D%29

https://latex.csdn.net/eq?%5Ctilde%7Bh%7D_t%20%3D%20%5Ctanh%28W_h%5Br_t%20%5Codot%20h_%7Bt%20-%201%7D%2C%20x_t%5D%20+%20b_h%29

5 更新门的计算

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

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

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

计算公式为

https://latex.csdn.net/eq?z_t%20%3D%20%5Csigma%20%28W_z%20%5Ccdot%20%5Bh_%7Bt%20-%201%7D%2C%20x_t%5D%29

https://latex.csdn.net/eq?h_t%20%3D%20%281%20-%20z_t%29%20%5Codot%20%5Ctilde%7Bh%7D_t%20+%20z_t%20%5Codot%20h_%7Bt%20-%201%7D

6 GRU的特点

优势:

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

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

缺点:

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

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

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