组成
向量:提供了表示(如何组织数据)。
概率:提供了度量(如何处理不确定性)。
秩:提供了本质(如何找到核心结构)
向量——将图像转化为数学对象
图像识别的起点,是把一张图片变成一个计算机能处理的向量。
- 原始表示:一张 1000×1000 像素的彩色图片,可以看作一个 1000×1000×3 (宽×高×RGB通道)的三维张量。将其拉直,就是一个 300万维 的原始特征向量 x。向量的每个维度,就是一个像素点在某个通道上的亮度值(0-255)。
- 问题:这个原始向量是无效的。直接比较两张图的原始像素向量,即使图片只平移了一个像素,结果也会天差地别,但语义上它们可能完全相同。这就需要我们寻找更高级的向量表示。深度卷积网络的核心任务,正是学习一个函数 f(x) = v,将原始像素向量 x,映射到一个低维、密集、有语义的特征向量 v。例如,在经典人脸识别中,最后输出的是一个128维或512维的向量,这个向量就是“人脸指纹”。
- 关键特性:在这个向量空间里,同一人的不同照片(不同角度、光照)对应的向量,在几何上距离很近;而不同人的照片对应的向量,则被推得很远。这个特性是通过损失函数(如Triplet Loss,即三元组损失)形式化定义和约束的。
概率论——量化预测的置信度
有了特征向量 v 后,图像识别模型的下一个任务通常是做出决策(如“这是猫”、“这是狗”)。概率论为此提供了完美的数学框架。
- 分类头:将特征向量 v(例如512维)输入到一个全连接层,该层有一个权重矩阵 W,其形状为 类别数 × 512。
- Softmax 归一化:计算 z = Wv + b,得到一个维度等于类别数的向量 z(称为logits,即未归一化的对数概率)。再通过 Softmax 函数将z转换为一个概率分布p:p(类别_i | 图像) = exp(z_i) / Σ_j exp(z_j)
- 概率输出:最终输出是诸如 [P(猫)=0.85, P(狗)=0.10, P(鸟)=0.05] 的结果。
- 形式化价值:概率输出提供了不确定性估计。[0.85, 0.10, 0.05] 与 [0.45, 0.44, 0.11] 提供了完全不同的信息。后者意味着模型“很困惑”,可能输入是一张模糊或包含未知物体(如“汽车”)的图片。这对于安全关键系统(如自动驾驶)至关重要
秩——揭示模型的本质能力
我们将最重要的概念秩引入图像识别。秩是衡量一个矩阵中包含的“有效信息”或“本质复杂度”的指标。在图像识别中,秩在两个层面发挥着关键作用。
-
层面一:数据层面的低秩本质(模型看到的世界)
一张自然图像(如人脸、汽车、猫)的像素矩阵,其数学上的秩通常非常低。
解释:这意味着像素之间存在极强的相关性。例如,天空的蓝色区域中,相邻像素几乎一样。人脸皮肤区域,颜色平滑变化。这些相关性形成了结构,而结构就是信息。随机噪声(如电视雪花)的矩阵则是满秩的,因为它没有结构。
结论:图像识别模型的工作,本质上就是从高维、冗余的像素空间中,提取出那个低维、紧凑、包含了全部语义信息的“隐藏结构”。这个“隐藏结构”的维度,就是我们需要的有效秩。 -
层面二:模型层面的低秩约束(模型如何学习)
模型内部的权重矩阵(如卷积核、全连接层)也呈现出低秩特性。
模型压缩(低秩近似):一个训练好的 1000×1000 的权重矩阵 W,其有效秩可能只有100。我们可以将其近似分解为两个小矩阵的乘积:W ≈ A·B,其中 A 是 1000×100,B 是 100×1000。
收益:参数量从 1000×1000=1e6 降到 1000×100 + 100×1000 = 200,000,减少了 80%!这被称为低秩分解,是模型在手机上运行的关键技术。
防止过拟合(正则化):在训练中,我们鼓励权重矩阵保持低秩。因为高秩的权重矩阵可以记住训练集中的每一个噪声细节(过拟合),而低秩的权重矩阵被迫只保留最重要的、跨样本共有的模式(泛化)。这就像用一条直线(秩1)去拟合一堆大致在一条线上的点,而不会去画一条曲折的线(高秩)穿过每一个点。
表征能力的度量:一个层的最优秩,决定了它能学习的特征复杂度。浅层网络(检测边缘、颜色)所需的有效秩较低;深层网络(检测眼睛、车轮)所需的有效秩则高得多。