0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

21个Transformer面试题的简单回答

深度学习自然语言处理 来源:深度学习自然语言处理 作者:研究员易显维 2021-04-15 14:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

答:多头可以使参数矩阵形成多个子空间,矩阵整体的size不变,只是改变了每个head对应的维度大小,这样做使矩阵对多方面信息进行学习,但是计算量和单个head差不多。

2.Transformer为什么Q和K使用不同的权重矩阵生成,为何不能使用同一个值进行自身的点乘?

答:请求和键值初始为不同的权重是为了解决可能输入句长与输出句长不一致的问题。并且假如QK维度一致,如果不用Q,直接拿K和K点乘的话,你会发现attention score 矩阵是一个对称矩阵。因为是同样一个矩阵,都投影到了同样一个空间,所以泛化能力很差。

3.Transformer计算attention的时候为何选择点乘而不是加法?两者计算复杂度和效果上有什么区别?

答:K和Q的点乘是为了得到一个attention score 矩阵,用来对V进行提纯。K和Q使用了不同的W_k, W_Q来计算,可以理解为是在不同空间上的投影。正因为 有了这种不同空间的投影,增加了表达能力,这样计算得到的attention score矩阵的泛化能力更高。

4.为什么在进行softmax之前需要对attention进行scaled(为什么除以dk的平方根),并使用公式推导进行讲解

答:假设 Q 和 K 的均值为0,方差为1。它们的矩阵乘积将有均值为0,方差为dk,因此使用dk的平方根被用于缩放,因为,Q 和 K 的矩阵乘积的均值本应该为 0,方差本应该为1,这样可以获得更平缓的softmax。当维度很大时,点积结果会很大,会导致softmax的梯度很小。为了减轻这个影响,对点积进行缩放。

643dedc2-9cd8-11eb-8b86-12bb97331649.png

5.在计算attention score的时候如何对padding做mask操作?

答:对需要mask的位置设为负无穷,再对attention score进行相加

6.为什么在进行多头注意力的时候需要对每个head进行降维?

答:将原有的高维空间转化为多个低维空间并再最后进行拼接,形成同样维度的输出,借此丰富特性信息,降低了计算量

7.大概讲一下Transformer的Encoder模块?

答:输入嵌入-加上位置编码-多个编码器层(每个编码器层包含全连接层,多头注意力层和点式前馈网络层(包含激活函数层))

8.为何在获取输入词向量之后需要对矩阵乘以embedding size的开方?

embedding matrix的初始化方式是xavier init,这种方式的方差是1/embedding size,因此乘以embedding size的开方使得embedding matrix的方差是1,在这个scale下可能更有利于embedding matrix的收敛。

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

答:因为self-attention是位置无关的,无论句子的顺序是什么样的,通过self-attention计算的token的hidden embedding都是一样的,这显然不符合人类的思维。因此要有一个办法能够在模型中表达出一个token的位置信息,transformer使用了固定的positional encoding来表示token在句子中的绝对位置信息。

10.你还了解哪些关于位置编码的技术,各自的优缺点是什么?

答:相对位置编码(RPE)1.在计算attention score和weighted value时各加入一个可训练的表示相对位置的参数。2.在生成多头注意力时,把对key来说将绝对位置转换为相对query的位置3.复数域函数,已知一个词在某个位置的词向量表示,可以计算出它在任何位置的词向量表示。前两个方法是词向量+位置编码,属于亡羊补牢,复数域是生成词向量的时候即生成对应的位置信息。

11.简单讲一下Transformer中的残差结构以及意义。

答:encoder和decoder的self-attention层和ffn层都有残差连接。反向传播的时候不会造成梯度消失。

12.为什么transformer块使用LayerNorm而不是BatchNorm?LayerNorm 在Transformer的位置是哪里?

答:多头注意力层和激活函数层之间。CV使用BN是认为channel维度的信息对cv方面有重要意义,如果对channel维度也归一化会造成不同通道信息一定的损失。而同理nlp领域认为句子长度不一致,并且各个batch的信息没什么关系,因此只考虑句子内信息的归一化,也就是LN。

13.简答讲一下BatchNorm技术,以及它的优缺点。

答:批归一化是对每一批的数据在进入激活函数前进行归一化,可以提高收敛速度,防止过拟合,防止梯度消失,增加网络对数据的敏感度。

14.简单描述一下Transformer中的前馈神经网络?使用了什么激活函数?相关优缺点?

答:输入嵌入-加上位置编码-多个编码器层(每个编码器层包含全连接层,多头注意力层和点式前馈网络层(包含激活函数层))-多个解码器层(每个编码器层包含全连接层,多头注意力层和点式前馈网络层)-全连接层,使用了relu激活函数

15.Encoder端和Decoder端是如何进行交互的?

答:通过转置encoder_ouput的seq_len维与depth维,进行矩阵两次乘法,即q*kT*v输出即可得到target_len维度的输出

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

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

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

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

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

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

19.简单描述一下wordpiece model 和 byte pair encoding,有实际应用过吗?

答“传统词表示方法无法很好的处理未知或罕见的词汇(OOV问题)

传统词tokenization方法不利于模型学习词缀之间的关系”BPE(字节对编码)或二元编码是一种简单的数据压缩形式,其中最常见的一对连续字节数据被替换为该数据中不存在的字节。后期使用时需要一个替换表来重建原始数据。优点:可以有效地平衡词汇表大小和步数(编码句子所需的token次数)。

缺点:基于贪婪和确定的符号替换,不能提供带概率的多个分片结果。

20.Transformer训练的时候学习率是如何设定的?Dropout是如何设定的,位置在哪里?Dropout 在测试的需要有什么需要注意的吗?

LN是为了解决梯度消失的问题,dropout是为了解决过拟合的问题。在embedding后面加LN有利于embedding matrix的收敛。

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

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

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    4011

    浏览量

    143361
  • 矩阵
    +关注

    关注

    1

    文章

    450

    浏览量

    36263
  • Transformer
    +关注

    关注

    0

    文章

    156

    浏览量

    6961

原文标题:21个Transformer面试题的简单回答

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI面试的真与假,不在报告是否漂亮,而在评分是否可追溯

    在招聘场景中,AI面试真正需要回答的,并不是“能不能生成一份看起来足够智能的报告”,而是两更基础、也更严肃的问题: 第一,评分究竟是否真正由算法独立完成; 第二,这一评分是否具备足够的信度与效度
    的头像 发表于 03-16 16:28 147次阅读
    AI<b class='flag-5'>面试</b>的真与假,不在报告是否漂亮,而在评分是否可追溯

    TCP三次握手与四次挥手的详细过程

    TCP 三次握手和四次挥手,大概是网络领域被问烂了的面试题。但真正能把状态变迁、序列号变化、抓包细节讲清楚的人并不多。很多人背了八股文,一到生产环境看 Wireshark 抓包就懵了
    的头像 发表于 02-25 10:38 434次阅读

    Transformer 入门:从零理解 AI 大模型的核心原理

    第一部分:数学基础铺垫 在开始之前,让我们先了解一些基础概念。不用担心,我会用最简单的方式来解释。 向量、矩阵、张量 什么是向量(Vector)? 向量就是一排数字的集合。 想象你要描述一人的特征
    发表于 02-10 16:33

    面试必看!排队自旋锁32位变量的域划分与核心作用

    在操作系统面试中,并发同步机制一直是高频考点,而排队自旋锁作为解决传统自旋锁“饥饿” 问题的关键技术,其 32 位变量的域划分更是面试官青睐的 “细节题”。不少同学能说出排队自旋锁的基本概念,却对其
    的头像 发表于 02-09 16:54 920次阅读
    <b class='flag-5'>面试</b>必看!排队自旋锁32位变量的域划分与核心作用

    Transformer如何让自动驾驶大模型获得思考能力?

    在谈及自动驾驶时,Transformer一直是非常关键的技术,为何Transformer在自动驾驶行业一直被提及?
    的头像 发表于 02-01 09:15 4390次阅读

    Transformer如何让自动驾驶变得更聪明?

    ]自动驾驶中常提的Transformer本质上是一种神经网络结构,最早在自然语言处理里火起来。与卷积神经网络(CNN)或循环神经网络(RNN)不同,Transformer能够自动审视所有输入信息,并动态判断哪些部分更为关键,同时可以将这些重要信息有效地关联起来。
    的头像 发表于 11-19 18:17 2463次阅读

    人工智能工程师高频面试题汇总:循环神经网络篇(题目+答案)

    后台私信雯雯老师,备注:循环神经网络,领取更多相关面试题随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以
    的头像 发表于 10-17 16:36 860次阅读
    人工智能工程师高频<b class='flag-5'>面试题</b>汇总:循环神经网络篇(题目+答案)

    用30道电子工程师面试题来拷问堕落的你...

    今天用30道电子工程师面试题来拷问堕落的你,你能扛住第几题?1、下面是一些基本的数字电路知识问题,请简要回答之。(1)什么是Setup和Hold时间?答:Setup/HoldTime用于测试芯片
    的头像 发表于 10-15 17:37 1371次阅读
    用30道电子工程师<b class='flag-5'>面试题</b>来拷问堕落的你...

    每周推荐!硬件设计指南+无刷电机原理图大全+工程师面试题库汇总

    、硬件工程师或研发类笔试面试题库汇总 一、模拟电路(基本概念和知识总揽) 1、基本放大电路种类 (电压放大器,电流放大器,互导放大器和互阻放大器),优缺点,特别是广泛采用差分结构的原因。 2、负反馈种类
    发表于 07-07 14:38

    硬件工程师或研发类笔试面试题库汇总

    一、模拟电路(基本概念和知识总揽)1、基本放大电路种类(电压放大器,电流放大器,互导放大器和互阻放大器),优缺点,特别是广泛采用差分结构的原因。2、负反馈种类(电压并联反馈,电流串联反馈,电压串联反馈和电流并联反馈);负反 馈的优点(降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非 线性失真,有效地扩展放大器的通频带,自动调节作用)3、基尔霍夫定理的内容是什么?基尔霍夫定律包括电流定律和电压定律。电流定律:在集总电路中,任何时刻,对任一节点,所有流出节点的支路电流代数和恒等于零。电压定律:在集总电路中,任何时刻,沿任一回路,所有支路电压的代数和恒等于零。4、描述反馈电路的概念,列举他们的应用?反馈,就是在电子系统中,把输出回路中的电量输入到输入回路中去。反馈的类型有:电压串联负反馈、电流串联负反馈、电压并联负反馈、电流并联负反馈。负反馈的优点:降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用。电压(流)负反馈的特点:电路的输出电压(流)趋向于维持恒定。5、有源滤波器和无源滤波器的区别?无源滤波器:这种电路主要有无源元件R、L和C组成有源滤波器:集成运放和R、C组成,具有不用电感、体积小、重量轻等优点。集成运放的开环电压增益和输入阻抗均很高,输出电阻小,构成有源滤波电路后还具有一定的电压放大和缓冲作用。但集成运放带宽有限,所以目前的有源滤波电路的工作频率难以做得很高。6、基本放大电路的种类及优缺点,广泛采用差分结构的原因。答:基本放大电路按其接法的不同可以分为共发射极放大电路、共基极放大电路和共集电极放大电路,简称共基、共射、共集放大电路。共射放大电路既能放大电流又能放大电压,输入电阻在三种电路中居中,输出电阻较大,频带较窄。常做为低频电压放大电路的单元电路。共基放大电路只能放大电压不能放大电流,输入电阻小,电压放大倍数和输出电阻与共射放大电路相当,频率特性是三种接法中最好的电路。常用于宽频带放大电路。共集放大电路只能放大电流不能放大电压,是三种接法中输入电阻最大、输出电阻最小的电路,并具有电压跟随的特点。常用于电压放大电路的输入级和输出级,在功率放大电路中也常采用射极输出的形式。广泛采用差分结构的原因是差分结构可以抑制温度漂移现象。• 7、二极管主要用于限幅,整流,钳位.• 判断二极管是否正向导通:1.先假设二极管截止,求其阳极和阴极电位;2.若阳极阴极电位差> UD ,则其正向导通;3.若电路有多个二极管,阳极和阴极电位差最大的二极管优先导通;其导通后,其阳极阴极电位差被钳制在正向导通电压(0.7V 或0.3V );再判断其它二极管. 获取完整文档资料可下载附件哦!!!! 如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 07-01 14:21

    最全的硬件工程师笔试试题

    硬件面试题之一 1、下面是一些基本的数字电路知识问题,请简要回答之。 (1) 什么是 Setup 和 Hold 时间? 答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间
    发表于 06-26 15:34

    Transformer架构中编码器的工作流程

    编码器是Transformer体系结构的基本组件。编码器的主要功能是将输入标记转换为上下文表示。与早期独立处理token的模型不同,Transformer编码器根据整个序列捕获每个token的上下文。
    的头像 发表于 06-10 14:27 1213次阅读
    <b class='flag-5'>Transformer</b>架构中编码器的工作流程

    Transformer架构概述

    由于Transformer模型的出现和快速发展,深度学习领域正在经历一场翻天覆地的变化。这些突破性的架构不仅重新定义了自然语言处理(NLP)的标准,而且拓宽了视野,彻底改变了AI的许多方面。
    的头像 发表于 06-10 14:24 1446次阅读
    <b class='flag-5'>Transformer</b>架构概述

    【硬件方向】名企面试笔试真题:大疆创新校园招聘笔试题

    名企面试笔试真题:大疆创新校园招聘笔试题-硬件 是几年前的题目,不过值得参考一下哦 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 05-16 17:31

    硬件工程师面试/笔试经典 100 题

    分享一些常见的硬件工程师面试/笔试题。公众号后台回复关键字:100题,可获取完整的PDF。--END--免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系,谢谢!加入粉丝
    的头像 发表于 04-30 19:34 1665次阅读
    硬件工程师<b class='flag-5'>面试</b>/笔试经典 100 题