以下是根据提供的对话内容整理的学习过程文档,涵盖了从基础概念到 Transformer 核心组件的逐步深入,并特别针对大二计算机视觉(CV)方向学生的知识背景进行了类比和拓展。


Transformer 与 CV 融合学习笔记

—— 基于一次对话式问答的学习过程

引言

本学习过程以问答形式展开,从“中文翻译成英文是否通过二进制转换”这一朴素问题出发,逐步深入到神经网络机器翻译(NMT)、Embedding、Transformer 架构(Add & Norm、Linear 层、多头注意力、前馈网络)、训练技巧(Teacher Forcing、Mask)以及 RNN 与 Transformer 的对比。全程贯穿 CV 工程师的视角,帮助读者建立视觉与语言模型之间的桥梁。


第 1 章:翻译的本质——从二进制到语义理解

问题: 中文翻译成英文是通过将中文转为二进制再转成英文吗?

解答: 不是。计算机底层虽只认识二进制,但翻译不是简单的编码转换,而是 语义理解与再表达 的过程。现代翻译基于神经网络机器翻译(NMT),主要步骤包括:

  1. 向量化:将词汇转换为数学向量(高维空间中的坐标)。
  2. 编码:分析句子的语法、语境和逻辑。
  3. 解码:根据理解生成目标语言句子。

为什么不能直接二进制转换?

  • 语序差异:不同语言语序不同(如中文“我喜欢你” vs 日语动词后置)。
  • 一词多义:如“意思”在不同语境下对应英文的 meaninginterestingbribe
  • 文化语境:需要“信达雅”的深度理解,而非简单映射。

CV 工程师的联想: 这就好比图像识别不是逐像素比对,而是提取高层语义特征(如边缘、纹理、物体部件)后再判断。


第 2 章:Embedding——让计算机理解语义的桥梁

2.1 什么是 Embedding?

Embedding 将离散的词汇(或图像块)映射到高维连续向量空间,使得语义相近的词在空间中距离接近。

2.2 两种关键的 Embedding

  • Word Embedding:赋予单词“意义”。例如,“猫”和“狗”的向量在空间中相近。
  • Positional Encoding:赋予单词“位置”。Transformer 并行输入所有词,必须通过位置编码区分“狗咬人”和“人咬狗”。

结合方式:最终输入 = Word Embedding + Positional Encoding。 前者表示“是什么”,后者表示“在哪里”。

2.3 Embedding 的获取方式

  1. 预训练库:如 Word2Vec、GloVe、FastText(静态),或 HuggingFace 的 BERT、GPT(动态上下文相关)。
  2. API 服务:OpenAI、Google Gemini 等提供在线 Embedding 接口。
  3. 自训练:在 PyTorch/TensorFlow 中用 nn.Embedding 层作为模型第一部分,随任务学习。

2.4 Embedding 的维度

维度即 AI 观察一个词的“视角”数量。

  • 低维(16-64):只能区分大类,速度快,适合简单任务。
  • 中维(256-768):能捕捉细微差别,如 BERT。
  • 高维(1536+):语义丰富,但计算成本高,用于大模型。

维度选择需平衡表达能力与计算开销。

2.5 CV 中的 Embedding

在计算机视觉中,Embedding 被称为 图像特征向量(Image Embedding 或 Feature Vector)。

  • 应用:以图搜图、人脸识别(将人脸转为 128 维向量)、CLIP 模型(图文对齐)。
  • 本质:图像经过卷积或 ViT 提取的特征向量,就是该图像的 Embedding。
  • 共同语言:Transformer 统一了 NLP 和 CV,图像被切块后也转换为 Embedding 序列。


第 3 章:Transformer 核心组件详解

3.1 Add & Norm(残差连接 + 层归一化)

问题: Add & Norm 是什么?

解答:

  • 残差连接(Add):将输入 x 直接加到本层输出 F(x) 上,即 Output = F(x) + x。 作用:防止梯度消失,让深层网络仍能保留原始信息;即使本层没学到东西,信息也能直接跳过。
  • 层归一化(Norm):对同一层所有神经元的输出进行标准化(减均值除方差),再学习缩放和平移参数。 作用:稳定数据分布,加速训练,防止数值爆炸。

为什么需要 Norm? 若只 Add 不 Norm,随着层数加深,数值方差累积,可能导致激活函数饱和或梯度爆炸。Norm 像“调压阀”,将数值拉回合理范围。

CV 类比:

  • Add 类似于 ResNet 中的恒等映射(Identity Mapping)。
  • Norm 类似于图像处理中的对比度增强或标准化。

补充知识:Pre-LN vs Post-LN

  • Post-LN(原始 Transformer):Norm(Add(x, F(x))),训练不稳定。
  • Pre-LN(主流大模型):Add(x, F(Norm(x))),训练更稳定。

3.2 Linear 层(全连接层)

问题: Linear 层是什么?

解答: 数学上,Linear 层执行线性变换 y = xW^T + b,即矩阵乘法加偏置。 作用

  • 改变维度(升维/降维)。
  • 特征组合与提取。

在 Transformer 中的角色

  • 将 Embedding 从 512 维映射到 768 维(或反之)。
  • 在多头注意力中生成 Q、K、V 向量。
  • 在 Feed Forward 网络中实现先扩维再压缩。

CV 类比: CNN 末端的 Linear 层用于分类(将特征映射到类别空间);ViT 中的 Linear 层用于图像块投影。

3.3 线性变换与空间映射

问题: Linear 变换又是什么?

解答: 线性变换是 Linear 层的数学本质,即通过矩阵乘法将向量从一个空间映射到另一个空间(拉伸、旋转、投影)。 在 Transformer 注意力中,同一个输入 X 通过三个不同的线性变换得到 Q、K、V,让模型从不同视角观察数据。

为什么需要非线性? 线性变换叠加仍为线性,无法处理复杂现实。因此 Linear 层后通常接激活函数(如 ReLU、GeLU)引入非线性。

3.4 多头注意力的输出投影

问题: 多个 self-attention 拼接后最后的 Linear 变换目的是什么?

解答: 目的有两个:

  1. 维度对齐:将拼接后的多头输出(维度 = h × d_v)映射回原始 Embedding 维度(d_model),以便与输入 X 进行残差连接。
  2. 信息融合:让不同头捕捉到的特征交互融合,学习哪些头的信息更重要。

CV 类比:相当于 CNN 中的 1×1 卷积,用于跨通道信息融合与维度调整。

3.5 Feed Forward 层(前馈网络)

问题: Feed Forward 的作用是什么?

解答: FFN 通常由两个 Linear 层夹一个激活函数组成。 核心作用

  • 引入非线性:使模型具备复杂函数拟合能力。
  • 逐词深度加工:每个位置的向量独立通过相同的 FFN,对融合后的信息进行“独立思考”和特征升级。
  • 升维降维:先扩维(如 512→2048),在高维空间做非线性变换,再压缩回原维度(2048→512),起到特征精炼作用。

CV 类比: Attention 类似大核卷积(全局感知),FFN 类似两个 1×1 卷积(通道混合与特征提取)。

3.6 Encoder Block 完整流程

  1. Multi-Head Attention:词与词交互,更新上下文信息。
  2. Add & Norm:残差连接+归一化,稳定信号。
  3. Feed Forward:每个词独立思考,升级特征。
  4. Add & Norm:再次稳定。


第 4 章:训练技巧与 Decoder 特殊机制

4.1 Seq2Seq 与 Teacher Forcing

问题: Teacher Forcing 是什么?Seq2Seq 简介?

解答:

  • Seq2Seq:编码器-解码器架构,输入输出均为序列(如翻译、视频字幕生成)。
  • Teacher Forcing:训练解码器时,无论上一步预测是否正确,下一步都强制输入真实的目标词(而不是预测的词)。
    • 优点:加速收敛,防止错误累积,支持并行训练(因为输入已知,可一次性喂入)。
    • 比喻:就像学自行车装辅助轮,让初学者快速掌握基本动作。

CV 应用:视频描述生成中,Decoder 可用 Teacher Forcing 训练。

4.2 Masked Self-Attention

问题: Decoder 中的 Mask 作用是什么?

解答: Mask(通常为下三角矩阵)在训练时防止模型“偷看”未来的词。

  • 原因:训练时使用 Teacher Forcing,一次性输入整个目标句子,若不加 Mask,模型会直接抄后面的词,无法学习预测。
  • 实现:在 Softmax 前将未来位置的值设为负无穷,使注意力权重为 0。
  • 推理时:词是一个一个生成的,未来不存在,但为了保持训练与推理的一致性,Mask 机制依然保留(此时仅为形式上的 1×1 矩阵)。

CV 类比:视频预测模型中,不能用未来帧的信息预测当前帧,类似时间的单向性。


第 5 章:Transformer 并行训练的根源 —— RNN 对比

问题: Transformer 与 RNN 不同,可以比较好地并行训练。这句话可以这么说的原因?

解答:

  • RNN:序列依赖,必须等前一步计算完才能计算下一步(串行),导致训练慢且长序列易梯度消失。
  • Transformer:自注意力机制允许所有位置同时计算,通过位置编码保留顺序信息,因此可大规模并行,训练速度极快。

RNN 简介

  • 核心:隐藏状态传递记忆,适合处理时序数据(如视频帧、手写识别)。
  • 缺点:无法并行、长程遗忘(虽有 LSTM/GRU 改进,但仍有限)。

CV 中的 RNN 应用(历史):视频理解、图像描述生成等。如今 Transformer 已逐渐替代 RNN 在这些领域的地位。


第 6 章:学习路径总结

对于大二 CV 方向学生,本次学习覆盖了以下进阶路线:

  1. 从传统翻译误解出发,理解语义表示的重要性。
  2. Embedding 概念:Word Embedding、Positional Encoding、维度含义、获取方式,并引申到图像 Embedding(ViT、CLIP)。
  3. Transformer 核心组件
  • Add & Norm(残差+归一化)
  • Linear 层与线性变换
  • 多头注意力的输出投影
  • Feed Forward 网络

  1. 训练机制:Teacher Forcing、Masked Self-Attention 的原理与必要性。
  2. 架构对比:RNN 与 Transformer 的并行性差异,理解 Transformer 为何成为主流。

下一步建议

  • 动手实践:用 PyTorch 调用预训练 ViT 模型,观察 LayerNorm 和 Linear 层。
  • 深入研究:自注意力机制(QKV 计算)、视觉 Transformer(ViT)的 Patch Embedding、目标检测模型 DETR。
  • 扩展学习:多模态模型(CLIP、Flamingo)如何统一图像与文本 Embedding。


通过本次对话式学习,不仅掌握了 Transformer 的理论基础,也建立了 NLP 与 CV 的共通视角,为后续学习现代视觉模型打下了扎实根基。

参考文档:

Transformer 模型详解(图解最完整版)

最新综述!一文详解视觉 Transformer 在 CV 中的现状、趋势和未来方向(分类/检测/分割/多传感器融合)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐