Multi-Head Attention多头注意力

让我们进入并了解多头注意力机制。 符号变得有点复杂,但要记住的事情基本上只是你在上一个视频中学到的自我注意机制的四个大循环。 让我们看一下每次计算自我注意力的序列时,称为头部。

因此,多头注意力这个名称指的是你是否按照上一个视频中看到的方式进行操作,但有很多次让我们来看看它是如何工作的。请记住,您通过将每个输入项乘以几个矩阵 WQ WK 和 WV 得到了每个输入项的向量 Q K 和 V使用多头注意力,您将同一组query key 和 value向量作为输入。所以q,k,v值写在这里,并计算多个self attention。

  1. 所以第一个,你将 k、q、v 矩阵与权重矩阵相乘,w1q、w1k 和 w1v。所以这三个值为你提供了一组新的第一个query key 和 value向量字。你对其他每个词都做同样的事情。为直观起见,您可能会发现将w1q、w1k 和 w1v对于提问和回答问题what's happening?这个问题的学习方法是有用的。所以这或多或少是我们在上一个视频中前面介绍的自我注意示例。完成后你可能会想,我们有wq,w1q、w1k 和 w1v,我学习希望你问和回答这个问题:what's happening?

  2. 因此,通过这种计算,单词 [FOREIGN] 给出了正在发生的事情的最佳答案,这就是为什么我在这里用蓝色箭头突出显示以表示 [FOREIGN] 键之间的内积具有最高值[FOREIGN] 的q,这是我们要问的第一个问题。所以这就是你如何得到 [FOREIGN] 的表示,你对 Jane、[FOREIGN] 和其他词 [FOREIGN] [FOREIGN] 做同样的事情。所以你最终*用五个向量来表示序列中的五个单词。

所以这是你在多头注意力中使用的几个头中的第一个执行的计算。

因此,您将逐步执行我们刚才对 [FOREIGN] 和其他单词进行的完全相同的计算,并最终得到相同的注意力值,即我们在上一个视频中使用的从 1 到 5。但现在我们将不止一次这样做,而是几次。所以我们现在可能有八个头,而不是一个头,这意味着整个计算可能执行八次。

  1. 到目前为止,我们已经用这些矩阵中的第一个头部表示的第一个头部计算了这个注意力量。注意力方程就是这个,你之前在上一个视频中也看到过。
  2. 现在,让我们用第二个头来做这个计算。第二个头将有一组新的矩阵。我将编写 WQ2、WK2 和 WV2,以允许此机制提出和回答第二个问题。所以第一个问题是发生了什么?也许第二个问题是什么时候发生的事情?因此,在一般情况下,这里不是 W1,而是 Wi,我现在将第一个头后面的第二个头放在红色显示的第二个头上。所以你重复一个与第一个完全相同的计算,但用这组新矩阵代替。在这种情况下,您最终可能会得到 september 键和 [FOREIGN] 查询之间的内积将具有最高的内积。因此,我将突出显示这个红色箭头,以表明 9 月的值将在 [FOREIGN] 表示的第二部分中发挥重要作用。
  3. 或许我们现在要问的第三个问题,以WQ3、WK3和WV3为代表,是谁,谁与非洲有关系?在这种情况下,当您第三次执行此计算时,可能 Jane 的键向量和 [FOREIGN] 查询向量之间的内积将是最高的,并且在此处自我突出显示此黑色箭头。这样 Jane 的值在我现在放在后面的这个表示中将具有最大的权重。在文献中,正面的数量通常用小写字母H表示。因此H等于正面的数量。

您可以将这些head中的每一个视为不同的特征。 当你将这些特征传递给一个新的网络时,你可以计算出非常丰富的句子表示。 计算三个head或八个head或任何数字的这些计算,这三个值或 A 值的串联用于计算多头注意力的输出。 所以最终值是所有这些 h 头的串联

然后最后乘以矩阵 W。 现在还有一个值得记住的细节是,在多头注意力的描述中,我描述了为不同的头计算这些不同的值,就好像你会在一个四大循环中做它们一样。从概念上讲,这样想是可以的。但在实践中,您实际上可以并行计算这些不同头的值,因为没有一个值取决于任何其他头的值。因此,就其实现方式而言,您实际上可以并行而不是顺序计算所有头。然后将它们连接起来乘以 W 零。还有你的多头注意力。现在,幻灯片上有很多事情要做。感谢您一直陪伴我直到本视频结束。在下一个视频中,我将使用简化的图标。我们将在这里使用这个小图来表示这个多头计算。所以它需要输入矩阵 Q、K 和 V。所以这些值在此处并在此处输出此值。所以在下一个视频中,当我们将其放入完整的 Transformer 网络时,我将使用这张小图片来表示幻灯片上表示的所有这些计算。那么,恭喜。在上一个视频中,您了解了自我注意。通过多次这样做,您现在了解了多头注意力机制,它可以让您对每个单词提出多个问题,并为每个单词学习更丰富、更好的表示。现在让我们把所有这些放在一起来构建变压器网络。让我们转到下一个视频来看看。

第五课第四周笔记3:Multi-Head Attention多头注意力的更多相关文章

  1. 第五课第四周笔记1:Transformer Network Intuition 变压器网络直觉

    目录 Transformer Network Intuition 变压器网络直觉 Transformer Network Intuition 变压器网络直觉 深度学习中最令人兴奋的发展之一是 Tran ...

  2. 第五课第四周笔记4:Transformer Network变压器网络

    Transformer Network变压器网络 你已经了解了 self attention,你已经了解了 multi headed attention.在这个视频中,让我们把它们放在一起来构建一个变 ...

  3. 第五课第四周笔记2:Self-Attention 自注意力

    Self-Attention 自注意力 让我们跳进去谈谈transformer的self-attention机制.如果您能了解本视频背后的主要思想,您就会了解变压器网络工作背后最重要的核心思想. 让我 ...

  4. 第五课第四周实验一:Embedding_plus_Positional_encoding 嵌入向量加入位置编码

    目录 变压器预处理 包 1 - 位置编码 1.1 - 位置编码可视化 1.2 - 比较位置编码 1.2.1 - 相关性 1.2.2 - 欧几里得距离 2 - 语义嵌入 2.1 - 加载预训练嵌入 2. ...

  5. Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍

    原文:Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本 ...

  6. 红帽学习笔记[RHCSA] 第五课[用户、权限相关]

    第五课 用户权限 查看文件的权限 [kane@localhost /]$ ll total 36 ----------. 1 root root 1751 Aug 22 20:58 ~ lrwxrwx ...

  7. 斯坦福 CS183 & YC 创业课系列中文笔记

    欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 目录 Zero to One 从0到1 ...

  8. NeHe OpenGL教程 第四十五课:顶点缓存

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. kali linux 渗透测试视频教程 第五课 社会工程学工具集

    第五课 社会工程学工具集 文/玄魂 教程地址:http://edu.51cto.com/course/course_id-1887.html   目录 第五课社会工程学工具集 SET SET的社会工程 ...

随机推荐

  1. 剑指 Offer 14- II. 剪绳子 II

    剑指 Offer 14- II. 剪绳子 II 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]... ...

  2. vue-cli坑比系列

    Error loading saved preferences: ~/.vuerc may be corrupted or have syntax errors. Please fix/delete ...

  3. jvm学习笔记:虚拟机栈

    虚拟机栈 Each Java Virtual Machine thread has a private Java Virtual Machine stack, created at the same ...

  4. ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

    ​前言:这篇论文旨在以极低的计算成本解决性能大幅下降的问题.提出了微分解卷积,将卷积矩阵分解为低秩矩阵,将稀疏连接整合到卷积中.提出了一个新的动态激活函数-- Dynamic Shift Max,通过 ...

  5. Servlet3.0注解配置访问路径和urlParttern配置

    一.Servlet用注解配置访问路径 二.IDEA的tomcat相关配置 其中,第一点的配置文件,直接在IDEA的可视化操作界面修改就可以改掉配置文件中内容: 三.urlParttern配置 其中,* ...

  6. JAVA修饰符优先级先后顺序规范

    在实际的开发中,会遇到定义静态常量时,有的人使用的修饰符顺序不一致,例如 ... static final ... 或者 ... final static ... 于是找到了下规范,分享下 优先级 修 ...

  7. 论文解读(DGI)《DEEP GRAPH INFOMAX》

    论文标题:DEEP GRAPH INFOMAX 论文方向:图像领域 论文来源:2019 ICLR 论文链接:https://arxiv.org/abs/1809.10341 论文代码:https:// ...

  8. 使用IntelliJ工具打包kotlin为bat文件运行报错 Exception in thread "main" java.lang.NoClassDefFoundError

    Exception in thread "main" java.lang.NoClassDefFoundError 这个很有可能是因为idea里的java版本与电脑上的java环境 ...

  9. sonar扫描java项目报错

    安装maven 配置path 验证maven,看到以下信息证明已经成功 扫描项目 扫描以下项目: kf-buss-nhgip-smartoffice-business-thirdparty 项目的配置 ...

  10. 启动jemeter 报错相关解决方案

    1:当启动jemeter时报错"页面文件太小,无法完成操作" 如图: 是说明分配的内容不足,即可调整内存重启即可解决 1):打开:控制面板>系统和安全>系统 2):点击 ...