Transformer 动画讲解:单头注意力和多头注意力_单头注意力机制

【深度学习】多头注意力机制详解 阅读详情

暑期实习基本结束了,校招即将开启。

不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。提前准备才是完全之策。

最近,我们又陆续整理了很多大厂的面试题,帮助一些同学解惑答疑,分享技术面试中的那些弯弯绕绕。

Transformer的起源:Google Brain 翻译团队通过论文《Attention is all you need》提出了一种全新的简单网络架构——Transformer,它完全基于注意力机制,摒弃了循环和卷积操作。

图片

注意力机制是全部所需

正如论文标题所言“注意力机制是全部所需”,强调了注意力机制是Transformer架构的核心要素,就如同人的心脏一样,充当着发动机的作用。

那么单头注意力和多头注意力到底是什么?它们两者有哪些联系和区别?让我们一起跟着动画来解读吧。

图片

单头注意力

通过生成查询、键和值向量,计算并归一化注意力分数,最终对值向量进行加权求和,从而得到输入序列中每个位置的加权表示。

图片

单头注意力机制的工作流程如下:

  1. 生成查询、键和值:接收一个由嵌入向量组成的输入序列。使用三个不同的线性变换(或称为全连接层)将输入序列分别映射为查询(Q)、键(K)和值(V)向量。

  2. 计算注意力分数:计算查询向量与所有键向量之间的点积,得到注意力分数矩阵。这些分数反映了查询与序列中每个位置的相关性。

  3. 缩放注意力分数:为防止点积结果过大导致softmax进入饱和区,可以将注意力分数除以一个缩放因子(通常是键向量维度的平方根)。

  4. 归一化注意力分数:应用softmax函数对注意力分数矩阵进行归一化,得到注意力权重矩阵。归一化后的权重矩阵每行之和为1,表示序列中每个位置的注意力权重。

  5. 加权求和:使用归一化后的注意力权重对值向量进行加权求和。加权求和的结果是自注意力机制的输出,它包含了根据注意力权重对输入序列中所有位置信息的加权整合。

图片

单头注意力工作流程

多头注意力:

通过将输入的查询、键和值矩阵分割成多个头,并在每个头中独立计算注意力,再将这些头的输出拼接并线性变换,从而实现在不同表示子空间中同时捕获和整合多种交互信息,提升模型的表达能力。

多头注意力机制工作流程如下:

  1. 初始化参数:首先,初始化查询(Q)、键(K)、值(V)矩阵的权重以及多头注意力中的头数(h)。这些权重将用于后续的线性变换。

  2. 线性变换:对输入的查询、键和值矩阵进行线性变换,生成各自的变换矩阵。这些变换是通过将输入矩阵与相应的权重矩阵相乘来实现的。

  3. 分割:将线性变换后的查询、键和值矩阵沿着深度(通常是最后一个维度)分割成多个头(h个)。每个头都会得到自己独立的查询、键和值矩阵。

  4. 多头并行计算:在每个头中独立地执行注意力得分来计算加权求和。

  5. 拼接:将所有头的输出矩阵沿着深度维度拼接在一起,形成一个大的输出矩阵。

  6. 最终线性变换:对拼接后的输出矩阵进行线性变换,得到多头注意力的最终输出。这个线性变换通常包括一个可学习的权重矩阵和一个偏置项。

  7. 残差连接与层归一化:多头注意力模块通常会与残差连接和层归一化一起使用,以提高模型的训练稳定性和性能。

图片

多头注意力工作流程

两者的联系和区别

两者在基本原理和目的上是相似的,但在注意力头的数量、信息捕捉与表达能力、计算复杂度与训练难度以及输出结果等方面存在显著的差异。

这些差异使得多头注意力在处理复杂任务时通常具有更好的性能。

两者的联系
  1. 基本原理:两者都基于注意力机制,通过计算查询(Query)、键(Key)和值(Value)之间的相似度来确定输入的加权表示。

  2. 目的:都是为了让模型能够关注到输入序列中重要的信息,从而提高模型的性能。

两者的区别
  1. 注意力头的数量:
  • 单头注意力:只有一个注意力头,即只计算一次查询、键和值之间的相似度。

  • 多头注意力:拥有多个独立的注意力头,每个头都会独立地计算查询、键和值之间的相似度。这允许模型同时关注输入序列的不同部分。

  1. 信息捕捉与表达能力:
  • 单头注意力:只能关注一个方面,信息捕捉能力有限。

  • 多头注意力:通过多个头的并行处理,能够捕捉到更多样化的特征,提高了模型的表达能力和泛化性能。这种机制使得多头注意力能够关注到句子更多层面的信息,例如罕见词、多义词、反义词等。

  1. 计算复杂度与训练难度:
  • 单头注意力:计算复杂度相对较低,训练也较为简单。

  • 多头注意力:虽然增加了计算复杂度,但通常可以通过并行计算来优化。同时,它也需要更多的训练数据和计算资源来优化模型。然而,这些额外的投入通常能够带来模型性能的显著提升。

  1. 输出结果:
  • 单头注意力:直接输出一个加权表示。

  • 多头注意力:每个头都会输出一个加权表示,然后将这些表示拼接在一起,并经过一个额外的线性变换,得到最终的输出。

图片

单头注意力和多头注意力

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

多头注意力(Multi-Head Attention)和交叉注意力(Cross-Attention)两种常用注意力机制的原理及区别 在类的初始化函数中,我们需要设置注意力头数num_heads,以及每个注意力头的k维度k_dim和v维度v_dim。在前向传播函数中,我们使用全连接层将x1投影到k_dim * num_heads维度,x2投影到k_dim * num_heads和v_dim * num_heads的空间,再将结果按注意力头和k_dim/v_dim维度进行调整。注意力计算完成后,将得分与v相乘,再将结果按注意力头和v_dim维度进行调整,最终使用全连接层将结果投影会in_dim维度,即可得到多头注意力计算的结果。 阅读详情

相关推荐

python手撕代码——多头注意力机制

多头注意力机制代码手撕

zhangzhao147的博客 5848

动手学深度学习(五十)——多头注意力机制

文章目录1. 为什么用多头注意力机制2. 什么是多头注意力机制3. 多头注意力机制模型和理论计算4. 动手实现多头注意力机制层小结练习 1. 为什么用多头注意力机制 所谓自注意力机制就是通过某种运算来直接计算得到句子在编码过程中每个位置上的注意力权重;然后再以权重和的形式来计算得到整个句子的隐含向量表示。 自注意力机制的缺陷就是:模型在对当前位置的信息进行编码时,会过度的将注意力集中于自身的位置, 因此作者提出了通过多头注意力机制来解决这一问题。 2. 什么是多头注意力机制   在实践中,当给定

Liu Feng's Blog 8万+

学习Transformer:自注意力与多头自注意力的原理及实现

自从Transformer[3]模型在NLP领域问世后,基于Transformer的深度学习模型性能逐渐在NLP和CV领域(Vision Transformer)取得了令人惊叹的提升。本文的主要目的是介绍经典Transformer模型和Vision Transformer的技术细节及基本原理,以方便读者在CV领域了解和使用Vision Transformer。......

newxuyangcao 2万+

多头注意力机制

从多头注意力的结构图中,貌似这个所谓的多个头就是指多组线性变换,但是并不是,只使用了一组线性变换层,即三个变换张量对 Q、K、V 分别进行线性变换,这些变化不会改变原有张量的尺寸,因此每个变换矩阵都是方阵,得到输出结果后,多头的作用才开始显现,每一个头开始从词义层面分割输出的张量,也就是每一个头都先获得一组 Q、K、V进行注意力机制的计算,但是句子中的每个词的表示只获得一部分,也就是只分割了最后一维的词嵌入向量,这就是所谓的多头,将每个头获取的输入送到注意力机制中就形成了多头注意力机制。

qq_51691366的博客 1万+

Transformer动画讲解 - 单头注意力和多头注意力

单头注意力:通过生成查询、键和值向量,计算并归一化注意力分数,最终对值向量进行加权求和,从而得到输入序列中每个位置的加权表示。 多头注意力:通过将输入的查询、键和值矩阵分割成多个头,并在每个头中独立计算注意力,再将这些头的输出拼接并线性变换,从而实现在不同表示子空间中同时捕获和整合多种交互信息,提升模型的表达能力。

weixin_53880910的博客 1597

transformer架构解析{掩码,(自)注意力机制,多头(自)注意力机制}(含代码)-3

在之前的小节中我们学习了词嵌入层(词向量编码)以及加入了位置编码的输入层的概念和代码实现的学习。在本小节中我们将学习transformer中最重要的部分-注意力机制张量尺寸不定,里面只有(0,1)元素,代表位置被遮掩或者不遮掩,它的作用就是让另外一张张量中的一些数值被遮掩,被替换,表现形式是一个张量。在图中,我们可以看到,有一组Linear层进行线性变换,变换前后的维度不变,就当是一个方阵的张量,每个张量的值不同,那么变化后的结果也不同,特征就丰富起来了。

JamesSwifte的博客 2878

【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解

一文带你读懂注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制,超详细的讲解,小白也能看得懂!

路人贾的博客 17万+

Transformer通俗讲解(二):多头注意力机制

单头注意力HeadiAttentionXWiQXWiKXWiVHeadi​AttentionXWiQ​XWiK​XWiV​多头拼接MultiHeadXConcatHead1HeadhWOMultiHeadXConcatHead1​Headh​WO参数量每头的WiQWiKWiVWiQ​WiK​WiV​形状为dmodel×dkdmodel​×。

weixin_43699026的博客 1592

Transformer 动画讲解:单头注意力和多头注意力

暑期实习基本结束了,校招即将开启。不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。提前准备才是完全之策。最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解惑答疑,分享技术面试中的那些弯弯绕绕。Transformer的起源:Google Brain 翻译团队通过论文《Attention is all you need》提出了一种全新的简单网络架构——Transformer,它完全基于注意力机制,摒弃了循环和卷积操作。注意力机制是全部所需。

2301_78285120的博客 2262

注意力机制(attention mechanism)与 Transformer

灵长类动物的视觉系统接收了大量的感官输入,这些感官输入远远超出了大脑能够完全处理的能力。然而,并非所有刺激的影响都是同等的。意识的汇聚和专注使灵长类动物能够在复杂的视觉环境中将注意力引向感兴趣的物体,例如猎物和天敌。整个人类历史中,这种只将注意力引向感兴趣的一小部分信息的能力,使人类的大脑能够更明智地分配资源来生存、成长和社交,例如发现天敌、寻找食物和伴侣。自主性的与非自主性的注意力提示解释了人类的注意力的方式,下面来看看如何通过这两种注意力提示,用神经网络来设计注意力机制的框架和模型。

xw555666的博客 7777

transformer--编码器1(掩码张量、注意力机制、多头注意力机制)

掩代表遮掩,码就是我们张量中的数值,它的尺寸不定,里面一般只有1和0的元素,代表位置被遮掩或者不被遮掩,至于是0位置被遮掩还是1位置被遮掩可以自定义,因此它的作用就是让另外一个张量中的一些数值被遮掩,也可以说被替换,它的表现形式是一个张量.

进击的菜鸟 3573

详解注意力机制和Transformer

本文的学习路线: 📍 Attention 从生物学的角度引入到计算机视角,介绍了什么是Attention ▶️介绍Encoder-Decoder框架 (目前大部分Attention Model都是依附于该框架实现)▶️ 介绍了Attention模型中的基础概念查询、键和值 ▶️ 通过讲解Nadaraya-Watson核回归模型来了解常见的注意力汇聚模型 ▶️ 介绍了Attention Model中两个常用的注意力评分函数 ▶️ 从基础的Attention引入到Self-Attention 和Multihe

zyw2002的博客 1万+

Transformer的注意力和多头注意力结构(含Pytorch代码实现)

本文讲解了Transformer的注意力机制及其计算过程,并用PyTorch实现。

KO_TU的博客 2063

Transformer动画讲解-单头注意力和多头注意力

通过生成查询、键和值向量,计算并归一化注意力分数,最终对值向量进行加权求和,从而得到输入序列中每个位置的加权表示。生成查询、键和值:接收一个由嵌入向量组成的输入序列。使用三个不同的线性变换(或称为全连接层)将输入序列分别映射为查询(Q)、键(K)和值(V)向量。计算注意力分数:计算查询向量与所有键向量之间的点积,得到注意力分数矩阵。这些分数反映了查询与序列中每个位置的相关性。缩放注意力分数:为防止点积结果过大导致softmax进入饱和区,可以将注意力分数除以一个缩放因子(通常是键向量维度的平方根)。

2401_84208172的博客 1168

AI Agent技能评测框架SkillsBench:从黑盒评估到白盒技能拆解

在人工智能领域,模型评估是衡量技术进展的核心环节。传统评测基准如GLUE、MMLU主要关注模型的通用认知能力,但实际工程应用中,AI Agent需要的是在复杂场景中协调多种能力的“职业技能”。SkillsBench创新性地将Agent能力进行原子化拆解,定义了理解规划、工具调用、推理决策、交互安全等技能维度,并通过领域专家构建的评测集确保生态效度。这一框架为Agent开发提供了精准的“度量衡”,使性能优化从经验驱动转向数据驱动,同时为不同模型和框架提供了公平比较的基础,推动了AI Agent生态从“野蛮生长

weixin_30530339的博客 389

避坑指南:STM32CubeMX安装后,你的第一个工程为什么中文全是乱码?

本文详细解析了STM32CubeMX安装后中文乱码问题的根源及解决方案。从诊断乱码现象到分析编码冲突背景,提供了新项目UTF-8化、旧项目GBK兼容及版本降级等多种实用方案,帮助开发者彻底解决这一常见问题。

weixin_30699955的博客 474

Transformer深度解析:为什么选择多头注意力机制,而非单头?

Transformer模型采用多头注意力机制而非单头,主要解决单头注意力视角单一的问题。多头机制将查询、键、值分成多份独立计算,使模型能同时关注不同语义关系(如语法、位置等),提升表达能力和训练稳定性。虽然增加计算量,但经验表明8-32头效果最佳。多头机制相当于"集体决策",避免单头关注偏差,通过多角度捕捉信息来增强模型性能。

m0_74942241的博客 1028

R语言实战:非正态数据下的Scheirer–Ray–Hare检验全流程解析

本文详细解析了在R语言中执行Scheirer–Ray–Hare检验的全流程。当实验数据不符合正态分布时,该非参数检验是分析两因素设计(包括主效应和交互效应)的有效工具。文章从原理、环境配置、数据导入、核心代码到结果解读与报告撰写,提供了完整的实战指南,并附有常见的避坑建议。

weixin_29061465的博客 398

Transformer模型的多头注意力机制,非常通俗的讲解

Transformer模型最核心的内容就是。今天的这篇文章,我希望能帮助同学们:在没有学习过Transformer的情况下,快速的学习它的核心算法:多头自注意力机制;很多时候,如果我们想快速的学习一个特别复杂的模型,比如Transformer。最好一开始,就能对它的核心结构,有一个基本的“认知”。然后再去深入的探索这个模型的算法设计和代码实现。这样能够让我们更快的学习和理解这个复杂的深度学习模型。学习的过程,也会变得事半功倍!“多头自注意力机制”,就是Transformer的核心结构。

xiangxueerfei的博客 2764

从零开始学习信号完整性(SIPI)--2

上一节我们已经谈过,信号完整性研究的是如何使驱动器输出的信号传输到接收器件并被正确的接收。 信号完整性的三要素包含了:信号、驱动接收芯片、传输通道。 这其中信号是主体,我们要做的主要工作就是设计好信号的传输路径为信号的正确传输扫清障碍。要做信号完整性分析与设计首先要了解信号的特性,以及信号质量的判别标准。 对一个信号进行描述通常需要如下几个指标: 信号特性的描述 摆幅:信号从低电平到高电平之间的电压差,对于单端信号通常由信号的供电电压决......

qq_29476769的博客 2万+

用 DCL 编写 DEFINE ROLE:把 ABAP CDS 的访问控制做对、做实、做漂亮

摘要: 本文详细讲解如何在ABAP CDS中使用DCL(数据控制语言)实现行级授权,确保业务数据安全。核心要点包括: DCL原理:通过DEFINE ROLE将访问条件绑定到CDS实体,自动附加到查询条件(类似隐式WHERE),保障授权一致性。 关键语法: 必需注解@MappingRole: true声明映射角色。 ASPECT pfcg_auth关联PFCG权限对象,动态控制访问。 注解@AccessControl.authorizationCheck定义授权检查策略(如#CHECK启用强制控制)。 优先级

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 166

注意力机制(Attention)、自注意力机制(Self Attention)和多头注意力(Multi-head Self Attention)机制详解

简单理解:多组自注意力机制并行运行,最后把结果拼接起来。

CV在读 1万+

反应动力学仿真软件:CHEMKIN_(12).CHEMKIN与其他软件的接口

通过上述介绍,我们详细探讨了如何将 CHEMKIN 与 MATLAB、Python、COMSOL、Aspen Plus 和 Ansys Fluent 等软件工具进行接口配置和数据交互。这些接口不仅能够显著提升 CHEMKIN 在反应动力学仿真中的应用效果,还能充分利用其他软件工具的强大功能,实现更复杂的数据处理和分析。希望这些内容对您在化学反应动力学仿真中的工作有所帮助。

kkchenjj的博客 1138
上一篇: 通过语音预测自杀风险:多模态大语言模型的新进展
下一篇: Transformer动画讲解:注意力计算Q、K、V_注意力计算中的d
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值