什么网站能免费,软文推广网站,网上快速赚钱方法,北京网络公司有哪些1. 什么是GRU
在循环神经⽹络中的梯度计算⽅法中#xff0c;我们发现#xff0c;当时间步数较⼤或者时间步较小时#xff0c;**循环神经⽹络的梯度较容易出现衰减或爆炸。虽然裁剪梯度可以应对梯度爆炸#xff0c;但⽆法解决梯度衰减的问题。**通常由于这个原因#xff0…1. 什么是GRU
在循环神经⽹络中的梯度计算⽅法中我们发现当时间步数较⼤或者时间步较小时**循环神经⽹络的梯度较容易出现衰减或爆炸。虽然裁剪梯度可以应对梯度爆炸但⽆法解决梯度衰减的问题。**通常由于这个原因循环神经⽹络在实际中较难捕捉时间序列中时间步距离较⼤的依赖关系。
**门控循环神经网络gated recurrent neural network的提出正是为了更好地捕捉时间序列中时间步距离较大的依赖关系。**它通过可以学习的⻔来控制信息的流动。其中门控循环单元gatedrecurrent unitGRU是一种常用的门控循环神经网络。
2. ⻔控循环单元
2.1 重置门和更新门
GRU它引入了**重置⻔reset gate和更新⻔update gate**的概念从而修改了循环神经网络中隐藏状态的计算方式。
门控循环单元中的重置⻔和更新⻔的输入均为当前时间步输入 与上一时间步隐藏状态 输出由激活函数为sigmoid函数的全连接层计算得到。如下图所示 具体来说假设隐藏单元个数为 h给定时间步 t 的小批量输入 样本数为n输入编辑个数为d和上一时间步隐藏状态 。重置⻔ 和更新⻔编辑 的计算如下 sigmoid函数可以将元素的值变换到0和1之间。因此重置⻔ 和更新⻔编辑 中每个元素的值域都是[0** 1]。
2.2 候选隐藏状态
接下来⻔控循环单元将计算候选隐藏状态来辅助稍后的隐藏状态计算。我们将当前时间步重置⻔的输出与上⼀时间步隐藏状态做按元素乘法符号为⊙。如果重置⻔中元素值接近0那么意味着重置对应隐藏状态元素为0即丢弃上⼀时间步的隐藏状态。如果元素值接近1那么表⽰保留上⼀时间步的隐藏状态。然后将按元素乘法的结果与当前时间步的输⼊连结再通过含激活函数tanh的全连接层计算出候选隐藏状态其所有元素的值域为[-1,1]。 具体来说时间步 t 的候选隐藏状态 的计算为
从上⾯这个公式可以看出重置⻔控制了上⼀时间步的隐藏状态如何流⼊当前时间步的候选隐藏状态。而上⼀时间步的隐藏状态可能包含了时间序列截⾄上⼀时间步的全部历史信息。因此重置⻔可以⽤来丢弃与预测⽆关的历史信息。
2.3 隐藏状态
最后时间步t的隐藏状态 的计算使用当前时间步的更新⻔ 来对上一时间步的隐藏状态 和当前时间步的候选隐藏状态 做组合编辑 值得注意的是**更新⻔可以控制隐藏状态应该如何被包含当前时间步信息的候选隐藏状态所更新**如上图所⽰。假设更新⻔在时间步 之间一直近似1。那么在时间步间的输入信息几乎没有流入时间步 t 的隐藏状态 实际上这可以看作是较早时刻的隐藏状态编辑 直通过时间保存并传递至当前时间步 t。这个设计可以应对循环神经⽹络中的梯度衰减问题并更好地捕捉时间序列中时间步距离较⼤的依赖关系。
我们对⻔控循环单元的设计稍作总结
重置⻔有助于捕捉时间序列⾥短期的依赖关系更新⻔有助于捕捉时间序列⾥⻓期的依赖关系。