Transformer算法7个面试常见问题

1.Transformer为何使用多头注意力机制?(为什么不使用一个头)

英文论文中是这么说的:
Multi-head attention allows the model to jointly attend to information from different representation subspaces at different positions.
翻译:

多头注意使模型能够共同关注来自不同位置的不同表征子空间的信息。
直观上讲,多头的注意力有助于网络捕捉到更丰富的特征/信息。可以类比CNN中同时使用多个滤波器的作用。

举例:

       当你浏览网页的时候,你可能在颜色方面更加关注深色的文字,而在字体方面会去注意大的、粗体的文字。这里的颜色和字体就是两个不同的表示子空间。同时关注颜色和字体,可以有效定位到网页中强调的内容。使用多头注意力,也就是综合利用各方面的信息/特征。

2.对缩放因子的解释:

  • 1.为什么要除以一个缩放因子?
    (1)论文解释为:

    我们怀疑,对于很大的dk值,点积大幅度增长,将softmax函数推向具有极小梯度的区域。为了抵消这种影响,我们缩小点积。
    

(2)我们理解为:
因为softmax的本质是一个e为底的指数,会随着指数的变大变化率很明显,例如当点积为100,200,500,那么e的500次方会占绝对权重,从而影响结果不准确。

  • 2.那么要除以一个多大的缩放因子呢?

(1)论文脚注解释为:

为了说明点积变大的原因,假设q和k的分量是独立随机的均值为0和方差为1的变量。然后他们的点积                           均值为0,方差为dk

(2)我们理解为:
假设q和k的分量是独立随机的均值为0和方差为1的变量,也就是说qi和ki是均值为0和方差为1,那么qiki也是均值为0,方差为1。所以qk的均值为0,方差为dk。

WechatIMG27.png

3.Decoder阶段的多头自注意力和encoder的多头自注意力有什么区别?

答:Decoder有两层mha,encoder有一层mha,Decoder的第二层mha是为了转化输入与输出句长,Decoder的请求q与键k和数值v的倒数第二个维度可以不一样,但是encoder的qkv维度一样。

4.Transformer的并行化提现在哪个地方?

答:Transformer的并行化主要体现在self-attention模块,在Encoder端Transformer可以并行处理整个序列,并得到整个输入序列经过Encoder端的输出,但是rnn只能从前到后的执行

5.Decoder端可以做并行化吗?

训练的时候可以,但是交互的时候不可以

6.bert的mask为何不学习transformer在attention处进行屏蔽score的技巧?

答:BERT和transformer的目标不一致,bert是语言的预训练模型,需要充分考虑上下文的关系,而transformer主要考虑句子中第i个元素与前i-1个元素的关系。

7、简单介绍一下Transformer的位置编码?有什么意义和优缺点?

     Transformer 模型的核心是自注意力机制,它允许模型在处理序列数据时考虑序列中所有位置的信息。然而,传统的循环神经网络(RNN)和长短期记忆网络(LSTM)等模型能够自然地处理序列数据的时间信息,因为它们在处理序列时会逐个元素地传递状态。Transformer 模型则需要一种机制来模拟这种时间信息,这就是位置编码(Positional Encoding)的作用。
位置编码的意义:
1.时间信息的引入:位置编码为模型提供了序列中每个元素的位置信息,使得模型能够区分序列中的不同位置。
2.保持序列顺序:在自注意力机制中,位置编码帮助模型保持输入序列的顺序性,这对于理解语言结构至关重要,
位置编码的方法:
在原始的 Transformer 论文中,位置编码是通过以下方式添加到词嵌入(Word Embedding)中的:

其中,pos是词在序列中的位置,i是维度索引,dmodel 是模型的维度大小。这种方式生成的位置编码是固定的,并且随着位置的增加,编码的周期性变化。

优缺点:
优点:
灵活性:位置编码允许模型在处理不同长度的序列时保持灵活性
并行化:由于位置编码是预先定义的,它可以与词嵌入一起并行处理,这提高了模型的计算效率。
缺点:
固定模式:位置编码是预先定义的,可能不会很好地适应所有类型的序列数据。可解释性:位置编码的周期性模式可能不如 RNN 中的递归状态直观,这可能会影响模型的可解释性。
随着研究的发展,出现了一些改进的位置编码方法,例如相对位置编码(RelativePositionaEncoding),它通过考虑词与词之间的相对位置关系来增强模型对序列的理解能力。这些方法在某些任务中显示出比传统位置编码更好的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/885369.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1.1.5 计算机网络的性能指标(上)

信道: 表示向某一方向传送信息的通道(信道!通信线路)一条通信线路在逻辑上往往对应一条发送信道和一条接收信道。 速率: 指连接到网络上的节点在信道上传输数据的速率。也称数据率或比特率、数据传输速率。 速率单…

(二)大模型调用

一、基本概念 1.1、Prompt 大模型的所有输入,即,我们每一次访问大模型的输入为一个 Prompt, 而大模型给我们的返回结果则被称为 Completion。 1.2、Temperature LLM 生成是具有随机性的,在模型的顶层通过选取不同预测概率的预测结…

职称评审难在哪?

没有项目业绩资料? 社保不符合? 看不懂评审文件? 申报材料不会做? 论文没地发表? 有这些疑问的 评论区滴滴

[Python学习日记-33] Python 中的嵌套函数、匿名函数和高阶函数

[Python学习日记-33] Python 中的嵌套函数、匿名函数和高阶函数 简介 嵌套函数 匿名函数 高阶函数 简介 在 Python 当中函数除了能减少重复代码、扩展性强和易维护外,其实还有挺多不通的玩法的,例如嵌套函数、匿名函数、高阶函数等,它们是…

毕业论文设计javaweb+VUE高校教师信息管理系统

目录 一、系统概述 二、功能详解 1. 教师管理 2. 部门管理 3. 奖惩管理 4. 业绩管理 5. 培训管理 6. 报表查询 三、总结 四、示例代码 1 前端VUE 2 后端SpringBootjava 3 数据库表 随着教育信息化的发展,传统的手工管理方式已经不能满足现代学校对教师…

算法葫芦书(笔试面试)

一、特征工程 1.特征归一化:所有特征统一到一个区间内 线性函数归一化(0到1区间)、零均值归一化(均值0,标准差1) 2.类比型特征->数值性特征 序号编码、独热编码、二进制编码(010&#xf…

Squaretest单元测试辅助工具使用

1、idea安装插件 Squaretest 然后关掉idea 2、安装字节码软件(jclasslib) 3、找到idea里面的Squaretest安装目录 找到包含TestStarter的jar包 4、打开 com.squaretest.c.f 打开后选择常量池 5、找到第16个修改 Long value值,修改的数字即为使…

C语言系列4——指针与数组(1)

我们开始C语言的指针与数组 这部分开始进阶了,得反复学习 在开始正题之前,写说一下我们都知道当写一个函数的时候需要进行传参,当实参传递给形参的时候,形参是有独立空间的,那么数组传参又是怎么样的呢,我…

基于Spring Boot+Vue的减肥健康管理系统设计和实现【原创】(BMI算法,协同过滤算法、图形化分析)

🎈系统亮点:图形化分析、BMI算法,协同过滤算法; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk17 前端&#xff1a…

TI DSP TMS320F280025 Note17:CMPSS原理与使用

TMS320F280025 模数转换器(ADC) ` 文章目录 TMS320F280025 模数转换器(ADC)CMPSS框图比较器参考斜坡发生器滤波器比较器应用CMPSSDriver.cCMPSSDriver.hEPWM与CMPSS配合使用信号流程EPWMDriver.cEPWMDriver.hCMPSS框图 所谓比较器,正端输入大于负端输入时,输出高;正端输入小…

启动 Ntopng 服务前需先启动 redis 服务及 Ntopng 常用参数介绍

启动Ntopng服务之前需要先启动redis服务,因为Ntopng服务依赖于redis服务的键值存储。 服务重启 服务启动 Ntopng常用参数: -d 将 Ntopng 进程放入后台执行。默认情况下,Ntop 在前台运行。 -u 指定启动Ntopng执行的用户,默认为…

基于Hadoop的NBA球员大数据分析及可视化系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

Mysql 删除表的所有数据

在 MySQL 中,如果你想要删除一个表中的所有数据,可以使用 TRUNCATE TABLE 命令或者 DELETE 语句。下面是两种方法的对比以及如何使用它们: 使用 TRUNCATE TABLE TRUNCATE TABLE 是一个非常快速的方法来删除表中的所有记录,并且它…

MFU简介

1、缩写 MFU - Mask Field Utilization(光刻掩膜版有效利用比例) GDPW - Gross Die Per Wafer,每张wafer上die的数量 2、什么是MASK 在光刻机中,光源(紫外光、极紫外光)透过mask曝光在晶圆上形成图…

汽车总线之---- LIN总线

Introduction LIN总线的简介,对于传统的这种点对点的连接方式,我们可以看到ECU相关的传感器和执行器是直接连接到ECU的,当传感器和执行器的数量较少时,这样的连接方式是能满足要求的,但是随着汽车电控功能数量的不断增…

Ubuntu开机进入紧急模式处理

文章目录 Ubuntu开机进入紧急模式处理一、问题描述二、解决办法参考 Ubuntu开机进入紧急模式处理 一、问题描述 Ubuntu开机不能够正常启动,自动进入紧急模式(You are in emergency mode)。具体如下所示: 二、解决办法 按CtrlD进…

Ks渲染做汽车动画吗?汽车本地渲染与云渲染成本分析

Keyshot是一款强大的实时光线追踪和全域光渲染软件,它确实可以用于制作汽车动画,包括汽车模型的渲染和动画展示。Keyshot的动画功能允许用户创建相机移动、物体变化等动态效果,非常适合用于汽车动画的制作。 至于汽车动画的渲染成本&#xff…

golang小项目1-家庭收支记账系统

项目地址:golang小项目 参考资料:尚硅谷golang教程P229 家庭收支记账系统 1. 系统简介 1.1 项目背景 在现代社会中,家庭的财务管理显得尤为重要。随着生活成本的不断上升,家庭需要有效地记录和分析收支情况,以确保…

【C++打怪之路Lv4】-- 类和对象(中)

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…

权威人工智能行业认证证书——计算机视觉工程师(中级)

随着人工智能技术的快速发展,越来越多的人开始关注并学习人工智能。然而,由于人工智能领域知识的复杂性和多样性,许多人往往会感到困惑,不知道该从何入手。这时,一份权威的人工智能行业证书可以帮助学习者更好地了解人…