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

打印 上一主题 下一主题

主题 911|帖子 911|积分 2733

暑期实习基本结束了,校招即将开启。
不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。提前准备才是完全之策。
最近,我们又连续整理了很多大厂的面试题,帮助一些球友解惑答疑,分享技术面试中的那些弯弯绕绕。
总结链接如下:


  • 《大模型面试宝典》(2024版) 正式发布!

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

留意力机制是全部所需
正如论文标题所言“留意力机制是全部所需”,夸大了留意力机制是Transformer架构的焦点要素,就如同人的心脏一样,充当着发动机的作用。
那么单头留意力和多头留意力到底是什么?它们两者有哪些联系和区别?让我们一起跟着动画来解读吧。

单头留意力

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

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

  • 天生查询、键和值:接收一个由嵌入向量组成的输入序列。使用三个不同的线性变换(或称为全连接层)将输入序列分别映射为查询(Q)、键(K)和值(V)向量。
  • 计算留意力分数:计算查询向量与所有键向量之间的点积,得到留意力分数矩阵。这些分数反映了查询与序列中每个位置的相干性。
  • 缩放留意力分数:为防止点积结果过大导致softmax进入饱和区,可以将留意力分数除以一个缩放因子(通常是键向量维度的平方根)。
  • 归一化留意力分数:应用softmax函数对留意力分数矩阵进行归一化,得到留意力权重矩阵。归一化后的权重矩阵每行之和为1,表示序列中每个位置的留意力权重。
  • 加权求和:使用归一化后的留意力权重对值向量进行加权求和。加权求和的结果是自留意力机制的输出,它包含了根据留意力权重对输入序列中所有位置信息的加权整合。

单头留意力工作流程
多头留意力:

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

  • 初始化参数:起首,初始化查询(Q)、键(K)、值(V)矩阵的权重以及多头留意力中的头数(h)。这些权重将用于后续的线性变换。
  • 线性变换:对输入的查询、键和值矩阵进行线性变换,天生各自的变换矩阵。这些变换是通过将输入矩阵与相应的权重矩阵相乘来实现的。
  • 分割:将线性变换后的查询、键和值矩阵沿着深度(通常是末了一个维度)分割成多个头(h个)。每个头都会得到自己独立的查询、键和值矩阵。
  • 多头并行计算:在每个头中独立地执行留意力得分来计算加权求和。
  • 拼接:将所有头的输出矩阵沿着深度维度拼接在一起,形成一个大的输出矩阵。
  • 终极线性变换:对拼接后的输出矩阵进行线性变换,得到多头留意力的终极输出。这个线性变换通常包罗一个可学习的权重矩阵和一个偏置项。
  • 残差连接与层归一化:多头留意力模块通常会与残差连接和层归一化一起使用,以进步模型的训练稳固性和性能。

多头留意力工作流程
两者的联系和区别

两者在基本原理和目的上是相似的,但在留意力头的数量、信息捕捉与表达本事、计算复杂度与训练难度以及输出结果等方面存在显著的差异。
这些差异使得多头留意力在处理复杂任务时通常具有更好的性能。
两者的联系


  • 基本原理:两者都基于留意力机制,通过计算查询(Query)、键(Key)和值(Value)之间的相似度来确定输入的加权表示。
  • 目的:都是为了让模型可以或许关注到输入序列中重要的信息,从而进步模型的性能。
两者的区别


  • 留意力头的数量:


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

  • 信息捕捉与表达本事:


  • 单头留意力:只能关注一个方面,信息捕捉本事有限。
  • 多头留意力:通过多个头的并行处理,可以或许捕捉到更多样化的特征,进步了模型的表达本事和泛化性能。这种机制使得多头留意力可以或许关注到句子更多层面的信息,例如稀有词、多义词、反义词等。

  • 计算复杂度与训练难度:


  • 单头留意力:计算复杂度相对较低,训练也较为简单。
  • 多头留意力:虽然增长了计算复杂度,但通常可以通过并行计算来优化。同时,它也需要更多的训练数据和计算资源来优化模型。然而,这些额外的投入通常可以或许带来模型性能的显著提拔。

  • 输出结果:


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

单头留意力和多头留意力

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表