Transformer 注意力机制的本质
Transformer 架构中,注意力的本质可以用一句话概括:基于相关性的加权求和(Weighted Sum based on Relevance)。
与其把它看作一种神秘的认知过程,不如从信息检索和数据压缩的角度来理解。它的核心任务是在处理当前信息时,动态地决定从上下文的"记忆库"中提取多少相关信息来丰富当前的表征。
1. 核心机制:软寻址(Soft Addressing)
在传统的计算机内存中,我们通过具体的地址(如 0x1234)读取数据,这是"硬寻址"。而在 Transformer 中,注意力机制是一种基于内容的软寻址。
为了实现这一点,Transformer 引入了三个核心向量的概念(灵感来自数据库查询):
- Query (Q - 查询向量): 当前 Token 想要寻找什么信息?(例如,当处理单词 "bank" 时,Q 代表它在寻找 "river" 还是 "money" 相关的上下文)。
- Key (K - 键向量): 上下文中每个 Token 的"标签"是什么?(用于和 Q 进行匹配)。
- Value (V - 值向量): 每个 Token 实际携带的内容信息是什么?
本质过程
注意力机制计算 和 的相似度(通常通过点积),得出一个权重分数。然后,利用这个分数对 进行加权求和。
- 如果 和某个 很相似: 点积很大 → Softmax 后权重接近 1 → 对应的 被大量保留。
- 如果 和某个 不相关: 点积很小 → Softmax 后权重接近 0 → 对应的 被忽略。
2. 语义本质:动态的上下文融合
在传统的 RNN(循环神经网络)中,信息必须按顺序一步步传递,距离越远,信息丢失越严重。
注意力的本质突破在于:全局视野与并行计算。
2.1 打破距离限制
无论两个词在句子中相隔多远,注意力机制都能让它们直接发生交互。词与词之间的路径长度永远是 。
2.2 动态语境化(Contextualization)
举个例子:"The animal didn't cross the street because it was too tired."
当模型处理单词 "it" 时:
- "it" 的 会扫描全句所有的 。
- 它发现 "animal" 的 与其相关度最高(因为 "tired" 通常形容动物)。
- 注意力的输出会将 "animal" 的 融合进 "it" 的表示中。
- 结果:在这个层面上,"it" 不再只是一个代词,而是一个包含了"动物"属性的向量。
本质上,注意力机制就是让每个 Token 根据自身的需要,从全局上下文中"吸取"特征,从而更新自己的语义表示。
3. 几何视角:空间的重构
从向量空间的角度来看,注意力的本质是根据上下文动态调整向量的方向。
- 静态词向量(Word2Vec/GloVe): 无论上下文是什么,"Apple" 的向量永远固定不变。
- 注意力机制下的向量: "Apple" 的向量会根据它是在"手机"旁边还是在"水果"旁边,被拉向不同的方向。
每一个注意力头(Head)都在不同的子空间里执行这种"拉扯"操作,最终拼接起来,形成了一个极度丰富、包含多重语义关系的表征。