Transformer架构汇报提纲

一、引言:为什么是Transformer?

  1. 背景与动机

    • 传统序列模型(如RNN, LSTM, GRU)的瓶颈:串行计算导致训练速度慢,难以并行化;长距离依赖捕捉能力有限。
    • Transformer的诞生:2017年Google团队的论文《Attention Is All You Need》。
    • 核心思想:完全基于注意力机制(Attention Mechanism),抛弃了循环和卷积结构,实现了输入序列的并行计算,极大提升了训练效率和模型性能。
  2. 核心创新点

    • 自注意力机制(Self-Attention):模型能够关注输入序列中不同位置的信息,计算它们之间的关联程度。
    • 多头注意力(Multi-Head Attention):将自注意力机制并行化,捕捉不同类型的依赖关系。
    • 编码器-解码器(Encoder-Decoder)结构:经典的序列到序列(Seq2Seq)学习框架。
    • 位置编码(Positional Encoding):为模型提供序列的位置信息,因为自注意力机制本身是无序的。

二、Transformer整体架构

首先,用一张图来展示Transformer的整体结构,让听众有一个宏观的认识。

[输入序列][编码器 Encoder][解码器 Decoder][输出序列]
  • 编码器(Encoder):由N个相同的编码器层(Encoder Layer)堆叠而成(论文中N=6)。它的作用是对输入序列进行编码,生成一个包含上下文信息的特征表示(Contextual Embedding)。
  • 解码器(Decoder):同样由N个相同的解码器层(Decoder Layer)堆叠而成(论文中N=6)。它的作用是根据编码器的输出和已生成的部分输出序列,预测下一个token。

三、核心组件详解

这部分是汇报的重点,需要深入讲解。

1. 编码器层(Encoder Layer)

每个编码器层包含两个子层:

  • 子层一:多头自注意力机制(Multi-Head Self-Attention)

    • 作用:让每个位置的token都能“看到”输入序列中所有其他位置的token,从而捕捉全局的上下文信息。
    • 通俗理解:就像你在阅读一句话时,会根据上下文来理解某个词的含义。比如“苹果”在“吃苹果”和“苹果公司”中含义不同。
    • 计算过程(简要说明):
      1. 将输入的词嵌入(Embedding)向量分别通过三个线性变换,生成查询(Query, Q)键(Key, K)值(Value, V)矩阵。
      2. 计算Q和K的点积,得到注意力分数(Attention Scores),这个分数代表了Query对每个Key的“关注程度”。
      3. 对注意力分数进行缩放(除以√d_k,d_k是K的维度)和Softmax归一化,得到注意力权重(Attention Weights)。
      4. 将注意力权重与V矩阵相乘,得到加权求和后的输出。
      5. 多头:将上述过程并行进行h次(论文中h=8),然后将h个不同的输出拼接起来,再通过一个线性变换,得到最终的多头自注意力输出。
  • 子层二:位置前馈网络(Position-wise Feed-Forward Networks)

    • 作用:对每个位置的输出向量进行独立的、相同的非线性变换,进一步提取特征。
    • 结构:一个简单的两层全连接神经网络,中间有一个ReLU激活函数。
  • 残差连接与层归一化(Residual Connection & Layer Normalization)

    • 每个子层的输出都会加上原始输入(残差连接),然后进行层归一化。
    • 公式LayerNorm(x + Sublayer(x))
    • 作用:加速训练,防止梯度消失,提高模型的稳定性。
2. 解码器层(Decoder Layer)

每个解码器层包含三个子层:

  • 子层一:掩码多头自注意力机制(Masked Multi-Head Self-Attention)

    • 作用:与编码器的自注意力类似,但增加了掩码(Masking)操作。
    • 掩码的作用:在生成第i个token时,模型只能看到前i-1个token,而不能看到未来的token,这符合自回归生成的逻辑。
    • 实现方式:在计算注意力分数时,将未来位置的分数设置为-∞,经过Softmax后,这些位置的权重就会变为0。
  • 子层二:编码器-解码器注意力机制(Encoder-Decoder Attention)

    • 作用:让解码器在生成每个token时,能够关注到编码器输出的、与当前上下文最相关的输入序列信息。
    • 通俗理解:在翻译时,当你要生成一个英文单词时,你会去看对应的中文句子中哪个词或哪些词与它最相关。
    • 计算过程:与多头自注意力类似,但Q来自解码器上一个子层的输出,而K和V则来自编码器的最终输出。
  • 子层三:位置前馈网络(Position-wise Feed-Forward Networks)

    • 与编码器中的前馈网络完全相同。
  • 残差连接与层归一化

    • 同样应用于每个子层。
3. 位置编码(Positional Encoding)
  • 为什么需要:自注意力机制是无序的,它不考虑输入序列中token的位置信息。但在NLP任务中,位置信息至关重要(例如“我爱你”和“你爱我”意思完全不同)。
  • 如何实现:论文中使用了一种固定的、可学习的位置编码方式。它将位置信息编码成一个与词嵌入向量维度相同的向量,然后与词嵌入向量相加。
  • 编码方式:使用正弦和余弦函数来生成不同频率的位置信号,以区分不同的位置。

四、Transformer的工作流程

  1. 输入处理:将输入文本转换为token序列,然后通过词嵌入层得到词嵌入向量。
  2. 位置编码:将位置编码向量与词嵌入向量相加,得到最终的输入表示。
  3. 编码器编码:输入表示经过N层编码器层的处理,生成包含全局上下文信息的编码表示。
  4. 解码器解码
    • 初始时,解码器的输入是一个特殊的开始标记(如<s>)。
    • 解码器利用掩码自注意力关注已生成的token,利用编码器-解码器注意力关注编码器的输出。
    • 经过N层解码器层的处理后,最后通过一个线性层和Softmax层,预测下一个token的概率分布。
    • 重复这个过程,直到生成结束标记(如</s>)。

五、总结与意义

  1. 主要贡献

    • 提出了一种完全基于注意力机制的神经网络架构,摆脱了对RNN的依赖。
    • 实现了高度并行化,极大地提高了训练效率。
    • 在多个NLP任务上取得了当时的SOTA(State-of-the-Art)结果。
  2. 深远影响

    • Transformer是现代预训练语言模型(如BERT, GPT, T5等)的基石
    • 它的思想不仅限于NLP领域,还被成功应用于计算机视觉(如Vision Transformer, ViT)、语音识别等多个领域。

汇报建议

  • 图文并茂:准备一些清晰的示意图来展示Transformer的整体结构、编码器/解码器层的内部结构以及注意力机制的计算过程。
  • 重点突出:在讲解时,要突出Transformer的核心创新点——自注意力机制并行计算
  • 结合实例:可以举一个简单的翻译例子(如“我爱中国”→“I love China”),来帮助听众理解模型是如何工作的。
  • 准备Q&A:思考一下导师和同学们可能会提出的问题,例如:
    • 自注意力机制的计算复杂度是多少?
    • 为什么要使用多头注意力?
    • Transformer在处理长序列时有什么挑战?
Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐