第十二章 Transformers

2026年6月12日

第187页开始

12.1 文本数据处理

介绍了文本数据处理的一些难点,

  1. 语句长短不一,难以全连接
  2. 语句中存在歧义,比如“它”在不同语境里面,指代的内容不同
  3. 文本的向量空间极大

12.2 点积自注意力

可以视为是将不同比例的值分配到每个输出中。

看了图解,就是对于不同的输入,给予一个不同的权重,加到outputs 中。

12.2.1 值的计算与加权

注意力权重的总数与序列的长度N的平方成正比,但不受每个输入长度D的影响

12.2.2 注意力权重的计算

一堆公式计算,没有看太懂是如何计算的。

看起来是对于输入的一个权重的计算,由计算的方式,可以看出来,这就是点积的一种计算步骤,所以这里叫做点积。

12.2.3 自注意力机制概述

不依赖于输入的数量N,使得网络能够处理不同长度的序列。输入(单词)间存在相互连接,且这些连接的强度时基于注意力权重直接反映了输入本身的特性。

12.2.4 矩阵表示法

就是把上面的写法换了矩阵的表示形式,而且说明了以后不会再显式的表示依赖性。

12.3 点乘自注意力的扩展

12.3.1 位置编码

  1. 绝对位置:在输入序列中的绝对位置
  2. 相对位置:两个词之间的相对位置

这两个概念,与linux 里面的绝对路径和相对路径是一致的。仅有的差别是表示的东西不同。

12.3.2 缩放点积自注意力

翻译的是个啥,完全没有看懂,

12.3.3 多头自注意力

就是在并行计算需要的注意力机制。

12.4 transformer 层

看了下,其实就是加了一层,把前面的点积给放到一个层里面,就是这个transformer 层了,更期待后续的自然语言处理的章节的讲解

12.5 面向自然语言处理的 Transformers

12.5.1 分词

说了一下分词的背景与原理。
背景是,需要对输入进行切分之后,才能够进行处理。

原理:过于细小的字母和过于笼统的句子,都不能很好的泛化句子的含义,而且存在标点符号、单数复数等等的问题,所以折中的方案应运而生,那就是拆分的比较细,但又不是特别细的token

12.5.1 嵌入

就是通常意义理解的放到一个向量库中,把所有的token 放入到一个表中

12.5.1 Transformer 模型

编码器,将文本转化为用于多种任务的表示。
解码器,预测接下来的token用以继续输入文本

12.6 Encoder 模型案例: BERT

运用了迁移学习的理念

12.6.1 预训练

BERT是利用大量的网络文本预测缺失的词语,让模型学习到自然语言的常识

12.6.2 微调

文本分类

词分类

文本跨度预测

12.7 Decoder 模型案例:GPT3

解码器,唯一的目的,是生成下一个token,都是一个个的生成的

12.7.1 语言模型

构建了一种自回归模型。就是利用了各个词的可能出现的概率,再依次的继续计算后续的token 的值。

12.7.2 遮掩自注意力

当前token 之后的权重,全部设置为0,这样就不会出现后续词对于当前训练的影响

12.7.3 利用解码器生成文本

12.7.4 GPT-3与少样本学习