单头注意力和多头注意力
Transformer的起源:Google Brain 翻译团队通过论文《Attention is all you need》提出了一种全新的简单网络架构——Transformer,它完全基于注意力机制,摒弃了循环和卷积操作。
注意力机制是全部所需
正如论文标题所言“注意力机制是全部所需”,强调了注意力机制是Transformer架构的核心要素,就如同人的心脏一样,充当着发动机的作用。
那么单头注意力和多头注意力到底是什么?它们两者有哪些联系和区别?让我们一起跟着动画来解读吧。
单头注意力和多头注意力
单头注意力: 通过生成查询、键和值向量,计算并归一化注意力分数,最终对值向量进行加权求和,从而得到输入序列中每个位置的加权表示。
单头注意力
单头注意力机制的工作流程如下:
-
生成查询、键和值:接收一个由嵌入向量组成的输入序列。使用三个不同的线性变换(或称为全连接层)将输入序列分别映射为查询(Q)、键(K)和值(V)向量。
-
计算注意力分数:计算查询向量与所有键向量之间的点积,得到注意力分数矩阵。这些分数反映了查询与序列中每个位置的相关性。
-
缩放注意力分数:为防止点积结果过大导致softmax进入饱和区,可以将注意力分数除以一个缩放因子(通常是键向量维度的平方根)。
-
归一化注意力分数:应用softmax函数对注意力分数矩阵进行归一化,得到注意力权重矩阵。归一化后的权重矩阵每行之和为1,表示序列中每个位置的注意力权重。
-
加权求和:使用归一化后的注意力权重对值向量进行加权求和。加权求和的结果是自注意力机制的输出,它包含了根据注意力权重对输入序列中所有位置信息的加权整合。
单头注意力工作流程
多头注意力:通过将输入的查询、键和值矩阵分割成多个头,并在每个头中独立计算注意力,再将这些头的输出拼接并线性变换,从而实现在不同表示子空间中同时捕获和整合多种交互信息,提升模型的表达能力。
多头注意力机制工作流程如下:
-
初始化参数:首先,初始化查询(Q)、键(K)、值(V)矩阵的权重以及多头注意力中的头数(h)。这些权重将用于后续的线性变换。
-
线性变换:对输入的查询、键和值矩阵进行线性变换,生成各自的变换矩阵。这些变换是通过将输入矩阵与相应的权重矩阵相乘来实现的。
-
分割:将线性变换后的查询、键和值矩阵沿着深度(通常是最后一个维度)分割成多个头(h个)。每个头都会得到自己独立的查询、键和值矩阵。
-
多头并行计算:在每个头中独立地执行注意力得分来计算加权求和。
-
拼接:将所有头的输出矩阵沿着深度维度拼接在一起,形成一个大的输出矩阵。
-
最终线性变换:对拼接后的输出矩阵进行线性变换,得到多头注意力的最终输出。这个线性变换通常包括一个可学习的权重矩阵和一个偏置项。
-
残差连接与层归一化:多头注意力模块通常会与残差连接和层归一化一起使用,以提高模型的训练稳定性和性能。
多头注意力工作流程
两者的联系和区别:** 两者在基本原理和目的上是相似的,但在注意力头的数量、信息捕捉与表达能力、计算复杂度与训练难度以及输出结果等方面存在显著的差异。 **
这些差异使得多头注意力在处理复杂任务时通常具有更好的性能。
两者的联系:
-
基本原理:两者都基于注意力机制,通过计算查询(Query)、键(Key)和值(Value)之间的相似度来确定输入的加权表示。
-
目的:都是为了让模型能够关注到输入序列中重要的信息,从而提高模型的性能。
两者的区别:
- 注意力头的数量:
-
单头注意力:只有一个注意力头,即只计算一次查询、键和值之间的相似度。
-
多头注意力:拥有多个独立的注意力头,每个头都会独立地计算查询、键和值之间的相似度。这允许模型同时关注输入序列的不同部分。
- 信息捕捉与表达能力:
-
单头注意力:只能关注一个方面,信息捕捉能力有限。
-
多头注意力:通过多个头的并行处理,能够捕捉到更多样化的特征,提高了模型的表达能力和泛化性能。这种机制使得多头注意力能够关注到句子更多层面的信息,例如罕见词、多义词、反义词等。
- 计算复杂度与训练难度:
-
单头注意力:计算复杂度相对较低,训练也较为简单。
-
多头注意力:虽然增加了计算复杂度,但通常可以通过并行计算来优化。同时,它也需要更多的训练数据和计算资源来优化模型。然而,这些额外的投入通常能够带来模型性能的显著提升。
- 输出结果:
-
单头注意力:直接输出一个加权表示。
-
多头注意力:每个头都会输出一个加权表示,然后将这些表示拼接在一起,并经过一个额外的线性变换,得到最终的输出。
单头注意力和多头注意力
**注释**
Transformer动画素材来源于3Blue1Brown,想了解更多查看参考资料网址。**
如何系统的去学习大模型LLM ?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈