Transformer:从零到精通全解析

📅 2026/7/9 11:12:19
Transformer:从零到精通全解析
一、为什么会有 Transformer我们先看看深度学习的发展。最开始 MLP全连接 │ ▼ CNN解决图像 │ ▼ RNN/LSTM解决序列 │ ▼ Transformer统一所有序列 │ ▼ ViT、BERT、GPT、CLIP │ ▼ GPT-4o、Qwen2.5-VL、GeminiTransformer发表于2017年论文Attention Is All You Need作者最大的观点就是不用CNN不用RNN只靠Attention。所以论文名字叫Attention Is All You Need.二、为什么RNN不好假设一句话我 喜欢 学习 TransformerRNN处理方式我 │ ▼ 喜欢 │ ▼ 学习 │ ▼ Transformer必须一步一步。第4个词必须等前三个。所以缺点无法并行很慢长距离容易遗忘例如我昨天在北京买了一本非常厚的关于深度学习和Transformer的书 今天终于开始学习它。这里它对应的是书距离很远。RNN容易忘。三、Transformer最大的思想Transformer认为为什么要一个一个读为什么不能所有词一起看例如我 喜欢 学习 Transformer不是1→2→3→4而是我 ↗ ↑ ↖ 喜欢 ←→ 学习 ↘ ↓ ↙ Transformer所有词互相交流。这个交流方式就是Attention这就是Transformer的灵魂。四、什么叫Attention假设有一句话The animal didnt cross the street because it was tired.这里it到底是谁street animal人一眼知道animal为什么因为it会去关注animal而不是streetTransformer就是模拟这个过程。所以Attention就是当前单词应该关注哪些单词。五、Transformer整体结构Transformer其实很简单。输入 ↓ Embedding ↓ 位置编码 ↓ Encoder ↓ Decoder ↓ 输出其中最重要的是Encoder里面就是不断重复Attention ↓ FFN ↓ Attention ↓ FFN例如Encoder ×6 Decoder ×6原论文就是6层Encoder 6层Decoder后来GPT只有Decoder。BERT只有Encoder。六、输入首先变Embedding一句话I love AITokenizer以后I love AI变成ID5 32 100Embedding以后768维 768维 768维例如I ↓ [0.1 0.5 ... ] love ↓ [-0.3 ... ] AI ↓ [...]所以Transformer处理的是向量。七、为什么需要位置编码Position EncodingTransformer有个问题。Attention不知道谁在前 谁在后例如我 爱 你和你 爱 我Embedding几乎一样。所以加入Position Encoding变成Embedding Position例如我 Embedding 第0个位置 ↓ 最终输入这样模型知道顺序。八、进入Attention这就是Transformer最重要的一步。输入X不是直接Attention。而是先变三个东西Query(Q) Key(K) Value(V)这是Transformer最经典的一张图。X ┌────┼────┐ ▼ ▼ ▼ Q K V很多人第一次看到这里就懵。其实一点都不复杂。九、为什么需要QKV举个生活例子。假设去图书馆。你想找Transformer你的脑子里我要找Transformer就是Query书架上的标签Transformer CNN YOLO就是Key真正的书Transformer书就是Value所以Query 去匹配 Key 找到以后 取Value这就是Attention。一句话Q负责提问 K负责索引 V负责内容十、QKV如何计算其实特别简单。输入X乘三个矩阵。QXWQ KXWK VXWV这里WQ WK WV都是训练得到。所以一个输入 ↓ 变三个表示十一、Attention公式Transformer最核心Transformer最重要的一条公式就是可以把它拆成四步理解第一步计算相似度Q × Kᵀ得到谁和谁像例如it 和 animal 0.9 street 0.1第二步缩放为什么除√dk因为维度太大512维 1024维点积会特别大。Softmax容易饱和。所以除√dk让训练稳定。第三步Softmax变成概率例如animal 0.92 street 0.08第四步加权求和最后0.92×animal 0.08×street得到新的表示。所以Attention一句话根据相似度从所有Token中取出最重要的信息再融合到当前Token的表示中。十二、为什么叫 Self-Attention因为Q K V全部来自同一个输入。例如我 喜欢 AI每个词都会看所有词。包括自己。所以叫Self Attention十三、多头注意力Multi-Head Attention如果只有一个Attention只会关注一种关系Transformer提出多个头Head1 语法 Head2 距离 Head3 语义 Head4 实体最后Concat ↓ Linear这样不同Head学习不同模式。例如8 Heads 16 Heads 32 Heads现代大模型甚至更多。十四、为什么Transformer这么强因为它具有几个关键优势特性CNNRNNTransformer并行训练❌❌✅长距离依赖一般较差很强全局建模有限有限很强可扩展性一般一般极强适用于文本一般好极好适用于图像好差很好如ViT十五、Transformer如何进入计算机视觉最初Transformer是为自然语言设计的但后来研究者发现图像也可以表示成“序列”。一张图片224 × 224切成16 × 16的小块Patch224/16 14 14×14 196个Patch于是图片 ↓ 196个Patch ↓ Embedding ↓ Transformer这就是 An Image Is Worth 16x16 WordsViT的核心思想。之后又出现了DETR目标检测Swin Transformer层次化视觉TransformerMask2Former统一分割框架Grounding DINO开放词汇检测多模态模型如GPT-4o、Qwen-VL等统一处理文本、图像、音频等多种输入。