趋近智
注意力机制 (attention mechanism)计算分数,它们根据查询,为每个输入元素分配一个相关性权重 (weight)()。这些分数指示我们对输入序列的不同部分给予多少关注。利用这些分数可以生成一个上下文 (context)向量 (vector)。
可以将上下文向量看作输入序列的精炼概括,专门针对当前的关注点或查询进行调整。与传统RNN通常将整个输入压缩成一个单一、固定大小的向量不同,注意力机制使得我们能够生成一个动态概括,突出显示最相关的部分。
核心思路非常直接:上下文 (context)向量 (vector)是通过输入序列中值向量()的加权求和来计算的。在这个求和中使用的权重 (weight)正是我们之前计算的注意力分数()。
数学上,如果我们有 个输入元素,每个元素都有一个对应的值向量 和一个注意力分数 (相对于当前查询),上下文向量 的计算方式如下:
让我们分解来看:
想象你有三个输入词,每个词由一个值向量 (vector)()表示,并且你已经根据特定查询计算出它们的注意力权重 (weight)()。上下文 (context)向量 是通过根据这些权重混合这些向量形成的。
该图示说明了每个值向量()如何乘以其对应的注意力权重()。这些加权向量随后被求和以生成最终的上下文向量()。
这种机制具有很强的能力,因为它允许模型在输出生成的每一步(或处理的每个元素)动态地生成输入的有关概括。
以机器翻译为例。在翻译句子时,特定输出词的含义通常很大程度上取决于输入句子中的一两个词,再加上更广的语境。传统RNN由于其序列性质和固定大小的隐藏状态,可能难以保留来自距离较远输入词的准确信息。
然而,注意力机制 (attention mechanism)在每个输出步骤为所有输入词计算权重 (weight)。生成的上下文 (context)向量 (vector)直接包含了来自最相关输入词的信息,无论它们在序列中的位置如何。这克服了固定大小上下文向量的信息瓶颈,并使得模型能够更有效地处理长距离依赖。
这个上下文向量,富含来自输入的聚焦信息,成为下一处理阶段的主要输入,例如生成序列中的下一个词或馈送到网络中的后续层。我们将在接下来的章节中清楚地看到它如何融入更大的Transformer架构。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造