编程与 AI15 分钟阅读更新于 2026-08-03

Transformer 翻译时如何完成源词与目标词的软对齐

围绕Encoder-Decoder Attention 的翻译示例,解释不同目标位置如何关注源序列,以及注意力权重为什么不是硬匹配。

相关工具

翻译不只是把词逐个替换

不同语言的语序、词形和表达习惯并不完全对应。源句中的一个词可能影响目标句中的多个词,目标句中的一个词也可能需要结合源句的多个位置才能确定。Transformer 需要一种更灵活的方式,把当前目标位置和源序列联系起来。

文中把 Encoder-Decoder Attention 看成解码器关注输入句子相关部分的机制。解码器在生成每个目标词时,都可以对源序列各位置分配不同权重,这种关系通常被称为软对齐。

Transformer 翻译过程中源序列和目标序列软对齐的示意图
翻译中的源目标软对齐

目标端不同位置通过交叉注意力关注源序列的不同区域。

交叉注意力怎样提出对齐问题

生成某个目标位置时,解码器当前表示会生成 Query。这个 Query 包含目标前缀、当前位置和前面已经读取的信息,像是在问源记忆:“为了生成此刻的词,我需要哪些源内容?”

编码器输出的每个源位置都有 Key 和 Value。Query 与各个 Key 计算相关性,Softmax 后形成一组权重,再按权重汇总 Value。权重高的源位置对当前目标表示贡献更大,权重低的位置仍可能保留少量影响。

Transformer 交叉注意力中目标 Query 与源序列 Key Value 形成对齐的示意图
Query 查询源序列记忆

目标 Query 与源序列 Key 匹配,再按权重汇总源 Value。

软对齐为什么不是一条固定连线

硬对齐会把一个目标词直接对应到某个源词,适合关系非常明确的情况,但语言中常有一个表达跨越多个词,或一个词需要结合上下文才能翻译。软对齐让当前目标位置同时保留多个源位置的概率权重。

例如,目标端生成一个动词时,可能同时关注源句中的主语、动作和时间;生成一个代词时,可能重点查询之前提到的名词。不同目标位置的 Query 不同,因此对齐分布也会随之变化。

如何阅读一张对齐热力图

热力图通常把目标位置放在一条轴上,把源位置放在另一条轴上,颜色深浅表示交叉注意力权重。阅读时先选定一个目标位置,看它在哪些源位置颜色更深,再比较相邻目标位置的关注变化。

一张热力图只展示某一层、某个头和某条输入下的权重。不同头可能关注不同关系,不同层也可能逐步改变对齐模式。热力图可以帮助观察,但不能单独证明模型已经完整理解了语义。

Transformer 翻译交叉注意力源目标对齐热力图
交叉注意力对齐热力图

颜色深浅表示不同目标位置对源序列各位置的关注权重。

一个目标词为什么可能看多个源词

翻译中的词形变化、短语表达和语序调整,都会让源目标关系变得不止一对一。目标词可能需要一个短语的整体含义,或者需要同时参考多个源位置的语法信息。交叉注意力通过加权汇总,让这些信息共同进入当前位置。

这种汇总不是简单把源词拼在一起,而是在编码器已经形成的上下文表示上进行组合。Value 里携带的是源位置经过编码后的表示,不是原始词面,因而能包含更丰富的语义和上下文。

多头和多层如何完善对齐

多头注意力让不同头在不同表示子空间中计算对齐。一个头可能对局部词形更敏感,另一个头可能更关注句法关系,还有的头可能保留长距离联系。各头结果拼接后,解码器获得多种对齐视角。

多层解码器则会反复读取源记忆。底层可能先建立粗略联系,上层根据更丰富的目标表示继续调整关注区域。最终输出不是某一张对齐图直接决定的,而是多层、多头和 FFN 共同加工的结果。

训练如何让对齐逐步形成

训练时,每个目标位置都有真实目标词作为标签。若当前目标表示没有读取到源句中有帮助的内容,输出概率可能偏低,交叉熵损失会通过交叉注意力返回梯度,调整 Query、Key、Value 投影。

模型不会被单独告知“这个目标词应该对齐哪个源词”,而是在预测目标的过程中间接学会有用的对齐模式。只要某种源目标联系能持续帮助降低损失,它就更可能在参数中保留下来。

对齐可靠不等于翻译一定正确

注意力权重可以显示模型把信息分给了哪里,但翻译质量还受到词元切分、编码器表示、解码器历史、输出层和选词策略影响。权重看起来集中,不代表被读取的内容一定被正确解释。

反过来,一张热力图分布较分散,也不一定意味着模型完全没有对齐。一个目标词可能本来就需要多个源位置的信息。阅读对齐时,应该结合源句、目标句和生成结果一起判断。

把软对齐放回完整翻译流程

源句先经过 Embedding、位置编码和多层编码器,形成每个源位置的上下文记忆;目标前缀进入解码器,掩码自注意力整理目标历史;交叉注意力用当前 Query 查询源记忆,形成软对齐后的表示;FFN 和输出层再完成下一词预测。

所谓对齐,不是翻译流程之外额外加的一张表,而是交叉注意力在每个目标位置动态计算出的信息分配。它让目标序列能够根据当前生成状态,从源序列中选择不同内容。

常见问题

软对齐会把一个目标词对应到多个源词吗?

可以。交叉注意力输出的是一组权重,多个源位置都可能贡献信息,只是权重大小不同。

热力图颜色最深的位置就是唯一正确对应吗?

不一定。它表示某次计算中的较高权重,还会受到层、头、输入和上下文影响,不能直接当成硬对齐答案。

模型需要人工标注每个词的对齐关系吗?

经典 Transformer 通常不需要单独的对齐标注。对齐模式是在目标预测损失的反馈中间接学习形成的。