为什么上下文向量没有传递到解码器的每个输入

问题描述

enter image description here

在这个模型中,在编码器部分,我们给出一个包含 3 个词 A、B 和 c 的输入句子,我们得到一个上下文向量 W,将其传递给解码器。为什么我们不将 W 传递给解码器的所有单元而不是前一个单元的输出,例如(W先通过,然后X在下一个单元格中,Y在下一个单元格中)

有人能解释一下解码器的单元状态到底发生了什么吗?传递给解码器的编码器的单元状态发生了什么

解决方法

这是一个没有注意力的普通编码器-解码器模型,没有上下文向量,注意力机制的输出就是这样调用的。

读完句子ABC后,LSTM状态应该包含整个输入序列的信息,这样我们就可以开始解码了。作为第一个单词,我们解码单词 W 并将其作为下一步的输入,在那里我们解码单词 X 等等。 LSTM 不是输入上下文向量,而是输入相应单词的嵌入。

解码器必须总是得到前一个词,因为它不知道上一步解码的是哪个词。 LSTM 状态被投影到词汇量大小,我们有一个分布在所有可能的单词上,分布中的任何单词都可以被采样并放在下一步的输入中。