一、Attention机制,Transformer面试问题参考答案
1、Transformer Encoder 有什么子层?
Transformer Encoder 的核心子层(每层包含):
-
多头自注意力机制:
-
功能: 计算输入序列中每个位置与其他所有位置之间的关联度(注意力权重),从而整合整个序列的上下文信息来增强每个位置的表示。
-
关键: “自注意力”意味着注意力发生在同一个序列内部。“多头”允许模型在不同的表示子空间(如关注不同语法关系、语义角色)中并行学习不同的关联模式,然后将这些信息拼接融合,增强了模型的表征能力。
-
-
前馈神经网络:
-
功能: 对自注意力层输出的每个位置向量进行独立(位置间参数共享但计算独立)的非线性变换和特征提取。
-
典型结构:
Linear (扩展维度) -> Activation Function (通常是 ReLU 或 GELU) -> Dropout (可选,用于正则化防止过拟合) -> Linear (压缩回原始维度)。 -
关键: 它为每个位置引入了额外的复杂非线性变换能力,独立于序列中其他位置进行操作。
-
每个核心子层周围的必备组件:
-
残差连接:
-
位置: 应用于每个核心子层(多头自注意力层和前馈神经网络层)之前。
-
形式:
子层输出 = LayerNorm(子层输入 + Sublayer(子层输入))(最常见实现方式,也称为 Post-LN)。也有 Pre-LN 架构(子层输出 = 子层输入 + Sublayer(LayerNorm(子层输入)))。 -
功能: 允许梯度直接流过网络,有效缓解深度网络训练中的梯度消失问题,使得训练非常深的模型(如 Transformer)成为可能。它保留了原始输入信息,让网络更容易学习到恒等映射或微小修改。
-
-
层归一化:
-
位置: 与残差连接紧密配合。在 Post-LN 结构中,位于残差相加之后(
LayerNorm(x + Sublayer(x)))。在 Pre-LN 结构中,位于子层操作之前(x + Sublayer(LayerNorm(x)))。 -
功能: 对单个样本在某一层所有神经元(或特征维度)的输出进行标准化(均值为0,方差为1),通常再应用可学习的缩放和偏移参数。这显著稳定了训练过程
-

最低0.47元/天 解锁文章
1809

被折叠的 条评论
为什么被折叠?



