记录一下看pytorch官方文档的思考
首先是公式
看起来像是在更新h,新的h等于n和旧h的组合,它们的组合系数是z;就像调酒,新h等于来z个旧h,剩下都是(1-z)个n;
在使用时先定义这个网络的大小,也就是输入特征的个数和隐藏状态的个数
然后调用的时候要送入输入特征x和隐藏状态h,这俩都是张量
所有的W都是参数,前三个公式每个公式有两个W
从这里可以看出,GRUCell的内部好像还有一层隐藏层,结构大致是input-hidden,hidden-hidden(output)。
第一个公式求r把输入乘权重+隐藏状态个数乘权重+两个偏移量,统一sigmoid激活一下;
第二个公式求z做法一致,就是各种参数变了
第三 个公式求n,用到r的结果,基本就是权重一乘再相加起来,tanh激活一下
第四个公式更新h,新h就是调酒组合
从公式看来我的理解是第二个公式相当于input-hidden,第三个公式是hidden-hidden;
至于这个GRUCell,就是GRU的单个单元;GRU算法出自