Attention 机制是 AI 智能的本质吗?从 2014 年 Bahdanau 工作说起
Is 'Attention' the Essence of Intelligence?
Quanta Magazine 长文回顾了 attention 机制从 2014 年 Bahdanau 在 Bengio 实验室提出,到 2017 年 Google 团队发表 Transformer 论文《Attention Is All You Need》的关键演化。
梳理 attention 机制从 Bahdanau 2014 年工作到 Transformer 诞生的脉络,并结合亲历者观点探讨其与智能的关系。

E自 2022 年 ChatGPT 发布以来席卷全球的一切——"AI 经济";充当好友、医生和数学家的聊天机器人;关于存在性风险的讨论——从某种意义上说,这一切都要从蒙特利尔大学实验室里一位名叫 Dzmitry Bahdanau 的实习生说起。
那是 2014 年。这位 23 岁的白俄罗斯人从小就参加编程竞赛,但此前从未做过学术研究,他被请来帮助解决如何让计算机把英语句子翻译成法语的问题。Bahdanau 当时在研究人工神经网络,这种网络在模式识别任务中已经展现出潜力,例如识别手写文字和辨认照片中的物体。神经网络通过根据训练数据加强或削弱节点之间的连接来学习识别模式。Bahdanau 内心对神经网络能否达到人类水平智能的能力有所怀疑,但他的导师——计算机科学家 Yoshua Bengio,以及项目中的博士后 Kyunghyun Cho 都是坚定的信徒。而翻译被广泛认为是神经网络值得挑战的一道难题。
翻译并不是简单地把每个英语单词换成法语单词那么简单。不同的语言有不同的语法结构,并充满了习语和隐含意义,这些长期阻碍着翻译自动化的尝试。你无法简单地套用翻译规则,因为根本不存在这样的规则。但神经网络看起来很有前景,因为它们通过样例进行学习。它们可以在庞大的英语和法语句对数据库上进行训练,最终吸收其中的准规则、例外和微妙之处。
不过,结果一直不温不火;句子越长,神经网络的表现就越差。这是因为研究人员试图把每个句子的数据塞进固定大小的内存中,然后再用目标语言解码句子。这成了一个瓶颈,限制了翻译所能达到的复杂程度和精细程度。当时的网络架构根本就不对。
于是 Bahdanau 尝试了不同的方法。"这显然是应该做的事情——在科学中偶尔会出现这样的情况,对一个在该领域经验不多的人来说,思路反而格外清晰,"他在蒙特利尔接受我采访时回忆说,他至今仍在那里从事 AI 工作。"而且一下子就成功了。从第一次尝试开始就成了。"
Bahdanau 的诀窍是一种他、Cho 和 Bengio 称之为"注意力"(attention)的数学运算, 让他们的神经网络翻译长句子和短句子一样出色。这意味着该方法是可扩展的。当时其他 AI 研究人员迅速将注意力机制整合进自己的神经网络设计中。随后在 2017 年,Google 的一个团队发明了一种新的神经网络架构——Transformer(变换器),它极大强化了注意力机制,并剥离了其他一切。该团队的论文《Attention Is All You Need》报告称,Transformer 实现了最先进的翻译效果,同时所需的计算量仅为训练先前模型的一小部分。这篇论文被引用次数已超过 25 万次,是 AI 领域的分水岭时刻。ChatGPT 和 Claude 等大型语言模型随之出现。
鉴于所释放出的惊人算力,值得我们去追问:这种注意力机制究竟是什么,为什么它能够“无所不能”,又为什么机器翻译成为了揭开它面纱的那项任务。注意力是一种让我们得以理解单一 AI 模型为何能够与我们交谈、诊断疾病、生成逼真的视频、攻克长期悬而未决的数学难题,以及更多事情的机制。它是否在某种程度上正是智能的核心——无论是人工智能还是其他形式的智能?
![]()
含有代词(例如“it”)的句子恰恰体现了注意力所克服的挑战。请看这两个例子:“The animal didn’t cross the street because it was too tired.”以及“The animal didn’t cross the street because it was too wide.”要正确地把这两句翻译成法语,AI 模型必须判断出:在第一句中,“it”指的是 animal,而 animal 在法语中是阳性名词,因此译文应使用对应的阳性代词形式 il;但在第二句中,“it”指的是 street,它是阴性名词,需要使用不同的代词 elle。机器是如何弄清这一点的呢?
Bahdanau 记得自己在学校学英语时做翻译练习的情形。为了写出译文句子中的下一个词,他不得不在源文本中来回扫视,以确定下一个该写什么。“你左边是源句,右边是你的译文,然后你会这样——左看看、右看看,左看看、右看看,”他回忆道。“那个过程就是我想要用神经元机制表达的东西。”他赋予神经网络的这件注意力工具,其实是一种让网络能够识别一句话中任意位置、对其下一个译文词最具影响的那个或那些词的数学方法。在上文那个歧义代词“it”的例子里,系统会审视句子的其余部分,以判断哪些词对它的含义影响最大。
Transformer 由多层节点组成,层与层之间的节点相互连接。当一个句子被送入 transformer 时,每个词首先被转换成一个数值表示,称为向量,我们可以把它想象成一支指向特定方向的箭头。这些向量在网络中传递,由被称为权重(由模型训练决定)的数字控制它们在每一层中如何变换。权重会将每个词的当前向量表示转换为三个新的、专属于该词的向量——“query(查询)”、“key(键)”和“value(值)”——它们在注意力运算中各自承担不同的职能。
网络通过被称为注意力头(attention head)的多个系统并行地执行这一运算。每个注意力头都会把每个词的 query 与句中所有其他词的 key 进行比较。这些向量的匹配程度——它们指向同一方向的程度——决定了其他每个词的 value 在多大程度上被融入当前这个词的新的、更新的向量之中。其他词的信息就这样字面上被纳入到每个词的表示之中。系统正在将上下文转化为数学。
当「那只动物因为太累了而没有过马路」这句话进入 Transformer 时,网络中第一摞被称为编码器的层会借助注意力运算,逐步建立起对整句的上下文理解。在每一层中,每个注意力头都会为「它」生成一个查询向量(同时还有一个键向量和一个值向量)。这个查询向量可以理解为对句中别处信息的一种请求。例如,在较深的层中(在网络已经累积了大量词语信息之后),针对「它」的查询或许可以解读为:「我需要一个出现在前文、有可能就是那个累了的事物的名词。」与此同时,与「animal」相关联的键向量能够有效地表明自己是一个「能够感到疲倦」的名词——当然这只是它的诸多特征之一。因此,它的键向量比「street」的键向量更匹配该查询,于是「animal」所对应的值向量便会在「it」更新后的表征中占据更大的权重。
「it」这个经过上下文丰富后的新表征会传递到下一层。在那里,网络会再次执行注意力运算。一轮又一轮的计算让各个词语对自身的表征变得愈发丰富。
专家表示,要弄清任何一个注意力头究竟在做些什么通常并不容易,但作为整体,它们能够捕捉到多种多样的关系,从名词与动词之间的搭配,到生物与情感之间的关联。后续层会在前面层所建立的关联之上进一步构建,因此当句子从编码器输出时,「it」已经被赋予了某种近似于意义的东西。
之后,Transformer 的第二部分——解码器——会逐词生成法语译文。在决定下一个该吐出哪个法语单词时,它会借助注意力机制调用编码器对英语词语所产生的数值表征。英语句子中所编码的上下文信息帮助它将「it」翻译成阳性的 il。
关键在于,没有人需要事先告诉 Transformer 动物会感到疲倦、街道可能有宽有窄。神经网络是在训练过程中,通过学习大量配对的英法双语句子,自行发现这些关联的。这些关联会被编码进权重之中。训练之初,网络使用的是随机权重,由此产生的查询、键和值向量都没有用处,翻译质量也很差。但每一次翻译错误都会通过网络反向回传一个修正信号,对造成该错误的权重进行细微调整。经过数万亿次这样的调整之后,网络最终能够生成有用的向量,从而给出正确的翻译——即便是面对从未见过的句子也不例外。
事实证明,注意力正是用于连接词语、构建上下文——也就是翻译的基本要素——的正确数学运算。而当你能够翻译任意长度的文本块时,似乎便能无所不能。
![]()
一个神经网络如果已经学到了足够的语言知识,能够把英语句子翻译成法语,那它也能用任何一种语言补全句子。换句话说,预测翻译中的下一个词,只是"预测下一个词"这一更普遍任务的一个子任务,仅此而已。而这正是大型语言模型所做的事。它们在整个互联网的内容上接受训练,学习在各种语境中哪些词应当关注哪些其他的词。它们一遍又一遍地处理整个数据集,尝试数万亿次去预测在训练过程中所处的那部分网页中的下一个词。这些模型里神经元之间的连接会被逐步微调,从而在词与词之间形成越来越有用的注意力模式——无论是在任何语境中预测下一个词,还是对人类的提示给出恰当的回应。
从翻译"it"这个词的能力出发,我们不知怎的就迎来了一场革命。
"这可是个相当大的飞跃,不是吗?"Llion Jones 说。他是《Attention Is All You Need》的作者之一,如今担任 Sakana AI 的首席技术官。
Jones 和其他人怀疑,预测下一个词(这被称为语言建模)是"AI 完备"的:这是一项如此困难的任务,以至于解决了它便意味着你在某种意义上已经解决了通用 AI。它之所以可能是 AI 完备的,是因为这项任务把人类以书面形式所做的几乎任何事情都作为子任务包含在内。"互联网上有翻译,"Jones 指出,"所以如果我说'"The animal didn't cross the street because it was too tired" in French is [blank],'那么为了补全这个句子,Transformer 必须能够翻译成法语。如果我说'2 + 3 is [blank],'它需要做算术。如果它看到一连串的数学符号并想知道接下来是什么,它需要理解高深的数学。如果我说'The president of the United States is [blank],'它需要知道事实。因此,能够预测下一个词就要求你能做所有这些事情。而且因为它是 AI 完备的,语言建模在某种程度上是我们对智能最接近的定义。"
说一个大语言模型"知道"或"理解"任何事情——至少不像人类那样——可能并不恰当,但这只是我们习惯于谈论它们所展现的能力的方式。无论如何,注意力是人工神经网络访问与传达意义、关联与语境的手段,而且常常足够出色,让我们惊叹于它们的流畅。(对于高等数学等任务,当今的前沿 AI 模型通常会在其语言建模之上叠加更显式的形式推理与证明验证系统来检验它们的工作。)
但人类智能呢?我们的大脑会不会也采用了某种与 Bahdanau 所发明的数学运算类似的机制?毕竟,我们在说话、写作甚至思考时,也在做着类似于"生成最可能的下一个词"这样的事情。或许我们的智能也无异于语言建模?
认知科学家已经开始研究这个问题——这是古老的语言与思维关系之问的全新版本。可以肯定的是,大语言模型的成功表明,仅凭语言的统计模式就编码了关于世界的海量信息。问题是:当我们掌握了语言,智能会随之自动到来吗?
近期研究让我相信,人类思维并非纯粹是语言性的(而大多数其他动物的智力根本就不是语言性的):当我们思考时,激活的大脑区域远不止大脑皮层中与语言相关的专门网络。语言是我们用来交流关于世界的方式,但我们的思维似乎依赖于感官印象、身体和社交体验、记忆以及至少部分存在于大脑语言网络之外的推理能力。因此,语言建模似乎仅仅是人类认知的一个强大组成部分,而非其等价物或来源。
至于我们是如何做到“它”的——我如何能瞬间理解“疲倦”的是那只动物而不是那条街道——还没有人知道。琼斯则认为,真正掌握语言建模并非仅靠注意力就足够。毕竟,大脑显然比Transformer更高效地完成这项任务。我们从未读完整个互联网,就能流畅对话,而且也不消耗那么多能量。“当前的范式无法解决这个[效率]问题,”琼斯说。“你似乎必须跳到一种非常、非常不同的东西上去。”
无论我们自身的神经机制是什么,回想起来,解决翻译问题解锁了人工智能这件事在我看来是合情合理的。无论你是人类还是机器,拥有有效翻译的能力在某种意义上就意味着你已经理解了。如今机器理解了这么多——至少在效果上如此——以至于我们几乎不知道该作何感想了。
来源:Hacker News · quantamagazine.org