线性代数的几何本质:从向量到矩阵的直觉建立

线性代数的核心对象是向量——空间中具有方向与长度的有向线段。选取一组线性无关的向量作为基向量,即可张成整个空间,空间中的任意向量均可由基向量线性表示。矩阵本质上是一次线性变换的完整描述,其每一列记录了对应基向量变换后的新位置;矩阵乘法则对应变换的复合,即多次线性变换的依次作用。点积是度量两向量方向一致程度的工具,其几何本质为投影。


一、向量

(1)几何本质

向量是空间中具有方向长度的有向线段。向量关注的是方向与长度,与起点位置无关——平移后仍是同一向量。

二维向量 [21]\begin{bmatrix}2\\1\end{bmatrix}[21] 表示:沿 xxx 轴正方向位移 2,沿 yyy 轴正方向位移 1。

(2)向量加法

a+b=c\mathbf{a} + \mathbf{b} = \mathbf{c}a+b=c

几何含义:运动的叠加。b\mathbf{b}b 的起点平移至 a\mathbf{a}a 的终点,从 a\mathbf{a}a 的起点指向 b\mathbf{b}b 的终点即为 c\mathbf{c}c

a b c = a + b

(3)向量数乘

kak\mathbf{a}ka

几何含义:箭头的缩放。 k>1k>1k>1 拉长,0<k<10<k<10<k<1 缩短,k<0k<0k<0 反向,k=0k=0k=0 退化为零向量。

a 2a −a

(4)写法约定

向量习惯写作列向量,以配合矩阵乘法的行×列规则:

x=[xy],xT=[xy](行向量,即列向量的转置)\mathbf{x} = \begin{bmatrix}x\\y\end{bmatrix}, \qquad \mathbf{x}^T = \begin{bmatrix}x & y\end{bmatrix} \text{(行向量,即列向量的转置)}x=[xy],xT=[xy](行向量,即列向量的转置)


二、基向量与线性相关

(1)基向量

基向量是张成整个空间的一组参照向量。二维标准基向量为:

i^=[10],j^=[01]\hat{i} = \begin{bmatrix}1\\0\end{bmatrix}, \qquad \hat{j} = \begin{bmatrix}0\\1\end{bmatrix}i^=[10],j^=[01]

空间中任意向量均可表示为基向量的线性组合:

[32]=3i^+2j^\begin{bmatrix}3\\2\end{bmatrix} = 3\hat{i} + 2\hat{j}[32]=3i^+2j^

(2)线性相关

定义: 存在不全为零的系数 α1,α2,…,αn\alpha_1, \alpha_2, \ldots, \alpha_nα1,α2,,αn,使得:

α1v1+α2v2+⋯+αnvn=0\alpha_1\mathbf{v}_1 + \alpha_2\mathbf{v}_2 + \cdots + \alpha_n\mathbf{v}_n = \mathbf{0}α1v1+α2v2++αnvn=0

几何含义: 向量组中至少有一个向量可被其余向量线性表示,整组向量退化至更低维的子空间——有向量未带来新的方向。

(3)线性无关

定义: 上述等式成立当且仅当所有系数均为零:

α1=α2=⋯=αn=0\alpha_1 = \alpha_2 = \cdots = \alpha_n = 0α1=α2==αn=0

几何含义: 每个向量均贡献了一个新方向,整组向量可张成完整的空间。

线性相关(共线) a b 线性无关(不共线) a b

(4)关键定理

n 维空间中,线性无关的向量个数≤nn \text{ 维空间中,线性无关的向量个数} \leq nn 维空间中,线性无关的向量个数n

一旦向量个数超过空间维数,必然存在线性相关——空间无法容纳更多独立方向。


三、矩阵与线性变换

(1)线性变换的约束条件

线性变换须满足以下两个条件:

  • 原点不动T(0)=0T(\mathbf{0}) = \mathbf{0}T(0)=0
  • 直线变换后仍为直线(空间不可弯曲或折叠)

两条合并为一个数学条件:

T(αa+βb)=αT(a)+βT(b)T(\alpha \mathbf{a} + \beta \mathbf{b}) = \alpha T(\mathbf{a}) + \beta T(\mathbf{b})T(αa+βb)=αT(a)+βT(b)

旋转、拉伸、压缩、翻转、错切均为合法的线性变换;平移(原点移动)与弯曲(直线变为曲线)则不是。

(2)矩阵是线性变换的完整描述

矩阵的每一列记录了对应基向量变换后的新位置:

A=[abcd]A = \begin{bmatrix}a & b\\c & d\end{bmatrix}A=[acbd]

  • 第一列 [ac]\begin{bmatrix}a\\c\end{bmatrix}[ac]i^=(1,0)\hat{i}=(1,0)i^=(1,0) 变换后的位置
  • 第二列 [bd]\begin{bmatrix}b\\d\end{bmatrix}[bd]j^=(0,1)\hat{j}=(0,1)j^=(0,1) 变换后的位置

知道基向量的去向,整个空间的变换即完全确定。

变换前 î ĵ 矩阵 A 变换后 î' ĵ'

(3)矩阵形状:维度转换说明书

Am×n:n 维⟶m 维A_{m \times n}: \quad n \text{ 维} \longrightarrow m \text{ 维}Am×n:n m 

  • 列数 = 输入维度
  • 行数 = 输出维度
形状 含义
2×22 \times 22×2 二维 → 二维
3×23 \times 23×2 二维 → 三维(升维)
2×32 \times 32×3 三维 → 二维(降维)

四、矩阵乘法

(1)几何本质

矩阵乘法表示多次线性变换的复合,执行顺序从右至左:

C=AB⟺先施加变换 B,再施加变换 AC = AB \quad \Longleftrightarrow \quad \text{先施加变换}\ B\text{,再施加变换}\ AC=AB先施加变换 B,再施加变换 A

(2)形状规则

[m, n] @ [n, k] = [m, k][m,\ n]\ @\ [n,\ k]\ =\ [m,\ k][m, n] @ [n, k] = [m, k]

几何解读——两段变换串联为一段:

xk维→ B yn维→ A zm维\mathbf{x}_{k\text{维}} \xrightarrow{\ B\ } \mathbf{y}_{n\text{维}} \xrightarrow{\ A\ } \mathbf{z}_{m\text{维}}xk B  yn A  zm

中间维度 nnn 必须匹配:BBB 的输出维度须等于 AAA 的输入维度,两段变换方可衔接。结果矩阵保留起点维度 kkk 与终点维度 mmm,中间维度 nnn 被合并消去。

(3)注意

矩阵乘法不满足交换律

AB≠BAAB \neq BAAB=BA

变换的施加顺序不同,结果通常不同。


五、点积

(1)定义

a⋅b=∑iaibi=∣a∣∣b∣cos⁡θ\mathbf{a} \cdot \mathbf{b} = \sum_{i} a_i b_i = |\mathbf{a}||\mathbf{b}|\cos\thetaab=iaibi=a∣∣bcosθ

(2)几何含义

点积的几何本质是投影。b\mathbf{b}b 投影至 a\mathbf{a}a 的方向,所得投影长度与 ∣a∣|\mathbf{a}|a 之积即为点积。其值反映两向量方向的一致程度:

a b 投影 θ
点积结果 几何含义
>0> 0>0 两向量方向夹角小于 90°90°90°
=0= 0=0 两向量正交(垂直)
<0< 0<0 两向量方向夹角大于 90°90°90°

(3)常见应用

  • 判断正交:a⋅b=0⇒a⊥b\mathbf{a} \cdot \mathbf{b} = 0 \Rightarrow \mathbf{a} \perp \mathbf{b}ab=0ab
  • 计算夹角:cos⁡θ=a⋅b∣a∣∣b∣\cos\theta = \dfrac{\mathbf{a} \cdot \mathbf{b}}{|\mathbf{a}||\mathbf{b}|}cosθ=a∣∣bab
  • 求投影长度:proj=a⋅b∣a∣\text{proj} = \dfrac{\mathbf{a} \cdot \mathbf{b}}{|\mathbf{a}|}proj=aab

六、应用:Transformer 注意力机制

以上所有概念——向量、线性变换、矩阵乘法、点积——在 Transformer 的注意力机制中均有直接对应。

(1)背景:注意力机制在做什么

注意力机制的目标是:对于输入序列中的每个元素,计算它与其他所有元素的相关程度,再根据相关程度对信息进行加权聚合。

以句子"猫坐在垫子上"为例,处理"坐"这个词时,模型需要知道它和"猫"的相关程度高,和"上"的相关程度低——让每个词决定自己该关注哪些词、关注多少

(2)Q、K、V 的生成:线性变换

输入的每个词首先被表示为一个向量(词嵌入)。注意力机制对每个词的向量做三次线性变换,生成三个新向量:

Q=XWQ,K=XWK,V=XWVQ = XW_Q, \quad K = XW_K, \quad V = XW_VQ=XWQ,K=XWK,V=XWV

理解 Q、K、V,可以用图书馆借书来类比:

你手里拿着一张需求单(Q,Query),书架上每本书有一个标签(K,Key),书的内容是(V,Value)。你拿着需求单和每本书的标签比对,越匹配的书,你就借阅它越多的内容。

对应到"猫坐在垫子上",每个词同时拥有 Q、K、V 三个角色:

  • QQQ(Query,需求单):"坐"在说,我需要从其他词那里获取什么类型的信息
  • KKK(Key,标签):"猫"在说,我能提供什么类型的信息
  • VVV(Value,内容):“猫"实际贡献出去的语义向量——注意这不是"猫"的字面意思,而是词嵌入经 WVW_VWV 变换后编码的语义特征(如"生物”、"主语候选"等)

Q 和 K 做点积,判断信息需求与信息供给是否匹配;匹配程度决定从对应 V 中借取多少内容。

(3)注意力分数:点积衡量相关程度

用"坐"的 QQQ 和所有词的 KKK 分别做点积,得到一组相关程度分数:

score(坐, 每个词)=Q坐⋅K每个词T\text{score}(\text{坐},\ \text{每个词}) = Q_{\text{坐}} \cdot K_{\text{每个词}}^Tscore(, 每个词)=QK每个词T

点积越大,方向越一致,相关程度越高——正是今天学的点积几何含义的直接应用。例如:

  • Q坐⋅K猫TQ_{\text{坐}} \cdot K_{\text{猫}}^TQKT 结果大 → "坐"与"猫"高度相关
  • Q坐⋅K上TQ_{\text{坐}} \cdot K_{\text{上}}^TQKT 结果小 → "坐"与"上"相关程度低

计算完所有分数后,除以 dk\sqrt{d_k}dk (防止数值过大),再经 Softmax 归一化,得到一组和为 1 的注意力权重

α=Softmax(Q坐KTdk)=[0.6, 0.05, 0.25, 0.05, 0.05]\alpha = \text{Softmax}\left(\frac{Q_{\text{坐}} K^T}{\sqrt{d_k}}\right) = [0.6,\ 0.05,\ 0.25,\ 0.05,\ 0.05]α=Softmax(dk QKT)=[0.6, 0.05, 0.25, 0.05, 0.05]

对应"猫、坐、在、垫子、上"五个词,表示"坐"对每个词的关注程度。

(4)加权聚合:矩阵乘法融合信息

有了注意力权重 α\alphaα,再用它对所有词的 VVV加权求和

输出坐=α猫⋅V猫+α坐⋅V坐+α在⋅V在+⋯\text{输出}_{\text{坐}} = \alpha_{\text{猫}} \cdot V_{\text{猫}} + \alpha_{\text{坐}} \cdot V_{\text{坐}} + \alpha_{\text{在}} \cdot V_{\text{在}} + \cdots输出=αV+αV+αV+

权重高的词(“猫”,0.6)贡献的语义多,权重低的词(“上”,0.05)贡献的语义少。“坐"的输出向量因此融合了"猫"的大量语义——模型得知了"是猫在坐”。

写成矩阵乘法:

Output=αV\text{Output} = \alpha VOutput=αV

α\alphaα 是注意力权重矩阵,VVV 是所有词的 Value 向量堆叠成的矩阵,两者相乘完成加权聚合。完整公式为:

Attention(Q,K,V)=Softmax(QKTdk)V\text{Attention}(Q,K,V) = \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)VAttention(Q,K,V)=Softmax(dk QKT)V

(5)对应关系总结

今天学的概念 在注意力机制中的对应
向量 词嵌入、Q / K / V
线性变换(矩阵) 权重矩阵 WQ、WK、WVW_Q、W_K、W_VWQWKWV 生成 Q、K、V
点积衡量方向一致程度 QKTQK^TQKT 计算词与词的相关程度
矩阵乘法 注意力权重 α\alphaαVVV 相乘,完成信息聚合

总览

向量(空间中的有向线段)
  ├─ 加法:运动的叠加
  ├─ 数乘:方向不变的缩放
  └─ 点积:两向量方向一致程度的度量(投影)

基向量
  ├─ 线性无关 → 张成完整空间
  └─ 线性相关 → 退化至低维子空间

矩阵(线性变换的说明书)
  ├─ 每列:基向量变换后的新位置
  ├─ 列数:输入维度 / 行数:输出维度
  └─ 矩阵乘法:变换的复合,从右至左执行
        [m, n] @ [n, k] = [m, k]
        k维 → n维(中转)→ m维

注意力机制(线性代数的综合应用)
  ├─ Q、K、V 生成:三次线性变换
  ├─ 注意力分数:点积衡量相关程度
  └─ 加权聚合:注意力权重矩阵 × V 矩阵
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐