目录
1. 线性变换的几何直观
1.1. 什么是线性变换?
线性变换(Linear Transformation)在几何上可以理解为对坐标系的一种“扭曲”,例如旋转、拉伸、剪切(Shear)等。
1.2. 线性变换的两个核心规则
为了保证变换是“线性”的,必须满足两个前提条件:
- 直线在变换后仍然是直线,不能弯曲成曲线。
- 原点(Origin)保持固定,且网格线在变换后保持平行且等距分布。这意味着一个
1x1的方格在变换后可能变成一个平行四边形,但所有的平行四边形面积都是相等的。
1.3. 基向量 (Basis Vectors)
- 在一个标准的二维坐标系中,我们有两个基向量:
î(或视频中的x轴单位向量):[1, 0]ĵ(或视频中的y轴单位向量):[0, 1]
- 空间中任何一个向量,例如
[2, 2],都可以表示为基向量的线性组合,即2 * î + 2 * ĵ。
2. 线性变换与矩阵乘法
2.1. 变换的本质:跟踪基向量
- 线性变换的全部信息都蕴含在基向量变换后的位置中。只要我们知道
î和ĵ变换后的新坐标,就能确定空间中任何一个向量变换后的位置。 - 示例:假设经过一次旋转和拉伸的变换后:
- 原来的
x轴基向量[1, 0]变到了新位置[1, -1]。 - 原来的
y轴基向量[0, 1]变到了新位置[1, 1]。
- 原来的
2.2. 构建变换矩阵
- 我们可以将变换后的基向量坐标作为列,构建一个变换矩阵 (Transformation Matrix)。
- 在上述例子中,变换矩阵
M为: 其中,第一列[1, -1]是î的新坐标,第二列[1, 1]是ĵ的新坐标。
2.3. 计算新向量坐标
- 要计算任意向量(如
v = [2, 2])经过该变换后的新坐标,只需用变换矩阵M左乘该向量v。 - 计算过程:
- 结论:原始向量
[2, 2]在坐标系被“扭曲”后,其在新坐标系下的位置对应于原始坐标系中的[4, 0]。
3. Transformer 中的线性变换
3.1. 将概念推广到高维
- 在 Transformer 模型中,词嵌入(Word Embedding)通常存在于一个高维空间,例如
d_model = 512维。 - 此时,输入
x是一个512 x 1的向量,代表一个词(Token)。 - 模型中的权重矩阵,如
WQ、WK、WV,就是高维空间中的变换矩阵。
3.2. 权重矩阵 WQ 的作用
WQ是一个512 x 512的方阵。- 它的作用与二维例子中的变换矩阵完全相同:定义了一个对 512 维空间的线性变换。
- 矩阵中的每一列代表了 512 个基向量中对应一个在变换后的新坐标。
- 当我们执行
WQ * x这个运算时,我们实际上是在根据WQ定义的规则,“扭曲”整个 512 维空间,从而将输入的词向量x移动到一个新的位置。- 输入
x:[512, 1](单个 Token) 或[512, seq_len](多个 Token) - 变换矩阵
WQ:[512, 512] - 输出
x_new:[512, 1]或[512, seq_len]
- 输入
- 关键点:线性变换只改变向量的坐标值,不改变其维度。
x进去是 512 维,出来还是 512 维。
4. 线性变换在 AI 中的深层含义
4.1. 上下文相关的向量“移动”
- 线性变换的根本目的,是在特定语境 (Context) 下调整词向量的位置,使其更好地表达语义关系。
- 例子: “苹果” (Apple) 这个词
- 语境1: “我爱吃苹果” → 在这个语境下,模型通过
WQ矩阵,将“苹果”的向量向“食物”、“水果”等概念所在的语义空间区域移动。 - 语境2: “筷子兄弟的《小苹果》” → 在这个语境下,
WQ会将“苹果”的向量向“歌曲”、“音乐”等概念所在的区域移动。
- 语境1: “我爱吃苹果” → 在这个语境下,模型通过
- 模型通过在不同
Transformer Block中使用不同的权重矩阵W,逐层地、精细地调整词向量的位置,以捕捉复杂的语义依赖。
4.2. 偏置项 (Bias)
- 完整的线性层公式是
y = Wx + b。 b是偏置项(Bias),它在几何上代表了对整个坐标系进行一次平移 (Translation)。- 线性变换(
Wx)负责旋转、拉伸和剪切,而偏置项b负责在变换后将所有向量统一移动一个固定的距离。
5. 高维空间与降维投影
- 高维到低维的投影:将 512 维空间中的向量关系,映射(或“投影”)到我们能理解的二维或三维空间进行可视化。
- 这个过程会损失精度,但可以保留向量之间的相对关系(例如,哪些向量聚类在一起)。
- 这有助于我们直观地理解模型学到了什么,例如在“食物”语境下,“苹果”、“香蕉”、“梨”的向量会聚集在一起。
6. 模型训练中的两种权重更新
在 Transformer 模型的训练过程中,主要有两类参数在不断更新,它们扮演不同角色:
-
词嵌入本身 (Token Embedding, 即
x的初始值)- 作用:调整词与词之间固有的、不依赖于特定上下文的语义关系。
- 目标:通过大量语料的学习,让本身语义相近的词(如“你好”、“Hello”)在向量空间中的初始位置就比较接近。
-
线性变换矩阵 (如
WQ,WK,WV等)- 作用:学习如何根据上下文来动态调整(移动/变换)词向量。
- 目标:捕捉词在具体句子中的角色和关系。例如,将“苹果”根据上下文移动到“食物”或“歌曲”的区域。
Token Embedding 决定了词的“出厂设置”,而线性变换矩阵 W 决定了在不同“场景”(语境)下如何对它进行“改造”。
总结
线性变换在几何上是对坐标系进行旋转、拉伸等操作,其核心在于改变基向量的位置。这一变换可以通过一个变换矩阵来精确描述,任何向量的新坐标都可以通过用该矩阵左乘其原始坐标得到。
在 Transformer 等 AI 模型中,权重矩阵 W(如 WQ)就是这样一个高维的线性变换矩阵。它并非一堆无意义的数字,而是定义了一套“扭曲”高维语义空间的规则。通过 y = Wx + b 的运算,模型能够根据特定上下文 (Context),将输入的词向量 x 移动到语义空间中一个更合适的新位置,从而捕捉复杂的语言现象。模型训练的过程,就是同时优化词的初始位置(Embedding)和在不同语境下的移动规则(权重矩阵 W)。