\quad
首先将这个模型看成是一个黑箱操作。在机器翻译中,就是输入一种语言,输出另一种语言。
\quad
编码器在结构上都是相同的(但它们不共享权重)。每一层又分为两个子层:
\quad Embedding和位置编码相加:
(1)它扩展了模型专注于不同位置的能力:it具体指代的什么?
(2)它给出了注意力层的多个“表示子空间”(representation subspaces):有利于前景相同而背景不同的目标的识别。
在“多头”注意机制下,我们为每个头保持独立的查询/键/值权重矩阵,从而产生不同的查询/键/值矩阵。
(1)Masked Multi-head Attention:相对于多头注意力机制将当前输入的后面输入都抹去,原因是在测试的过程中我们并不知道后面的什么,因此在训练的过程中我们应该尽可能的模拟测试的过程,提高墨香的泛化能力。
(2)解码器中的Multi-head Attention:解码器中的“编码-解码注意力层”工作方式基本就像多头自注意力层一样,只不过它是通过在它下面的解码层来创造查询矩阵(Q),并且从编码器的输出中取得键(V)/值矩阵(K)。
1、Transformer为何使用多头注意力机制?(为什么不使用一个头)
2、Transformer为什么Q和K使用不同的权重矩阵生成,为何不能使用同一个值进行自身的点乘? (注意和第一个问题的区别)
3、Transformer计算attention的时候为何选择点乘而不是加法?两者计算复杂度和效果上有什么区别?
4、为什么在进行softmax之前需要对attention进行scaled(为什么除以dk的平方根),并使用公式推导进行讲解
5、在计算attention score的时候如何对padding做mask操作?
6、为什么在进行多头注意力的时候需要对每个head进行降维?(可以参考上面一个问题)
7、大概讲一下Transformer的Encoder模块?
8、为何在获取输入词向量之后需要对矩阵乘以embedding size的开方?意义是什么?
9、简单介绍一下Transformer的位置编码?有什么意义和优缺点?
10、你还了解哪些关于位置编码的技术,各自的优缺点是什么?
11、简单讲一下Transformer中的残差结构以及意义。
12、为什么transformer块使用LayerNorm而不是BatchNorm?LayerNorm 在Transformer的位置是哪里?
13、简答讲一下BatchNorm技术,以及它的优缺点。
14、简单描述一下Transformer中的前馈神经网络?使用了什么激活函数?相关优缺点?
15、Encoder端和Decoder端是如何进行交互的?(在这里可以问一下关于seq2seq的attention知识)
16、Decoder阶段的多头自注意力和encoder的多头自注意力有什么区别?(为什么需要decoder自注意力需要进行 sequence mask)
17、Transformer的并行化提现在哪个地方?Decoder端可以做并行化吗?
18、简单描述一下wordpiece model 和 byte pair encoding,有实际应用过吗?
19、Transformer训练的时候学习率是如何设定的?Dropout是如何设定的,位置在哪里?Dropout 在测试的需要有什么需要注意的吗?
20、引申一个关于bert问题,bert的mask为何不学习transformer在attention处进行屏蔽score的技巧?
答案下载链接:
链接:https://pan.baidu.com/s/1PLeYaxnkoz0vVOLzwjvpww
后续将继续更新~
(1) https://www.bilibili.com/video/BV1Di4y1c7Zm?p=1
(2) https://blog.csdn.net/longxinchen_ml/article/details/86533005
注:本文仅供笔者学习使用,如有侵权,请及时与笔者联系~
联系客服