目录
简介
GRU是一种在循环神经网络中使用的单元结构。它旨在解决传统RNN在网络处理长序列数据时遇到的梯度消失或梯度爆炸问题。
GRU通过引入门控机制来控制信息的流动,从而使得网络能够更好地学习长期依赖性。
门
门可以视为一个与隐状态相同长度的向量,分为重置门和更新门。 重置门允许我们控制"可能还想记住"的过去状态的数量; 更新门将允许我们控制新状态中有多少个是旧状态的副本。更新门是一个sigmoid激活函数输出的结果,其值范围在0到1之间。当更新门完全打开(接近1)时,意味着旧状态将完全保留;当它关闭(接近0)时,则意味着旧状态将被丢弃,新的候选状态将完全取代旧状态。
重置门计算公式为:。
更新门计算公式为:。
候选隐藏状态
候选隐状态(candidate hidden state)是指在某一时间步t计算出的一个潜在的新隐状态值,通常用表示。
候选隐状态计算公式为:。
符号⊙是Hadamard积(按元素乘积)运算符。 在这里,我们使用tanh非线性激活函数来确保候选隐状态中的值保持在区间(−1,1)中。其中,重置门的作用是确定上一时刻的状态中有多少信息需要传递到当前时刻的候选隐状态中。如果重置门关闭(即接近于0),则上一时刻的信息对当前候选隐状态的影响很小;如果重置门开启(即接近于1),则上一时刻的信息将完全参与当前候选隐状态的计算。
隐状态
结合更新们,可以确定新的隐状态。决定了新的隐状态多大程度来自旧的隐状态和新的候选状态。每当更新门接近1时,模型就倾向只保留旧状态。 此时,来自的信息基本上被忽略, 从而有效地跳过了依赖链条中的时间步t。 相反,当接近0时, 新的隐状态就会接近候选隐状态。
隐状态公式为: