GRU
GRU简介
门控循环神经网络 (Gated Recurrent Neural Network,GRNN)
的提出,旨在更好地捕捉时间序列中时间步距离较大的依赖关系。它通过可学习的门来控制信息的流动。其中,门控循环单元
(Gated
Recurrent Unit
,
GRU)
是一种常用的
GRNN
。
GRU
对
LSTM
做了很多简化,同时却保持着和
LSTM
相同的效果。
GRU的原理
GRU 的两个重大改进
- 将三个门:输入门、遗忘门、输出门变为两个门:更新门 (Update Gate) 和 重置门 (Reset Gate)。
- 将 (候选) 单元状态 与 隐藏状态 (输出) 合并,即只有 当前时刻候选隐藏状态 和 当前时刻隐藏状态 。
模型结构
简化图
内部结构图
-
:当前时刻输入信息
:上一时刻的隐藏状态。隐藏状态充当了神经网络记忆,它包含了之前节点所见过的数据的信息
:传递下一时刻的隐藏状态
:候选隐藏状态
:重置门
:更新门
:sigmoid函数,通过这个函数可以将数据变为0-1范围内的数值
:tanh函数,通过这个函数可以将数据变为[-1,1]范围内的数值
、
和w是W是模型参数(权重矩阵),需要通过训练数据来学习
- GRU通过其他门控制机制能够有效的捕捉到序列数据中的时间动态,同时相较于LSTM来说,由于起结构更加简洁,通常参数更少,计算效率更高
重置门
重置门决定在计算当前候选隐藏状态时,忽略多少过去的信息
更新门
更新门决定了多少过去的信息将被保留,它使用前一时间步的隐藏状态()和当前输入(
)来计算得出