趋近智
自注意力 (self-attention)机制 (attention mechanism)提供了一种有效方法,让模型在计算输入序列中每个元素的表示时,能够动态地衡量不同元素的权重 (weight)。它通过使用从输入中获得的查询(Query)、键(Key)和值(Value)向量 (vector),计算元素对之间的对齐 (alignment)分数来实现这一点。
然而,核心自注意力计算,特别是缩放点积注意力,有一个重要特点:
它本质上是排列不变的。这意味着如果我们重新排列输入词元 (token)(及其对应的向量),在考虑其与所有其他词元的关系时,任何给定词元的注意力输出实际上会保持不变,只是根据初始排列重新排序。注意力机制在其基本形式中,将输入视为一个向量集合,而非一个有序序列。
设想一个简单句子:“robot detects anomaly”。如果模型仅使用词元嵌入 (embedding)和自注意力来处理此句,那么“robot”和“detects”之间,或“robot”和“anomaly”之间的注意力分数,将完全基于这些词的向量表示来计算,而不论它们的位置(第一、第二或第三)。如果我们把输入打乱成“anomaly detects robot”,那么嵌入之间的成对注意力分数会是相同的。由此产生的语境化表示将有所不同,仅仅是因为输入向量本身在每个位置不同,但机制本身并未处理顺序。
这与循环神经网络 (neural network)(RNN)或长短期记忆网络(LSTM)等循环架构形成鲜明对比。在RNN中,时间步的计算直接依赖于时间步的隐藏状态:。这种序列处理自然地包含了元素的顺序。而Transformer通过自注意力并行处理所有词元,失去了这种内置的序列顺序感。
对于几乎任何涉及序列的任务,特别是在自然语言处理中,顺序对意义非常重要。“狗追猫”与“猫追狗”的含义完全不同。时间序列预测严重依赖观测的时间顺序。因此,由于自注意力机制本身未捕获位置信息,我们必须找到另一种方法向模型提供此信息。馈入Transformer层的表示需要包含信号,这些信号不仅指示词元是什么,还指示它在序列中位于何处。这是引入位置编码 (positional encoding)的主要原因,我们接下来会进行了解。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•