“注意力就是你所需要的一切”背后Transformer的发展和灵感的(真实)故事。
注意力Attention:
- 一种出色的(依赖于数据的)加权平均运算。它是一种全居性的汇集,一种reduction汇总,一种关系。
- 这是一种聚合来自多个节点(令牌、图像补丁等)的相关信息的方法。
它是富有表现力的,强大的,有大量的并行性,并有效地优化。
多层感知器(MLP)实际上几乎可以重写为对数据独立权重的注意力(第一层权重是查询,第二层权重是值,键只是输入,softmax变为元素级,删除规范化)。
Attention是神经网络架构设计中的一个 * 主要 * 解锁突破。
《注意力就是你所需要的一切》论文的核心贡献是引入Transformer神经网络,删除除了Attention之外的所有内容,基本上只是将其堆叠在带有MLP的ResNet中。
Transformer论文是独立的,因为它添加了许多额外的惊人想法捆绑在一起-位置编码,缩放注意力,多头注意力,各向同性简单设计等。
Transformer基本上停留在2017年的形式上直到今天,7年后,相对较少和较小的修改,也许除了更好的位置编码方案。
下面这份邮件暗示了为什么这个操作首先被称为“注意力”:
- 它来自于对源句中词语的关注
- 以顺序的方式发出翻译的单词
后期由Yoonne Bengio引入作为一个术语来代替RNNSearch。
同样有趣的是,这个设计的灵感来自于人类的认知过程/策略:
- 顺序地来回关注一些数据,也就是注意力的来回转移。
具体来说,它指的是在处理某些数据时,人们会顺序地、反复地将注意力集中在数据的不同部分上。这种策略在多种认知活动中都会出现,比如阅读、听力理解、问题解决等。
- 在阅读时,我们的视线会在文本的不同部分之间移动,以便理解整个句子或段落的意思。
- 在听力理解中,我们的注意力可能会在不同的声音或说话者之间转移,以捕捉和理解信息。
- 在问题解决时,我们可能会在不同的信息点之间来回思考,以找到解决方案。
在Dzmitry Bahdanau的信中提到的上下文中,这种“来回转移注意力”的策略被用来启发机器翻译模型中的注意力机制。在机器翻译中,模型需要在源语言句子和目标语言句子之间建立联系,这就需要模型能够“关注”源语言句子中的不同部分,以生成目标语言句子中相应的词汇。这种注意力机制使得机器翻译模型能够更加灵活和准确地处理语言之间的转换。
下面是Dzmitry Bahdanau信件原文:
这是一封由Dzmitry Bahdanau写给Andrej的信,讲述了他在八年前作为实习生加入Yoshua Bengio实验室的经历。以下是信件的完整翻译:
嗨,Andrej,
很高兴能告诉你八年前发生的故事!
在Jacobs大学与Herbert Jaeger完成第一年硕士学业后,我作为实习生加入了Yoshua的实验室。
我告诉Yoshua我愿意做任何工作。Yoshua让我参与到与Kyunghyun Cho和团队合作的机器翻译项目中。我对将一系列单词压缩进一个向量的想法非常怀疑。但我也真的想要一个博士生的offer。所以我卷起袖子,开始做我擅长的事情——编写代码,修复bug等等。在某个时候,我表现出了足够的理解,以至于Yoshua邀请我攻读博士学位(2014年是一个很好的时机,那时这就足够了——美好的旧时光!)。我非常高兴,我认为是时候享受乐趣并发挥创造力了。
所以我开始思考如何避免编码器和解码器RNN之间的瓶颈。我的第一个想法是拥有一个模型,其中有两个“光标”,一个在源序列中移动(由BiRNN编码),另一个在目标序列中移动。光标的轨迹将通过动态规划来边缘化。Kyunghyun Cho认为这相当于Alex Graves的RNN Transducer模型。在那之后,我可能还阅读了Graves的关于手写识别的论文。这种方法看起来不适合机器翻译。
上述使用光标的方法在我实习剩下的五周内实施起来太难了。所以我尝试了一种更简单的东西——两个光标同时同步移动(实际上是硬编码的对角线注意力)。这种方法有点效果,但缺乏优雅。
所以有一天我想,如果能让解码器RNN学会在源序列中搜索光标的位置就好了。这有点像我在中学学习英语时涉及的翻译练习。当你翻译时,你的目光在源序列和目标序列之间来回移动。
我将软搜索表达为softmax,然后是BiRNN状态的加权平均。它从第一次尝试就非常成功,让我非常兴奋。
我将这个架构称为RNNSearch,我们赶紧在ArXiV上发表了一篇论文,因为我们知道Ilya和Google的同事们用他们的8个GPU LSTM模型(RNN Search仍然在1个GPU上运行)领先我们。
后来发现,这个名字并不好。更好的名字(注意力Attention)是由Yoshua在最后一遍修改时添加到结论中的。
我们在1.5个月后看到了Alex Graves的NMT论文。这确实是完全相同的想法,尽管他以完全不同的动机达到了这个想法。在我们的情况下,需要是发明之母。在他的情况下,可能是连接神经和符号AI的雄心?Jason Weston和其他人的记忆网络论文也展示了类似的机制。
我没有预见到注意力Attention可以在更低的层次上使用,作为表示学习中的核心操作。但当我看到Transformer论文时,我立即向实验室的同事宣布RNN已经死了。
回到你最初的问题:在蒙特利尔的Yoshua实验室发明的“可微分和数据依赖的加权平均”与神经图灵机、记忆网络以及90年代(甚至70年代)的一些相关认知科学论文无关。这是Yoshua领导实验室雄心勃勃的结果,Kyunghyun Cho在管理一个由初级博士生和实习生组成的大型机器翻译项目方面的出色技能,最后,还有我自己在多年竞技编程中磨练出来的创造力和编码技能。但我不认为这个想法会在更长时间内等待被发现。即使我自己、Alex Graves和这个故事中的其他角色当时没有从事深度学习,注意力Attention也是深度学习中实现灵活空间连接的自然方式。
这是一个几乎显而易见的想法,它等待着GPU足够快,让人们有动力并认真对待深度学习研究。自从我意识到这一点以来,我的大AI抱负就是开始像那个机器翻译项目一样的惊人应用项目。好的研究与开发努力可以为基本技术的进步做出比我们经常认为的“真正”AI研究更多的贡献。
就这些了!非常好奇听到更多关于你的教育AI项目的消息(我听到了一些来自Harm de Vries的传言;)。
干杯,Dima