10年前,注意力机制(Attention)真正诞生,这一切源于一封不起眼的邮件。
以下是Dzmitry Bahdanau写给Karpathy的原始邮件翻译,写于2022年,讲述了一个关于创新、巧合与时代机遇的真实故事。
嗨,Andrej。
很高兴与你分享8年前那段往事。
在德国雅各布大学完成硕士第一年学业后,我跟随Herbert Jaeger,进入了Yoshua Bengio的实验室实习。当时我对Yoshua说,任何任务都可以交给我。于是他安排我参与机器翻译项目,与Kyunghyun Cho及团队一起工作。
说实话,我对“将一系列单词压缩成一个向量”的理念持严重怀疑态度。但我也确实渴望拿到博士学位——于是挽起袖子,开始做自己最擅长的事:写代码、修复Bug。
到了某个节点,我对团队的进展有了足够了解,Yoshua便邀请我攻读博士学位。2014年是个黄金时代,仅凭这些工作就足以让我获得读博资格——美好而简单的旧时光。
我倍感欣喜,觉得是时候享受科研乐趣、发挥创造力了。
于是我开始思考:如何打破Encoder-Decoder RNN之间的信息瓶颈?
第一个想法是构建一个带有两个“光标”的模型:一个在源序列中移动(由BiRNN编码),另一个在目标序列中移动。光标轨迹通过动态规划边际化来处理。Kyunghyun Cho认为这与Alex Graves的RNN Transducer模型类似。后来我可能也读过Graves的手写识别论文,但那种方法对机器翻译任务并不理想。
这个“光标方法”在我实习剩余的五周内难以实现,所以我尝试了一个更简单的思路——让两个光标同步移动,这本质上就是硬编码的对角注意力。虽然有些效果,但不够优雅。
直到有一天,一个新灵感涌现:让Decoder RNN学会在源序列中搜索并确定光标位置。这多少源于中学英语翻译练习的启发——翻译时,目光会在源句和目标句之间来回扫视。我把这种“软搜索”表示为softmax,然后对BiRNN状态进行加权平均。从第一次试验起,效果就非常出色,我激动不已。
我将这个架构命名为RNNSearch,仅在一个GPU上运行。当时我们了解到,谷歌的Ilya Sutskever团队用8个GPU的LSTM模型在某些指标上领先于我们,于是我们赶紧把论文发到了ArXiV上。
后来发现,这个名字并不理想。更好的名称——“注意力”(Attention)——是Yoshua在最终修改时添加到结论中的。

一个半月后,我们看到了Alex Graves的论文。确实是完全相同的核心思想,尽管他的动机截然不同。

在我们这边,新算法的诞生源于实际需求驱动。我猜测在他那边,则是连接主义神经学派与符号学派的雄心?Jason Weston团队的Memory Networks论文也采用了类似的机制。

坦白说,我当初并未预料到注意力机制可以下沉到更低层次,并成为表示学习的核心算法。但当Transformer论文问世时,我立刻向实验室同事宣布:RNN的时代终结了。
回到你最初的问题:在蒙特利尔Yoshua实验室里,“可微且数据依赖的加权平均”的提出,与神经图灵机、Memory Networks以及20世纪90年代(甚至70年代)的认知科学论文并无直接关联。这是Yoshua推动实验室追求宏伟目标的成果,是Kyunghyun Cho在管理由初级博士生和实习生组成的大型机器翻译项目方面展现的出色领导力,也是我本人在多年编程竞赛中磨练出的创造力与编程技能的综合体现。
即便是我、Alex Graves以及这个故事中的其他角色当时没有投身深度学习研究,这个想法的出现也不会太遥远。注意力机制只是深度学习框架中实现灵活空间连接的一种自然方式——几乎是一个显而易见的创意,一直在等待GPU运算速度足够快,等待人们有动力并认真对待深度学习研究。
自从我意识到这一点,我对AI的宏大愿景就是启动像机器翻译那样令人惊叹的应用项目。扎实的研发工作能为基础技术进展做出更多贡献,远超过我们通常认为的“真正的”人工智能研究所包含的那些花哨理论。
就是这样!非常期待了解更多关于你AI教育项目的消息(我从Harm de Vries那里听到了一些传闻)。
干杯,Dima
One More Thing
Karpathy感叹道,他有点惊讶这篇真正揭示注意力机制起源的论文并未获得足够多的关注。自从“Attention is all you need”一飞冲天之后,大家才意识到:给论文起一个好名字,对技术传播的影响力有多大。此后,论文标题就开始放飞自我了。

除了扎堆模仿“xx is all you need”之外,最近甚至还出现了“Taylor Unswift”——该研究将模型权重转换为泰勒级数参数,用于保护已发布模型的所有权并防止滥用。

就,emmm……
