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