Andrej Karpathy 首次公开私人邮件:揭秘Transformer 注意力机制真相

IMG_256

揭开Transformer“注意力”机制背后的真实故事

近年来,Transformer 成为深度学习领域的绝对主角,而支撑其核心的“注意力”机制更是掀起了一场革命。但这项改变 AI 格局的技术究竟是如何诞生的?Andrej Karpathy 分享了与“注意力”机制最初开发者 Dzmitry Bahdanau 的私人邮件,首次披露了这段被误解和简化的历史。这不仅是一段关于科学发现的个人回忆,更是一次回归真相的旅程

IMG_258

邮件揭示了 Bahdanau 如何在 Yoshua Bengio 的实验室里,从实践中找到灵感,最终提出了开创性的“RNNSearch”,为后来 Transformer 的成功铺平了道路。本文将带你回顾“注意力”的发展历程,还原那些被时间和流言掩盖的细节,见证 AI 进化的关键时刻,揭秘注意力的起源与其背后的故事

这是关于创新、合作与机缘巧合的真实故事,它不仅属于学术界,也属于推动技术边界的每一个人

注意力的诞生:从困惑到灵感

在人工智能的发展历程中,“注意力”机制无疑是一个革命性的突破。虽然现在大多数人提到注意力,第一时间想到的可能是 2017 年的论文《Attention is All You Need》和 Transformer,但实际上,注意力的概念早在三年前就已经出现了

故事开始于 2014 年,当时 Dzmitry Bahdanau(简称 Dima)作为实习生加入 Yoshua Bengio(加拿大计算机科学家,图灵奖得主) 的实验室。他参与了一个机器翻译项目,主要任务是优化序列到序列的神经网络模型。然而,Dima 一开始对这项工作并不乐观——“将一整段文本压缩成一个向量,再进行翻译?这怎么可能有效?”

为了克服编码器和解码器之间的瓶颈,他开始尝试一些新思路。最初的设计灵感来自“两个光标”的概念,即通过动态规划,让两个光标分别移动在源序列和目标序列中。然而,这种方法太复杂且实现困难。于是,他退而求其次,尝试了一种“硬编码的对角线注意力”,尽管结果尚可,但仍显笨拙

真正的突破发生在他的一次灵感闪现中——为什么不让解码器自主学习关注源序列中的相关部分?这一想法源自 Dima 中学时的英语翻译练习:翻译时,眼睛会在源句和目标句之间反复移动,他将这种软搜索设计为 softmax 操作,结合双向 RNN 的状态进行加权平均。结果,一试即成功!

这种机制被命名为“RNNSearch”,并迅速发表了论文《Neural Machine Translation by Jointly Learning to Align and Translate》

“Attention”的命名与后续发展

最初,RNNSearch 并不叫“注意力”,这个名字是 Yoshua Bengio 在论文的最后阶段才加上去的。这个术语灵感来源于人类的认知过程:在翻译时,人们的注意力会在源语言和目标语言之间来回切换

注意力的提出并非孤立存在,同期还有其他研究者在探索类似机制。例如,Alex Graves 的“神经图灵机”和 Jason Weston 的“记忆网络”都包含软搜索或加权操作的概念。这些研究的出现并非偶然,而是当时学术界对神经网络和符号 AI 融合的一次集体努力

RNNSearch 的提出迅速引发了业界的关注,但当时还没有人预见到这个机制的潜力。直到 2017 年,Transformer 的横空出世——一个几乎完全依赖注意力机制的架构。这篇论文不仅简化了模型设计,还引入了位置编码、多头注意力等新概念,使得模型在结构上更加简单统一,也为并行计算打开了大门。自此,Transformer 成为深度学习领域的核心工具,直到今天,其设计仍基本未变

注意力的本质与未来启示

注意力机制的本质是一种“数据依赖的加权平均”,是一种灵活、高效的全局池化操作。它的提出不仅是技术上的突破,也反映了人类认知的深刻影响。正如 Andrej Karpathy 所评价的:“注意力是一种重大解锁,是神经网络架构设计的一次飞跃。”

如今,Transformer 及其变种已经成为自然语言处理、计算机视觉等领域的核心技术。Dima 在回顾这一历程时指出,注意力机制的诞生得益于多个因素的结合——个人创造力、团队协作,以及当时 GPU 性能的提升。这种多维度的推动,正是技术进步的关键所在

写在最后:科学进步的本质

从 Bahdanau 的 RNNSearch,到 Transformer 的席卷全球,注意力的进化史展现了科学探索的独特魅力。它提醒我们,突破性的想法往往来自那些在实践中寻求解决问题的创新者,而非空想理论家。正如 Dima 所说:“一个好的研发项目,比我们常认为的‘真正的 AI 研究’能为技术进步做出更多贡献。”

这,就是“注意力”的故事

附:Dzmitry Bahdanau 给 Andrej 的完整邮件内容

IMG_259

Hi,Andrej:

很高兴和你分享这段8年前的故事!

我在完成雅各布大学(Jacobs University)与Herbert Jaeger合作完成的硕士第一年后,作为实习生加入了Yoshua的实验室

我告诉Yoshua我愿意做任何工作。他安排我参与机器翻译项目,与Kyunghyun Cho和团队一起工作。一开始,我对将一串单词压缩成一个向量的想法非常怀疑。但我也非常渴望能拿到博士生的录取,所以我卷起袖子,开始做我擅长的事——写代码、修复错误等。后来,随着我对项目理解的深入,Yoshua邀请我攻读博士学位(在2014年,这已经足够了——那是好时候啊!)。我非常高兴,觉得是时候放手去创新了

于是,我开始思考如何避免编码器和解码器RNN之间的瓶颈问题。我的第一个想法是设计一个有两个“光标”的模型,一个遍历由BiRNN编码的源序列,另一个遍历目标序列。这些光标轨迹可以通过动态规划来边缘化。Kyunghyun Cho认为这类似于Alex Graves的RNN转录器模型。随后,我也可能读了Graves的手写识别论文。然而,这种方法看起来并不适合机器翻译

这个“光标”方法在实习剩下的5周内太难实现。所以我尝试了更简单的方法——两个光标同时同步移动(本质上是硬编码的对角注意力)。这种方法有些效果,但缺乏优雅

有一天,我突然想到,如果让解码器RNN学会在源序列中搜索光标位置会如何?这个想法部分受到我中学学英语翻译练习的启发。翻译时,视线会在源序列和目标序列之间来回切换。我用softmax表达了这种软搜索,并通过加权平均BiRNN状态实现。这种方法第一次试验就效果很好,让我非常兴奋。我把这种架构称为RNNSearch,我们赶紧发布了ArXiV论文,因为我们知道Ilya和Google团队在用8个GPU训练他们的LSTM模型(RNN Search仍然只用1个GPU)

后来发现,这个名字不够好。最终,Yoshua在论文最后一轮修改时将“attention”加到了结论部分

1.5个月后,我们看到了Alex Graves的NMT论文。确实是完全相同的想法,但他是从完全不同的动机出发的。在我们的情况下,发明是需求的产物。而对他来说,可能是为了弥合神经与符号AI之间的差距?Jason Weston团队的Memory Networks论文也采用了类似的机制

我当时没有预见到attention可以用于更低级别,作为表示学习的核心操作。但当我看到Transformer论文时,我立即对实验室同事说:“RNN完蛋了。”

回到你的问题:在蒙特利尔Yoshua实验室中“可微分和数据驱动的加权平均”的发明是独立于Neural Turing Machines、Memory Networks以及一些来自90年代甚至70年代的相关认知科学论文的(我可以提供任何链接)。它是Yoshua鼓励实验室追求雄心壮志、Kyunghyun Cho成功领导机器翻译项目、以及我多年来通过竞赛编程磨练的创造力和编码能力共同促成的。我并不认为这个想法会等待太久才被发现。即使没有我、Alex Graves和故事中的其他人,attention也是深度学习中实现灵活空间连接的自然方法。它是显而易见的,只等着GPU足够快,使人们有动力认真对待深度学习研究。一旦我意识到这一点,我的AI宏愿便是启动更多像机器翻译项目那样的惊人应用项目。优秀的研发工作对基础技术的进步贡献远胜过那些我们常认为是“真正”AI研究的复杂理论

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容