注意力机制:为什么使用上下文向量而不是注意力权重?

数据挖掘 机器学习 注意机制
2022-02-23 21:43:02

在注意力中,上下文向量 ( ) 来自注意力权重 ( ) 乘以编码器隐藏状态 ( ) 的总和,其中权重是通过将解码器隐藏状态和编码器状态相乘获得的。cαh

ci=ΣjTxαijhj

我的问题是,为什么要计算这个上下文向量而不是转发注意力权重,因为这些可以表明在每个编码器状态上关注多少。

有人可以解释这背后的直觉吗?

2个回答

注意力权重本身不携带任何关于编码句子的信息。它只告诉你类似的信息:第个和第个单词携带用于生成下一个单词的重要信息,但不包含这些单词的实际含义。此外,它是一个可变长度向量(与输入大小的长度相同),在解码器中很难用它做任何事情。nm

您可以将注意力和编码器隐藏状态传递到您想要的解码器上的任何位置,并让它在那里执行相同的加权和。在一天结束时,必须在预测之前得出加权和(上下文)。

真正的问题是——我们能否对这些注意力权重进行其他用途。Luong 等人提出了一个非常好的想法,将这些注意力权重传递给后续时间步 - 这个想法是过去的注意力历史可以帮助模型在后续时间步中。事实证明这是一个很好的洞察力,并产生了很大的不同