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脚的英语...