Transformer 模型自 ChatGPT 问世后,已成为 NLP 领域的核心架构。然而,你是否想过它究竟有多强大?本文基于 Perez 等人的论文 Attention is Turing Complete,为你揭示一个令人惊叹的视角:一个仅由单层 encoder 和三层 decoder 组成的小型 Transformer,竟然能近乎完美地模拟一台图灵机。这意味着它在理论上拥有与现代计算机同等的计算潜力。接下来,我们将从几个关键洞察出发,一步步深入理解 Transformer 的计算本质。
一、为什么需要位置编码?
问题的根源:Transformer 依靠注意力机制捕捉单词之间的相关性,但对词序完全不敏感。换句话说,对于“我爱你”和“我你爱”,它认为两者没有区别。因此,我们必须对输入序列进行位置编码,为每个 token 植入位置信息。
从计算理论看位置编码的必要性
本文作者将 Transformer 视为一个自动机,输入序列就是待识别的语言。如果不加位置编码,模型无法区分两个字母相同但顺序不同的语言。更严格地,只要两种语言中各个字母出现的比例相同,Transformer 就完全无法分辨它们。
这种特性要求 Transformer 只能识别具有比例不变性(proportion invariance)的语言集合。遗憾的是,即使是简单的正则语言,只要字母比例相同,它也无法识别——这远未达到我们的预期。

