问题描述
在这个模型中,在编码器部分,我们给出一个包含 3 个词 A、B 和 c 的输入句子,我们得到一个上下文向量 W,将其传递给解码器。为什么我们不将 W 传递给解码器的所有单元而不是前一个单元的输出,例如(W先通过,然后X在下一个单元格中,Y在下一个单元格中)
有人能解释一下解码器的单元状态到底发生了什么吗?传递给解码器的编码器的单元状态发生了什么
解决方法
这是一个没有注意力的普通编码器-解码器模型,没有上下文向量,注意力机制的输出就是这样调用的。
读完句子ABC
后,LSTM状态应该包含整个输入序列的信息,这样我们就可以开始解码了。作为第一个单词,我们解码单词 W
并将其作为下一步的输入,在那里我们解码单词 X
等等。 LSTM 不是输入上下文向量,而是输入相应单词的嵌入。
解码器必须总是得到前一个词,因为它不知道上一步解码的是哪个词。 LSTM 状态被投影到词汇量大小,我们有一个分布在所有可能的单词上,分布中的任何单词都可以被采样并放在下一步的输入中。