Skip to content

深度学习为什么能从海量维度的数据中发现规律?

约 3400 字大约 11 分钟

技术专栏

2026-11-04

从维度灾难到流形假设,理解机器学习如何找到复杂数据背后的秩序

一张普通的照片,在人眼看来可能是一只猫、一辆汽车或者一座桥。但对计算机来说,它首先是一组数字。

假设一张照片的分辨率是 1000 × 1000,每个像素用一个数值表示,那么整张图片就包含 100 万个特征。换句话说,我们可以把它看作一个 100 万维空间中的点。

博苑股份的布林带案例
三张不同结构的 100×100 黑白图片。左侧是一只可以辨认的猫,黑色像素约占 16%;中间是约 50% 黑色像素的随机噪声;右侧是约 16% 黑色像素的随机噪声。对比说明,决定图片是否可识别的,不只是黑色像素的数量,还有它们的排列方式。

如果再考虑颜色、光照、拍摄角度等因素,数据的表示会更加复杂。

问题来了:机器学习究竟是怎么从这么多维度的数据中找到规律的?

从计算机专业的角度看,这是一个很有意思的问题。我们知道,维度越高,数据空间就越庞大,想要用有限的样本覆盖整个空间,难度会迅速增加。按照直觉,深度学习似乎应该很难从这样的数据中学到可靠的东西。

但现实恰好给出了另一个答案。今天的图像识别、语音识别和大语言模型,都在处理规模庞大、维度复杂的数据,并且取得了相当不错的效果。

这背后有一个值得了解的数学思想:流形假设(Manifold Hypothesis)。

它试图解释一个现象:现实世界中的数据,虽然可以用很高的维度表示,但真正有意义的变化,往往受到一些隐藏结构的约束。

一、维度越高,为什么机器学习反而越难?

先从一个简单的数学问题说起。

假设我们有一个边长为 1 的正方形,希望在里面均匀采样。如果每个方向划分成 10 份,就能得到 100 个小区域。

如果换成三维立方体,同样每个方向划分成 10 份,就需要 1000 个小区域。

到了 10 维空间,这个数字就变成了 100 亿。

每增加一个维度,为了维持相同的采样密度,所需的样本数量都会成倍增长。

这就是机器学习中著名的维度灾难(Curse of Dimensionality)。

它带来的直接问题是数据稀疏。即使我们拥有大量样本,在一个高维空间里,这些样本仍然可能显得非常稀少。

还有一个不那么直观的现象:在某些高维数据分布中,样本之间的距离会逐渐趋于相似。原本用于判断数据相似性的距离指标,可能因此失去区分能力。

这对依赖距离计算的算法尤其不利。

从工程角度看,这意味着我们不能简单地认为,增加特征数量就一定能提高模型效果。无关特征、冗余信息和数据噪声,都可能增加学习难度。

那么问题就来了:现实中的图像、语音和文本,为什么没有让机器学习陷入这种困境?

二、流形假设:高维数据背后存在隐藏结构

理解这个问题,可以先想象一张纸。

一张纸生活在三维空间中,但描述纸面上的一个点,只需要两个坐标。无论这张纸如何弯曲、卷起来,它自身的内在维度仍然是二维。

这里涉及两个概念:

  • 环境维度(Ambient Dimension):数据所在空间的维度。
  • 内在维度(Intrinsic Dimension):描述数据自身变化所需的独立维度数量。

这个例子很简单,但它提供了一个重要的思考角度。

我们再来看一张人脸照片。

一张照片可能包含上百万个像素,但这些像素并不是彼此独立的。一个人的脸转向左侧,眼睛、鼻子、耳朵和脸部轮廓都会按照一定的几何关系发生变化。光线、表情、姿态等因素,也会共同影响最终的图像。

一张女性人像
一张女性人像。说明虽然人脸由大量像素构成,但可识别的人脸受到姿态、光照、表情和面部几何结构等因素的约束。图片来源:pexels

这些因素之间存在关联和约束。

所以,尽管一张照片可以用上百万个数值表示,所有可能的人脸照片却不太可能均匀分布在整个高维空间中。它们更可能集中在其中某个复杂的低维结构附近。

这就是流形假设的核心思想:

真实世界中的高维数据,往往集中在高维空间中的低维流形附近。

这里的低维,不意味着数据简单。流形可以弯曲、扭转,具有复杂的非线性结构。它只是说明,数据中真正独立的变化因素,可能远少于我们用来表示数据的变量数量。

从这个角度看,机器学习面对的任务就有了新的解释:虽然原始数据的维度很高,但其中存在一些稳定的关联和结构,可以帮助模型从有限样本中学习规律。

当然,流形假设是一种有用的理论视角,并不意味着所有真实数据都严格位于某个低维流形上。

三、深度学习的杀手锏:让模型自己学习特征

流形假设解释了数据为什么可能存在隐藏结构,但还有一个实际问题:机器怎么找到这些结构?

这就涉及深度学习的一项核心能力:表示学习(Representation Learning)。

在传统机器学习中,特征工程往往需要大量人工参与。

例如,早期的图像识别系统需要工程师设计边缘检测、纹理描述、角点检测等特征,再把这些特征交给分类算法。

这对工程师的领域知识和经验要求很高。特征选得好不好,往往会直接影响模型效果。

深度学习改变了这个过程。

神经网络通过多层非线性变换,不断调整数据的内部表示。训练过程中,模型根据任务目标和数据反馈更新参数,逐步形成对当前任务有用的特征。

以图像识别为例,我们可以粗略地把它理解为:

  • 输入层接收原始像素。
  • 中间层逐步学习边缘、纹理和局部形状等特征。
  • 更深层的网络组合这些特征,形成更抽象的表示。
  • 最后利用这些表示完成分类或预测。

这里最值得关注的是,特征的形成过程不再完全依赖人工设计。

模型可以通过大量样本和训练目标,逐步找到哪些信息对任务有用,以及不同特征之间应该建立怎样的联系。

当然,网络内部的表示不一定是简单的降维结果。有些网络的中间层维度甚至会高于输入维度。关键在于,模型学到的表示能否让相关任务变得更容易。

我认为,深度学习最重要的工程突破之一,就是把特征表示从一个高度依赖人工经验的环节,部分转变成了可以通过数据和训练过程自动优化的环节。

这也是深度学习能够处理复杂数据的重要原因。

四、数据有结构,不代表模型一定能学好

流形假设听起来很有解释力,但不能因此得出一个简单结论:只要数据存在隐藏结构,机器就一定能找到它。

这里至少还有三个问题需要考虑。

(1)隐藏结构可能非常复杂。

低维不等于容易学习。一个低维流形仍然可能具有复杂的非线性形态,有限样本未必能够覆盖它的关键区域。

(2)模型学到的结构受到训练目标的影响。

例如,一个图像分类模型需要区分猫和狗。它会重点学习有助于完成这个任务的特征,但不一定会保留图像中所有有意义的信息。

换一个任务,同一批数据可能需要完全不同的表示方式。

(3)也是工程实践中经常遇到的问题:训练数据能否代表真实环境?

假设一个自动驾驶模型主要使用晴天道路照片训练,那么即使它在测试集上表现很好,遇到大雨、浓雾、夜间或者特殊路况时,仍然可能出现问题。

这涉及机器学习中的泛化能力(Generalization)。

模型需要处理的,是训练过程中没有见过的新样本。训练数据中的统计规律能否延伸到这些新场景,决定了模型能不能真正落地。

因此,数据规模、特征维度和模型参数量都很重要,但它们不能单独决定模型的实际能力。数据质量、分布覆盖、训练目标和模型结构同样关键。

五、从流形假设看今天的大语言模型

把视角从图像识别转向大语言模型,会发现类似的问题。

语言经过词元化和向量化之后,可以被表示为高维向量。Transformer 通过注意力机制和多层网络,持续更新这些向量表示,让模型能够处理上下文关系。

语言数据本身存在大量结构性约束。

词语之间有语法关系,句子之间有语义关系,概念之间存在关联,表达还受到现实世界知识和语言习惯的影响。

因此,海量文本并不是任意词元的随机组合。模型能够从中学习到相当丰富的统计规律和关系结构。

从这个角度看,流形假设可以帮助我们理解:为什么规模庞大的语言数据仍然可能包含可学习的规律。

不过,这里需要保持一个技术上的边界。

流形假设并不能直接解释 Transformer 的全部能力,也不能证明大语言模型已经形成了人类意义上的理解。

模型学到的语言结构、统计关联和概念关系,究竟在多大程度上对应真实世界中的知识和因果关系,仍然是一个值得持续研究的问题。

写在最后

回过头来看,流形假设最有意思的地方,是它让我们重新认识了复杂数据。

我们很容易被数据的表面规模吸引:上百万个像素、数千维的向量、海量的文本,以及动辄数千亿参数的模型。

但数据维度高,不意味着其中没有秩序。现实世界中的许多现象,都受到稳定规律和约束的影响。机器学习正是利用这些规律,从大量观测中形成可以用于预测和决策的模型。

从工程实践的角度,我更关注的是模型如何形成有效的表示,以及这种表示能否在没有见过的数据和真实业务场景中继续发挥作用。

这也是为什么我认为,理解深度学习,不能只盯着模型规模和算力。数据中有什么结构、模型如何学习这些结构、最终能否形成可靠的泛化能力,同样值得关注。

当机器能够从海量数据中发现人类没有明确设计过的特征和关系时,我们也就有了一个更值得思考的问题:

机器究竟学到了数据中的统计规律,还是已经开始触及数据背后的真实世界?

这两者之间的距离,可能正是未来 AI 技术发展中最值得研究的课题之一。


参考阅读

Vagelis Plevris, Why Machine Learning Finds Order In A Million Dimensions, Medium, July 26, 2026.