Ios Wiki中的GRU-Pytorch-Keras和Formula是不同的

Ios Wiki中的GRU-Pytorch-Keras和Formula是不同的,ios,keras,torch,accelerate,Ios,Keras,Torch,Accelerate,我正在使用cblas库在iOS设备中实现GRU。我使用了维基上的GRU公式,也使用了我在Coursera上学到的维基百科中的公式。我发现在我的实现和tf.Keras中,权重相同的结果是不同的。调试后,我发现Keras和Torch中的GRU使用不同的公式计算h_t: 在下一步中: h_t=(1-z)*h_t_previous+z*h_tilda 在Keras和火炬中时: h_t=(1-z)*h_tilda+z*h_t_previous 有人能解释他们为什么不同吗??同样,从逻辑上讲,更新门乘以新值

我正在使用cblas库在iOS设备中实现GRU。我使用了维基上的GRU公式,也使用了我在Coursera上学到的维基百科中的公式。我发现在我的实现和tf.Keras中,权重相同的结果是不同的。调试后,我发现Keras和Torch中的GRU使用不同的公式计算h_t:

在下一步中:

h_t=(1-z)*h_t_previous+z*h_tilda

在Keras和火炬中时:

h_t=(1-z)*h_tilda+z*h_t_previous

有人能解释他们为什么不同吗??同样,从逻辑上讲,更新门乘以新值(我想从新值更新的值),不是吗? 有趣的是,MPSGRUDescriptor有flipOutputGates变量,用于使用这两个公式处理拐杖