校招面试大厂都问Transformer哪些知识点?
共 2670字,需浏览 6分钟
·
2024-05-09 07:00
说说我的实习面试历程
关于我:已 get 头条、阿里、美团算法实习offer。
今天主要分享一下我在春招过程中被问得最多的Transformer知识点和对应解答。希望对你们有帮助!!!
-
为何Transformer采用多头注意力机制?
多头注意力确保Transformer能并行捕捉不同子空间的特征信息,增强了模型捕获多样性和细致特征的能力。每个头专注于输入数据的不同方面,尽管增加了维度解析度,但总体计算负担与单头相比增幅不大,维持高效。
-
Transformer为何让Q(查询)和K(键)使用独立的权重矩阵进行计算,而非共用同一矩阵?
分配不同权重给Q和K是为了实现信息在不同表示空间的映射,增强模型的表达力和泛化性能。不同的初始化权重帮助模型适应输入与输出长度变化,并且避免了Q与K相同导致的对称attention矩阵问题,这样的矩阵降低了模型的泛化能力。
-
Transformer在计算注意力时,为何选用点乘而非加法?两者在计算复杂度和效果上有何差异?
点乘运算的选择旨在平衡效率和效果。虽然矩阵加法更简单,但它作为隐藏层使用时,计算密集度与点乘相近。实验表明,随着特征维度(d_k)增加,加法的优势更明显,但通常点乘能更好地保持信息的相关性。
-
为何要在softmax前对attention分数进行缩放(即除以(d_k)的平方根)?
缩放是为了缓解softmax函数可能导致的梯度消失问题。当Q和K的分布满足一定条件时,缩放可以确保softmax输出更加平滑,保持梯度的有效流动,有助于训练稳定。
-
在处理padding时,如何对attention分数实施mask?
通过将padding位置的attention得分设为负无穷(常用-1000),有效排除这些位置对最终结果的影响。
-
Transformer的位置编码作用及局限性?
位置编码为模型引入了绝对位置信息,弥补了self-attention机制中缺失的位置感知。固定的位置编码使得模型理解序列中元素的相对次序。然而,其固定性质限制了模型对更复杂位置关系的表达,相对位置编码(RPE)是对此的一个改进方案。
-
Transformer为何偏好LayerNorm而非BatchNorm?
LayerNorm针对单个样本的所有特征进行标准化,保留了样本内部特征的相对比例,有利于attention机制捕捉全局依赖。相比之下,BatchNorm在序列任务中可能会破坏样本内的时间结构信息。
-
Transformer相比RNN的优势何在?
Transformer在并行处理能力上远超RNN,能够更高效地利用计算资源。同时,它在长期依赖捕捉和特征提取方面也显示出优越性能。
-
Encoder与Decoder如何协同工作?
Encoder的输出经过线性变换并与Decoder的状态进行交互,通过两次矩阵乘法操作,将Decoder的输入与Encoder的上下文信息融合,生成目标序列的预测。
-
Decoder与Encoder中的多头注意力有何差异?
Decoder包含两层多头注意力机制,额外的一层用于关注Encoder的输出,调整解码阶段的注意力以适应输出序列的构造。Decoder的Query、Key、Value尺寸在某些情况下可不同,而Encoder中的Q、K、V尺寸保持一致。
-
Transformer中最常出现的层是什么?
Dropout层,用于随机丢弃部分神经元以减少过拟合。
-
Transformer在何处实现了权重共享?
-
Encoder和Decoder的嵌入层权重共享。 -
Decoder中的嵌入层与全连接层权重共享。
-
Transformer中的mask机制如何运作?
包含Padding Mask,用于忽略填充的token;以及Sequence Mask,在Decoder中应用,确保预测时不泄露未来信息。
-
如何理解Self-Attention?
Self-Attention是一种自我参照的注意力机制,其中Query、Key和Value来自同一序列,旨在发现序列内部元素之间的相互依赖关系。
-
Transformer架构中哪个部分最耗时?
前馈神经网络(Feedforward Networks)部分,因其参数量大,计算成本较高。
-
残差连接(Residual Connections)的作用?
残差连接通过允许信息直接跳过某些复杂的转换层,有效缓解了深度网络中的梯度消失问题,促进了更深网络的有效训练。