Transformer 相关问题

 1、Transformer为何使用多头注意力机制?(为什么不使用一个头)
     为什么Transformer 需要进行 Multi-head Attention? - 知乎
     注解:简单回答就是,多头保证了transformer可以关注到不同子空间的信息,捕捉到更加丰富的特征信息。  

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

    transformer中为什么使用不同的K 和 Q, 为什么不能使用同一个值? - 知乎

   注解:简单回答就是,两个向量的点乘表示两个向量的相似度, 如果在同一个向量空间里进行点乘,理所应当的是自身和自身的相似度最大,那会影响其他向量对自己的作用,使用Q/K/V不相同可以保证在不同空间进行投影,增强了表达能力,提高了泛化能力。

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

 八股,让softmax输入的数据分布变好,数值进入梯度敏感区间,能防止梯度消失,让模型好训练

为什么在进行softmax之前需要对attention进行scaled(为什么除以 d_k的平方根)_ytusdc的博客-CSDN博客

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

这里是因为padding 都是0,e0=1, 但是softmax的函数,也会导致为padding的值占全局一定概率,mask就是让这部分值取无穷小,让他再softmax之后基本也为0,不去影响非attention socore的分布

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

对于任何一门语言,单词在句子中的位置以及排列顺序是非常重要的,它们不仅是一个句子的语法结构的组成部分,更是表达语义的重要概念。一个单词在句子的位置或排列顺序不同,可能整个句子的意思就发生了偏差

当抛弃循环神经网络结构,完全采用Attention取而代之,这些词序信息就会丢失,模型就没有办法知道每个词在句子中的相对和绝对的位置信息。因此,有必要把词序信号加到词向量上帮助模型学习这些信息,位置编码(Positional Encoding)就是用来解决这种问题的方法。

6、你还了解哪些关于位置编码的技术,各自的优缺点是什么?
7、简单讲一下Transformer中的残差结构以及意义。
8、为什么transformer块使用LayerNorm而不是BatchNorm?LayerNorm 在Transformer的位置是哪里?

对于使用场景来说,BN在MLP和CNN上使用的效果都比较好,在RNN这种动态文本模型上使用的比较差。

BN在MLP中的应用。 BN是对每个特征在batch_size上求的均值和方差,如果BN应用到NLP任务,相当于是在对默认了在同一个位置的单词对应的是同一种特征,

layer_norm针对的是文本的长度,整条序列的文本,所以比bn好

9、 Transformer 相比于 RNN/LSTM,有什么优势?为什么

(1) RNN 系列的模型,并行计算能力很差, 但其实真实的耗时从业务上来讲,长query,transformer更快,短query,lstm更快。

(2)Transformer 的特征抽取能力比 RNN 系列的模型要好,transform可以动态建立输入序列的长程依赖关系,类似于一层全链接,

    

为什么在进行多头注意力的时候需要对每个head进行降维?(可以参考上面一个问题)
    大概讲一下Transformer的Encoder模块?
    为何在获取输入词向量之后需要对矩阵乘以embedding size的开方?意义是什么?


  简单描述一下Transformer中的前馈神经网络?使用了什么激活函数?相关优缺点?
    Encoder端和Decoder端是如何进行交互的?(在这里可以问一下关于seq2seq的attention知识)
    Decoder阶段的多头自注意力和encoder的多头自注意力有什么区别?(为什么需要decoder自注意力需要进行 sequence mask)
    Transformer的并行化提现在哪个地方?Decoder端可以做并行化吗?
    简单描述一下wordpiece model 和 byte pair encoding,有实际应用过吗?
    Transformer训练的时候学习率是如何设定的?Dropout是如何设定的,位置在哪里?Dropout 在测试的需要有什么需要注意的吗?
    引申一个关于bert问题,bert的mask为何不学习transformer在attention处进行屏蔽score的技巧?

   放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较

   放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较 - 知乎

5.为什么transformer用Layer Norm有什么用?

八股,让神经网络各层参数输入的数据分布变好,数值进入梯度敏感区间,能防止梯度消失,让模型好训练。

6.为什么不用BN?

两个,NLP不定长,好多位置填0,影响其他样本非0参数的计算。

Transformer的模型比较大,BS拉不大,容易变得不稳定

7.Bert为什么要搞一个position embedding?

八股,增强表达能力(位置上的)。因为transformer对位置不敏感,需要显示标示

8.Bert为什么三个embedding可以相加?

【深度玄学】为何Bert三个Embedding可以相加

9.transformer为什么要用三个不一样的QKV?

八股,增强网络的容量和表达能力。

10.为什么要多头?

八股,增强网络的容量和表达能力。

11.为什么Bert中要用BPE这样的subword Token

能很好的解决单词上的OOV,在语义粒度是比较合适的表达。

  -- 为什么Transformer中很少使用激活函数?

    介绍BERT/Transformer原理,结构
    
    介绍视觉Transformer及代表性网络

    Transformer中的Position Embedding是怎么实现的?为什么?
    bert对小样本学习fine-tune的时候有什么优化方法
    手写Transformer
    Transformer 中的 positional embedding  https://zhuanlan.zhihu.com/p/359366717
 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值