机器人具身智能本质上是在高维向量空间中做决策:相机图像被编码成向量,语言指令被编码成向量,机器人状态也是向量,而控制策略、神经网络权重本质上都是矩阵运算。本节的目标,是让读者掌握这些“向量–矩阵世界”的基本语法,并能把它们自然联想到后面关于深度学习、强化学习和机器人控制的内容。
1.1.1 向量与矩阵运算(内积、范数、矩阵分块)
1.1.1.1 内积(点积)的定义与几何意义(投影、正交)
在实数空间 \(\mathbb{R}^n\) 中,两个列向量
\[ \mathbf{x} = \begin{bmatrix} x_1\ \vdots\ x_n \end{bmatrix},\quad \mathbf{y} = \begin{bmatrix} y_1\ \vdots\ y_n \end{bmatrix} \]
的内积(点积) 定义为:
\[ \mathbf{x}^\top \mathbf{y} = \sum_{i=1}^n x_i y_i. \]
这是一个非常简单的代数运算,但它有关键的几何意义:
-
记 \(|\mathbf{x}|\) 和 \(|\mathbf{y}|\) 为向量的长度(\(L_2\) 范数,见下一小节),\(\theta\) 为两向量的夹角,则有
\[ \mathbf{x}^\top \mathbf{y} = |\mathbf{x}||\mathbf{y}| \cos\theta. \]
也就是说,内积同时编码了长度 和方向相似度:
- 若 \(\mathbf{x}^\top \mathbf{y} > 0\):夹角小于 \(90^\circ\),大致“同向”;
- 若 \(\mathbf{x}^\top \mathbf{y} < 0\):夹角大于 \(90^\circ\),大致“反向”;
- 若 \(\mathbf{x}^\top \mathbf{y} = 0\):夹角为 \(90^\circ\),称为正交(orthogonal)。
-
投影:向量 \(\mathbf{y}\) 在方向 \(\mathbf{x}\) 上的投影为
\[ \operatorname{proj}_{\mathbf{x}}(\mathbf{y}) = \frac{\mathbf{x}^\top \mathbf{y}}{|\mathbf{x}|^2}\mathbf{x}. \]
系数 \(\dfrac{\mathbf{x}^\top \mathbf{y}}{|\mathbf{x}|^2}\) 表示 \(\mathbf{y}\) 在 \(\mathbf{x}\) 方向上“有多少”。
【图 1-1 占位:二维平面中两个向量 \(\mathbf{x}\)、\(\mathbf{y}\),示意 \(\mathbf{y}\) 在 \(\mathbf{x}\) 方向上的投影,并标出夹角 \(\theta\)。】
在机器人具身智能中,内积有许多直接应用:
- 在视觉–语言模型 中,图像与文本被编码为向量,常用它们的 归一化内积(余弦相似度) 衡量句子是否描述了这张图。
- 在机器人控制 中,速度向量在某个轴上的分量,就是速度向量与该轴的单位向量的内积;比如沿机械臂某个关节轴的线速度,正是速度在该方向上的投影。
1.1.1.2 向量范数的定义、常见类型及物理含义
直观上,范数(norm) 就是向量“有多大”的度量。形式上,范数是从向量空间到非负实数的函数 \(|\cdot|\),并满足三个性质:非负性、齐次性和三角不等式。(维基百科)
常见的向量范数包括:
-
L2 范数(欧几里得范数)
\[ |\mathbf{x}|_2 = \sqrt{\sum_{i=1}^n x_i^2}. \]
这是我们最熟悉的“直线距离”,在几何上就是从原点到点 \(\mathbf{x}\) 的直线长度(ApX Machine Learning)。 物理上可以理解为位移长度 、速度大小 、力的大小 等。
-
L1 范数(曼哈顿范数)
\[ |\mathbf{x}|_1 = \sum_{i=1}^n |x_i|. \]
可以理解为沿坐标轴走到该点时所需要走的“总路程”,类似在棋盘或城市街区中只能沿南北东西方向走路的距离。
-
\(L_\infty\) 范数(最大范数)
\[ |\mathbf{x}|_\infty = \max_i |x_i|. \]
表示所有坐标分量中绝对值最大的那一个,常用来度量最坏方向上的误差 。
在机器学习和机器人领域:
- L2 范数常用于定义损失函数中的距离,如均方误差(MSE),或在正则项中约束参数大小;
- L1 范数常用于稀疏性正则(Lasso),鼓励模型把某些参数压到 0;
- 在移动机器人导航中,如果机器人只能在网格上上下左右移动,路径长度往往更接近 L1 范数而非 L2 范数。
1.1.1.3 矩阵的基本运算与分块方法
矩阵 可以看作是数字的二维数组,也可以看作从一个向量空间到另一个向量空间的线性变换的表示。
-
若 \(A\in\mathbb{R}^{m\times n}\),\(B\in\mathbb{R}^{m\times n}\),则
- 矩阵加法:\((A+B)_{ij} = A_{ij}+B_{ij}\);
- 标量乘法:\((\alpha A)_{ij} = \alpha A_{ij}\)。
-
若 \(A\in\mathbb{R}^{m\times n}\),\(B\in\mathbb{R}^{n\times p}\),则矩阵乘法 \(C=AB\in\mathbb{R}^{m\times p}\) 定义为
\[ C_{ij} = \sum_{k=1}^n A_{ik} B_{kj}. \]
这对应于先做变换 \(B\),再做变换 \(A\):对向量 \(\mathbf{x}\),有 \(AB\mathbf{x} = A(B\mathbf{x})\)。
在机器人中,一个矩阵可以表示坐标变换 、刚体运动线性化后的雅可比矩阵 等,多个矩阵相乘就是连续施加多个变换。
矩阵分块(block matrix)是处理大矩阵的常用技巧。 例如,将一个 \(m\times n\) 矩阵按行列分成四块:
\[ A= \begin{bmatrix} A_{11} & A_{12}\ A_{21} & A_{22} \end{bmatrix}, \]
其中 \((A_{11})\) 是上左角的小矩阵,\((A_{12}, A_{21}, A_{22})\) 类似。对分块矩阵的相加、相乘遵循“块”层面的同样规则(尺寸匹配时)。
【图 1-2 占位:示意一个大矩阵被分成 2×2 的四个子矩阵块,每块用不同颜色标记。】
在实际工程中,分块可以自然地把系统拆成“状态–控制”“位置–速度”等部分,有助于推导和实现复杂控制算法。
1.1.2 线性变换与基变换、子空间概念
1.1.2.1 线性变换的定义及矩阵表示
设 \(T:\mathbb{R}^n\to\mathbb{R}^m\),如果对任意向量 \(\mathbf{x},\mathbf{y}\) 和任意标量 \(\alpha\) 都有
\[ T(\mathbf{x} + \mathbf{y}) = T(\mathbf{x}) + T(\mathbf{y}),\quad T(\alpha \mathbf{x}) = \alpha T(\mathbf{x}), \]
则称 \(\displaystyle T\) 为一个线性变换 。
在给定的一组基(如标准基)下,每个线性变换都可以用一个矩阵 \(A\in \mathbb{R}^{m\times n}\) 来表示,使得
\[ T(\mathbf{x}) = A\mathbf{x}. \]
常见的几类线性变换及其矩阵表示:
-
缩放(沿坐标轴伸缩)
\[ A = \begin{bmatrix} s_x & 0\ 0 & s_y \end{bmatrix} \Rightarrow \begin{bmatrix} x’\ y’ \end{bmatrix} =\begin{bmatrix} s_x x\ s_y y \end{bmatrix}. \]
-
二维旋转(绕原点旋转角度 \(\theta\))
\[ R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta\ \sin\theta & \cos\theta \end{bmatrix}. \]
【图 1-3 占位:二维平面上展示一个向量经过旋转矩阵作用前后的关系,标注旋转角度 \(\theta\)。】
在机器人学中,我们会大量使用“旋转矩阵 + 平移向量”来描述姿态与坐标变换,都是线性代数在三维空间的具体体现(详见第 6 章)。
1.1.2.2 基变换(坐标系转换)
基(basis) 是一组线性无关的向量,它们的线性组合可以表示空间中的任意向量。 在 \(\mathbb{R}^2\) 中,标准基是
\[ \mathbf{e}_1= \begin{bmatrix} 1\ 0 \end{bmatrix},\quad \mathbf{e}_2= \begin{bmatrix} 0\ 1 \end{bmatrix}. \]
但我们也可以选用别的基,例如 \(\mathbf{b}_1 = \begin{bmatrix}1\1\end{bmatrix},\ \mathbf{b}_2=\begin{bmatrix}-1\1\end{bmatrix}\),它们同样线性无关,也能生成整个平面。
同一个几何向量,在不同基下的坐标不同。 如果 \({\mathbf{e}_i}\) 与 \({\mathbf{b}_i}\) 是两组基,令
\[ P = [\mathbf{b}_1\ \mathbf{b}_2\ \cdots\ \mathbf{b}_n] \]
即把新基向量按列排成矩阵,则对任意向量 \(\mathbf{v}\),它在标准基下的坐标 \([\mathbf{v}]_{\text{std}}\) 与在新基下的坐标 \([\mathbf{v}]_{\text{new}}\) 关系是:
\[ [\mathbf{v}]_{\text{std}} = P,[\mathbf{v}]_{\text{new}},\quad [\mathbf{v}]_{\text{new}} = P^{-1},[\mathbf{v}]_{\text{std}}. \]
【图 1-4 占位:二维平面中,原来的 x–y 坐标系与旋转后的新坐标系 \(\mathbf{b}_1,\mathbf{b}_2\),同一个点在两套坐标系中的表示。】
在机器人中:
- 不同关节、末端执行器、摄像头都有自己的坐标系;
- “手眼标定”就是精确计算这些坐标系之间的变换(后面第 6 章、3 章会反复出现);
- 基变换的本质,就是把向量在不同“观察视角”下重新表达。
1.1.2.3 向量子空间与维度
一个非空子集 \(U\subseteq \mathbb{R}^n\),若对任意 \(\mathbf{x},\mathbf{y}\in U\) 和任意标量 \(\alpha,\beta\),有
\[ \alpha \mathbf{x} + \beta \mathbf{y} \in U, \]
则称 \(\displaystyle U\) 为一个向量子空间 。
简单例子:
- 通过原点的一条直线(如所有 \(\displaystyle (t,2t)\) 的集合)是 \(\mathbb{R}^2\) 的一维子空间;
- 通过原点的一张平面是 \(\mathbb{R}^3\) 的二维子空间。
维度(dimension) 是指一组基中向量的个数,也就是子空间中“互相独立方向”的数目。维度可以理解为这个子空间所需的自由度 个数。
与矩阵相关的典型子空间包括:
- 列空间(column space):所有列向量的线性组合,表示线性变换输出可能落在的子空间;
- 零空间 / 核(null space):所有满足 \(A\mathbf{x}=0\) 的向量集合,表示“被变换压缩成 0 的方向”。
线性代数中的一个重要结果(秩–零化度定理)表明: 对 \(A:\mathbb{R}^n\to\mathbb{R}^m\),有
\[ \dim(\text{Im}(A)) + \dim(\text{Ker}(A)) = n, \]
即“输出空间维度 + 被压扁成 0 的方向数 = 原空间维度”。这在理解“冗余自由度”“约束”等概念时非常有用。
1.1.3 特征值、特征向量与对角化
1.1.3.1 特征值与特征向量的定义和求解
给定一个 \(n\times n\) 矩阵 \(\displaystyle A\),非零向量 \(\mathbf{v}\in\mathbb{R}^n\) 若满足
\[ A\mathbf{v} = \lambda \mathbf{v} \]
其中标量 \(\lambda\) 为实数(或复数),则称 \(\mathbf{v}\) 是 \(\displaystyle A\) 的一个特征向量(eigenvector),\(\lambda\) 是对应的** 特征值(eigenvalue)**。
几何含义:在变换 \(\displaystyle A\) 下,大多数向量的方向都会改变,但特征向量的方向保持不变,仅被拉伸或压缩了一个倍数 \(\lambda\) 。这使得特征向量成为“最容易理解的方向”。
求解方法(简要):
- 将方程改写为 \((A - \lambda I)\mathbf{v} = 0\)。
- 要有非零解,需要 \(\det(A - \lambda I) = 0\)。 这得到关于 \(\lambda\) 的多项式,称为特征多项式 。
- 解出所有特征值 \(\lambda_i\),再对每个 \(\lambda_i\) 解线性方程组 \((A-\lambda_i I)\mathbf{v}=0\),得到对应的特征向量。
特征值分解(eigendecomposition)正是围绕这些特征值、特征向量对矩阵进行因式分解,是后续对角化和 SVD、PCA 的基础。(维基百科)
在动态系统中,\(|\lambda|>1\) 的特征值通常对应不稳定方向,\(|\lambda|<1\) 对应收缩方向,这在分析机器人控制系统的稳定性时非常重要。
1.1.3.2 矩阵对角化
若一个 \(n\times n\) 矩阵 \(\displaystyle A\) 有 \(\displaystyle n\) 个线性无关的特征向量 \(\mathbf{v}_1,\dots,\mathbf{v}_n\),将它们按列组成矩阵
\[ P = [\mathbf{v}_1,\mathbf{v}_2,\cdots,\mathbf{v}_n], \]
再将对应特征值排成对角矩阵
\[ \Lambda = \operatorname{diag}(\lambda_1,\dots,\lambda_n), \]
则有
\[ A = P\Lambda P^{-1}. \]
这称为矩阵的对角化,也称为特征分解的一种形式。(维基百科)
- 若 \(\displaystyle A\) 是实对称矩阵(\(A=A^\top\)),则由谱定理可知:
- 所有特征值均为实数;
- 可选择一组正交特征向量,此时 \(\displaystyle P\) 是正交矩阵(\(P^{-1}=P^\top\)), 对角化形式为 \(A = P\Lambda P^\top\)。(维基百科)
【图 1-5 占位:示意矩阵 \(\displaystyle A\) 通过对角化表示为“先在特征向量基下坐标变换 \((P^{-1})\) ,再沿坐标轴缩放 \(\Lambda\),再变回原基 \(\displaystyle P\)”的几何图。】
不是所有矩阵都能对角化;如果特征向量数量不够(例如出现“缺陷矩阵”),就不能写成上述形式。
1.1.3.3 对角化在计算中的作用
对角化最大的好处,是把复杂的矩阵运算变成了逐元素的标量运算 。例如:
-
计算矩阵高次幂 若 \(A=P\Lambda P^{-1}\),则
\[ A^k = P\Lambda^k P^{-1}, \]
而 \(\Lambda^k\) 仅需把对角线元素 \(\lambda_i\) 各自做 \(\displaystyle k\) 次方即可。
-
计算函数 \(f(A)\)(如指数矩阵 \((e^A)\)、多项式 \((A^2 + A + I)\) 等)也可以通过
\[ f(A) = P f(\Lambda) P^{-1} \]
实现,其中 \(f(\Lambda)\) 对角线上为 \(f(\lambda_i)\)。
在机器学习和机器人中,对角化及其推广(如谱分解、SVD)经常用于:
- 分析协方差矩阵,得到主成分(即 PCA);
- 对系统的线性近似进行模态分解,识别系统的主振动模式或主变化方向;
- 简化数值计算,提高算法稳定性。
1.1.4 奇异值分解(SVD)与主成分分析(PCA)
1.1.4.1 奇异值分解的形式及各部分含义
对任意实矩阵 \(A\in \mathbb{R}^{m\times n}\),总可以写成
\[ A = U\Sigma V^\top, \]
其中:
- \(U\in\mathbb{R}^{m\times m}\):列向量为左奇异向量,构成一个正交基(\(U^\top U = I_m\));
- \(V\in\mathbb{R}^{n\times n}\):列向量为右奇异向量,也构成正交基(\(V^\top V = I_n\));
- \(\Sigma\in\mathbb{R}^{m\times n}\):对角矩阵(主对角线非负,其他为 0),对角线元素 \(\sigma_1\ge \sigma_2\ge \dots\ge 0\) 称为奇异值(singular values) 。(维基百科)
几何上,SVD 可以理解为:
- \(V^\top\):在输入空间中做一次旋转(或反射),把坐标轴对齐到“最重要方向”上;
- \(\Sigma\):沿这些坐标轴进行不同程度的缩放(奇异值大小);
- \(\displaystyle U\):在输出空间中再做一次旋转(或反射)。
【图 1-6 占位:二维椭圆通过 SVD 分解为“旋转–拉伸–再旋转”的示意,标出左右奇异向量及奇异值。】
重要性质:\(A^\top A\) 与 \(AA^\top\) 的特征分解与 SVD 紧密相关,\(\sigma_i^2\) 是 \(A^\top A\) 的特征值,这一性质直接连接到 PCA。
1.1.4.2 主成分分析利用 SVD 降维
主成分分析(PCA) 是经典的线性降维方法。给定数据矩阵 \(X \in \mathbb{R}^{N\times d}\)(N 条样本,每条 d 维特征),经过中心化(每列减去均值)后,其协方差矩阵为
\[ C = \frac{1}{N} X^\top X. \]
PCA 的目标是寻找一组正交方向,使得数据在这些方向上的方差最大 。可以证明,这些方向正是协方差矩阵 \(\displaystyle C\) 的特征向量,而对应特征值大小反映在该方向上的方差大小。(维基百科)
另一方面,对中心化后的 \(\displaystyle X\) 做 SVD:
\[ X = U\Sigma V^\top, \]
则:
- \(\displaystyle V\) 的列向量就是 PCA 的主成分方向;
- \(\Sigma\) 的对角线元素与各主成分上的方差成正比。
因此,PCA 实际上可以通过 SVD 来高效实现:取前 \(\displaystyle k\) 个最大的奇异值及对应的右奇异向量,就能将数据从 \(\displaystyle d\) 维降到 \(\displaystyle k\) 维,且在均方误差意义下是最优的低秩近似(Eckart–Young 定理) 。(arXiv)
1.1.4.3 SVD/PCA 在图像和数据降维中的应用示例
-
图像压缩 将一张灰度图像表示成矩阵 \(\displaystyle A\)(行列为像素坐标,元素为灰度值),做 SVD:
\[ A \approx U_k \Sigma_k V_k^\top \]
只保留前 \(\displaystyle k\) 个奇异值和对应列向量,就得到一个秩为 \(\displaystyle k\) 的近似。这时:
【图 1-7 占位:左图原始图像,中间为 rank-5 近似,右图为 rank-20 近似,对比可视化 SVD 压缩效果。】
- 存储量从原来的 \(mn\) 降到大约 \(k(m+n)\);
- 若选择合适的 \(\displaystyle k\),肉眼几乎感觉不到图像质量下降。
- 数据去噪与可视化 在高维数据中,噪声通常分布在方差较小的方向上。PCA 只保留方差较大的前几个主成分,可以自动抑制噪声,同时把数据降到 2D/3D 以利于可视化。
- 机器人与具身智能中的应用
- 将高维视觉特征、关节状态组合成的状态向量压缩到低维“任务子空间”,从而提高强化学习、控制算法的效率;
- 在多机器人的大规模示教数据中,用 PCA/SVD 发现最主要的运动模式。
1.1.5 在线性代数视角下理解深度学习(表示空间、低秩近似)
1.1.5.1 向量表示空间
深度学习中,“向量表示(embedding)”几乎无处不在:
- 自然语言中的词、句子通过嵌入层映射到 \(\mathbb{R}^d\);
- 图像经过卷积网络或视觉 Transformer 编码后变成特征向量;
- 机器人状态(关节角、速度、力、接触信息等)也常被进一步映射到一个“潜在空间”。
在这些表示空间中:
- 内积/余弦相似度衡量两个对象在语义上的接近程度;
- 线性组合 \(\alpha \mathbf{v}_1 + \beta \mathbf{v}_2\) 可以看作是“在语义上介于两者之间”的某种插值;
- 子空间可以表示某类特定属性(例如“抓取相关特征子空间”“语言指令中的空间关系子空间”)。
从线性代数角度看,大模型的许多“奇妙能力”,例如插值生成、线性属性操作(如词向量中的“king - man + woman ≈ queen”现象),都依赖于向量空间结构良好的几何性质。
1.1.5.2 低秩近似
秩(rank) 反映了矩阵中“真正独立的方向”的个数。许多深度模型的权重矩阵在训练后实际上是“接近低秩”的:虽然形状可能是 \(d\times d\),但有效信息主要集中在少数几个方向上。
对权重矩阵 \(W \in \mathbb{R}^{m\times n}\) 做 SVD:
\[ W = U\Sigma V^\top, \]
只保留前 \(\displaystyle k\) 个奇异值和向量,得到 \((W_k)\):
\[ W_k = U_k\Sigma_k V_k^\top, \]
它是 \(\displaystyle W\) 在 Frobenius 范数意义下的最优秩 \(\displaystyle k\) 近似 。(arXiv)
工程上常用的做法是直接把矩阵分解为两个较小的矩阵:
\[ W \approx AB^\top,\quad A\in\mathbb{R}^{m\times k},\ B\in\mathbb{R}^{n\times k}, \]
这样原本 \(mn\) 个参数变成 \(k(m+n)\) 个,当 \(k\ll \min(m,n)\) 时会大幅降低参数量和计算量。这类思想在:
- 模型压缩与加速(如卷积核低秩近似、Transformer 的低秩注意力);
- 参数高效微调(如 LoRA、Adapter 等将在第 2 章详细介绍)
中被广泛使用。
【图 1-8 占位:示意一个大的权重矩阵被分解为两个瘦长矩阵相乘,说明参数数量减少。】
1.1.5.3 利用特征向量理解神经网络权重矩阵的模式
线性代数还可以帮助我们理解深度网络“学到了什么”。
- 对一个层的权重矩阵 \(\displaystyle W\) 做 SVD,右奇异向量(或特征向量)对应输入空间的“主要变化方向”,左奇异向量对应输出空间的“主要响应模式”;奇异值大小则表明该方向的重要性。(维基百科)
- 在卷积层中,将卷积核视作矩阵后做 SVD,可以发现网络偏好检测的纹理、边缘、方向等模式。
- 在机器人控制中,对线性化后的动力学模型矩阵(如雅可比矩阵、惯量矩阵)进行特征分解,可以识别出“容易运动的方向”和“难以运动的方向”,有利于设计更高效的控制策略。
这些分析方法为后续章节中的“可解释性”“模型诊断”“控制稳定性分析”提供了理论工具。
本节从向量与矩阵的基本运算出发,逐步引入了线性变换、子空间、特征值与特征向量、SVD 与 PCA,并点到为止地联系了深度学习和机器人具身智能中的典型应用。在后续章节中,我们会在模型结构、优化算法、视觉–语言–动作表示等具体场景中反复使用这些概念;熟练掌握本节内容,就掌握了进入 VLA 与机器人学习世界所需的“线性代数通行证”。