在正式的Tensorflow神经机器翻译示例(https://www.tensorflow.org/alpha/tutorials/text/nmt_with_attention)中,在Encoder模型中,定义了GRU层。
但是,由于未应用屏蔽,因此GRU将正常处理零填充值。而且在解码器中,我认为情况甚至更糟,因为对填充值的关注将在上下文向量的最终计算中发挥重要作用。我认为在下面的损失函数的定义中,零被掩盖了,但是现在为时已晚,编码器和注意解码器的输出都将“断开”。
在整个过程中我是否缺少某些东西?正常的实现方式不是应该通过屏蔽填充值来实现吗?