在nmt_with_attention中,解码器中的gru层使我感到困惑

时间:2019-03-22 01:25:04

标签: tensorflow recurrent-neural-network seq2seq attention-model

Tensorflow在github link中有一个使用注意力的seq2seq转换模型的示例

在Decoder类中,定义了gru层,并将其用于call()函数中,代码为:

output, state = self.gru(x)

我的问题是,可能无法更新gru细胞状态?在同一批中,每个时间戳都使用相同的单元状态?我理解的正确吗?

output, state = self.gru(x,initial_state=context_vector)

然后我使用此代码对模型进行重新训练,在训练时,没有明显的区别。

10个纪元之后就会有损失

Epoch 10 Batch 374 Loss 0.1384

但是结果更糟: calling the gru(x) calling the gru(x,context_vector)

但是也有一些句子可以给出正确的结果,例如

calling the gru(x) calling the gru(x,context_vector)

我希望有人能解释它。

最后,请原谅我la脚的英语...

0 个答案:

没有答案