赞
踩
入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。
✨完整代码在我的github上,有需要的朋友可以康康✨
目录
当时间步数(T)较大或时间步(t)较小的时候,RNN的梯度较容易出现衰减或爆炸。虽然裁剪梯度可以应对梯度爆炸,但是无法解决梯度衰减的问题。这个原因使得RNN在实际中难以捕捉时间序列中时间步(t)距离较大的依赖关系。因此LSTM应运而生,基于LSTM,改进出了GRU。
RNN详解可以看看:RNN循环神经网络_tt丫的博客-CSDN博客_rnn应用领域
两个门的输入都是当前时间步输入 与上一时间步的隐藏状态 。
(图片都来源于《动手学深度学习》)
前向传播的计算为:
其中,
为激活函数(sigmoid函数),故取值范围为:[0,1]
n为样本数,d为输入的特征数,h为隐藏大小。
对应计算:
以此可以看出,重置门控制了上一时间步的隐藏状态流入当前时间步的候选隐藏状态的“幅度”(如果重置门的输出接近0,则重置对应的隐藏状态元素接近0,即丢弃上一时间步的隐藏状态;如果重置门的输出接近1,则保留绝大部分上一时间步的隐藏状态);
相对于RNN来说,他是由一个参数矩阵来控制上一时间步的隐藏状态流入当前时间步的候选隐藏状态的“幅度”,不像这边的重置门——它是由上一时间隐藏状态,当前时间输入和一些可供学习的参数共同决定;
同时,上一时间步的隐藏状态包含的可能不止是上一时刻的信息,而是可能包含所有之前的历史信息,这就可以推断出重置门可以用来丢弃和预测无关的历史信息,决定保留多少历史信息。
重置门有助于捕获序列中的短期依赖关系。
对应计算:
以此可以看出更新门可以控制如何更新包含当前时间步信息的候选隐藏状态(若Z在 t' 到 t 间一直近似为1,那么在 t' 到 t 间的候选隐藏状态(含输入信息X)几乎没有流入,这也能看作是较早时刻的隐藏状态一直保留到了并传递到现在时刻(保留在中),相对于RNN与上面的分析类似。
因为它能长期保存以前的部分关键信息并进行传递,所以可以起到缓解梯度消失的问题。
更新门有助于捕获序列中的长期依赖关系
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/449863
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。