在Transformer架构中的注意力机制中,Query、Key和Value是三个核心概念,其中Query 用于衡量与每个 Key 的相关性,Key 用于构建注意力得分的计算基础,而 Value 用于根据注意力得分进行加权求和,生成最终的注意力输出:
-
Query(查询):
Query向量代表的是“查询”的一部分,它通常与当前位置(例如解码阶段的当前位置)或者整个序列(编码阶段)有关的信息相对应。Query用来衡量和其它所有位置上的信息的相关性。当模型需要生成当前时刻的输出时,Query向量就起到了寻找相关信息的作用。
-
Key(键):
Key向量代表的是输入序列中每个位置的信息的“索引”或“查找表”,可以理解为每个位置的标识特征。在计算注意力权重时,每个位置的Key向量会与Query向量进行比较,通过计算点积或其它相似度函数来评估Query与序列中各位置之间的相关性。Key向量决定了哪些输入位置的信息对当前Query来说最重要。
-
Value(值):
Value向量是与每个位置相关联的“内容”或“上下文信息”的载体,包含的是实际要被关注并组合成输出的信息,即每个位置上我们认为对后续处理有价值的信息。当某个位置的Key与Query匹配度高时,对应的Value向量的权重就会增大,因此,在计算最终输出时会更多地考虑这部分信息。*注意:在计算完Attention权重之后,Value向量并不直接参与相似度计算,而是被相应的Attention权重所加权,