将数据点映射到潜在空间能以高效且有意义的方式表示复杂数据,从而增强机器学习模型理解和操作数据的能力,同时降低计算要求。为此,对潜在空间表示进行编码通常需要一定程度的降维:将高维数据压缩到低维空间,从而省略不相关或冗余的信息。
潜在空间在数据科学的许多领域发挥着重要作用,对潜在空间进行编码是许多现代人工智能 (AI) 算法中必不可少的步骤。例如,任何生成模型,例如 变分自编码器 (VAE) 和生成式对抗网络 (GAN),都会计算训练数据的潜在空间,然后从中插值以生成新的数据样本。针对物体检测或图像分割等分类任务进行训练的计算机视觉模型将输入数据映射到潜在空间,以区分出与进行准确预测相关的特性。
大型语言模型 (LLM),从支持语义搜索的嵌入模型到自回归模型(如IBM® Granite 或支持 OpenAI 的 ChatGPT 的模型),都可以利用潜在空间来深入了解特定语境中不同词语之间的复杂联系。
与日常含义相比,空间一词在机器学习中的含义更为丰富。从广义上讲,ML 中的“空间”是指映射、比较或采样数据点的特定模式。例如:
从数学上讲,空间主要由其维度对应的内容来定义:即使用哪些特征(变量)来描述该空间中的数据点。当数据点映射到特定空间时,定义空间的变量具有相似值的数据点将通过某些指标(如余弦相似度、欧几里得距离或点积)彼此相似或接近。
在机器学习中,数据点必须用数字表示。大多数情况下,数据点表示(或“嵌入”)为向量。因此,我们将数据点与其向量表示进行比较的空间称为“向量嵌入空间”(或“嵌入空间”)。向量中每个元素对应于嵌入空间单独维度的数值表示称为向量嵌入。机器学习算法通常要么将向量嵌入作为输入,要么从将输入数据转换为向量嵌入开始。
特征空间是与各种可能性相关联的向量空间,这些可能性不是数据点的可能性,而是可能描述特定数据点集合特征的有意义特征值的可能性。例如,在处理图像数据的模型中,特征空间的每个维度可能对应于模型训练数据中存在的特定形状、纹理或颜色图案。
特征空间通常会省略嵌入空间维度中不包含任何特征的信息。继续以图像数据为例,特征空间将排除背景或空白区域。从更大的嵌入空间中分离出有意义的特征的过程称为特征提取。
“特征空间”和“潜在空间”经常互换使用,但并不总是同义词。鉴于特征提取通常需要数据的压缩表示,其中省略了无用的信息,因此这些概念密切相关。然而,某些特征可能不一定与数据的底层结构相关。因此,潜在空间通常是特征空间的低维表示,仅包含通过机器学习被识别为与当前任务最相关的特征子集。
在潜在空间中,每个维度都对应原始数据的一个潜在变量。潜在变量是影响数据分布方式的基础特征,但通常无法直接观察。
举一个直观的例子,想象有一座桥,桥上装有传感器,用于测量每辆过往车辆的重量。许多不同的车辆(从轻型敞篷车到重型卡车)都使用这座桥,但没有摄像头来检测车辆的类型。尽管如此,我们知道车辆的类型对其重量影响很大。在此示例中,车辆重量是一个可观察变量,车辆类型是一个潜在变量:我们可以通过深入了解车辆重量的模式来推断哪些类型的车辆使用这座桥。
并非每个“隐藏”变量都很重要,因此并非每个隐藏变量都会在机器学习模型编码的潜在空间中表示。在实践中,模型会学习编码最有利于准确执行所训练任务的潜在空间。
对潜空间表示法进行编码,通常需要通过一种称为降维的过程,将高维数据压缩到低维空间中。
考虑一下 MNIST 格式的图像,这是一个开源数据集,包含数万张 28x28 的手写数字灰度图像。每个 28x28 的小图像可以表示为 784 维向量嵌入,其中每个维度对应于一个单独的像素,且值在 0(表示黑色)和 1(表示白色)之间。如果是彩色图像,这些向量嵌入将是 2,352 维的:784 个像素中的每个像素都有 3 维,分别对应其红、绿、蓝 (RGB) 值。
然而,实际数字仅占像素空间的一小部分。大部分图像是空背景。将图像(及代表图像的向量)减少到仅包含实际信息的维度(潜在空间)可以极大地提高机器学习模型准确、有效地处理图像的能力。
自编码器是为降维和将输入数据压缩到潜在空间而专门设计的一种神经网络架构。
自编码器是自监督系统,训练目标是通过降维压缩(或编码)输入数据,然后从该压缩表示准确重构(或解码)原始输入数据。在标准的自编码器中,编码器的每一层包含的节点数都比前一层逐渐减少。当输入数据的向量嵌入被传递到下一层编码器时,它会通过将自身“挤压”成更小维度的过程被压缩。然后,解码器网络仅使用编码器生成的潜在向量来重建原始输入。
自编码器的训练目的是尽量减少重构损失,重构损失衡量解码器的重构与原始输入的差异程度。由于编码器只能向解码器传递有限的信息,因此它被迫只提取数据最显著的特征。换句话说,自编码器自然会学习输入数据潜在空间的有效映射。
除了数据压缩之外,此功能还为自编码器提供了许多有趣的用例。例如,自编码器可用于异常检测,因为它们可以记录人类观察者不易觉察的异常。想象一下一块假冒手表:即使是训练有素的人,也可能觉得它与真品完全相似。只有将其拆开并尝试重建内部的基础齿轮和机械装置(它的潜在空间),才能识别出与它所复制的真品手表不匹配的元素。
与其他降维算法(例如线性判别分析或主成分分析 (PCA))相比,自编码器的一个主要优点是,自编码器可以对不同变量之间的非线性关系进行建模。
许多其他神经网络实现了类似的编码器-解码器架构,其中编码器网络降低输入的维数,解码器处理潜在编码以进行预测。自编码器是该结构的任何实现,其中模型经过训练以重建输入数据。
变分自编码器 (VAE) 使用自编码器架构以可用于图像生成等生成式任务的方式对潜在空间进行编码。
大多数自编码器是“确定性”模型,为训练数据的每个潜在变量编码一个单独的离散值向量;而 VAES 是“概率”模型,将潜在空间编码为一系列可能性。通过在该编码可能性范围内进行插值,VAE 可以合成新的数据样本,这些数据样本虽然本身独一无二且原创,但与原始训练数据相似。
为了能够生成全新的数据样本(而不是简单地从训练数据中重新创建或组合样本),潜在空间必须表现出 2 种类型的规律性:
确保潜在空间连续性和完整性的一种简单方法是强制其遵循正态(高斯)分布。因此,VAE 为训练数据的每个潜在属性编码 2 个不同的向量:一个均值向量“μ”和一个标准偏差向量“σ”。本质上,这两个矢量分别表示每个潜在变量的可能性范围和每个可能性范围内的预期方差。
VAE 通过在重建损失旁边添加额外的损失函数 来实现这一点:Kullback-Leibler 散度(或 KL 散度)。更具体地说,VAE 经过训练,可以通过最小化重建损失来最小化标准高斯分布与习得的潜在空间之间的散度。
虽然其他图像生成模型架构使用除重建损失之外的训练目标,但它们通常都采用正则化项来确保潜在空间的连续性和完整性。大多数(但不是全部)潜在空间拟合为正态分布。
生成式对抗网络 (GAN) 在对抗游戏中培训 2 个神经网络:一个“鉴别器”网络和一个生成器网络。向判别器展示一幅图像,并对其进行训练,以预测它是原始图像还是从数据集中提取的图像。生成器经过训练,通过从潜在空间采样来生成原始样本,从而欺骗判别器。
当判别器不再能够区分训练图像和生成的图像时,生成器被视为经过训练。
潜在扩散模型最早由原始稳定扩散模型引入,本质上将扩散模型与 VAE 相结合。标准扩散模型直接作用于像素空间,而潜在扩散模型首先采用 VAE 风格的架构将输入数据编码为低维潜在表示,然后将扩散应用于潜在空间。这一创新大大提高了扩散模型的速度和效率。
潜在空间中不同数据点之间的关系本质上是难以想象或可视化的。我们的感官和体验仅限于对世界的三维理解,我们的思想无法想象沿数十、数百甚至数千个维度绘制点的图表。
为了应对这一挑战,数据科学家应用降维技术,例如 t 分布随机近邻嵌入 (t-SNE) 或均匀流形近似和投影 (UMAP)。此类技术广泛用于数据可视化,可将高维数据映射到 2 维(或 3 维)图表,其中相似的对象彼此靠近,不相似的对象则相距较远。例如,本文前面介绍的 VAE 潜在空间可视化就是使用 t-SNE 创建的。
图像模型的研究也对潜空间的性质提出了有趣的洞察分析,这些洞察分析促进了生成模型对潜空间的操作。例如,被广泛引用的论文《Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks》探索了利用潜在向量进行算术运算等处理,以直观地生成具有特定质量的新图像等技术。
就绪图像的矢量嵌入旨在表示图像原始像素值分布所提供的数据一样,单词嵌入旨在捕获特定词汇的语义含义。
然而,与图像不同,单词的语义不是静态的:它是动态的,其含义和关系会因周围的单词而改变。因此,转换器模型使用自注意力机制来计算单词的含义如何受到上下文的影响,并相应地更新其嵌入。在接收提示的输入层和生成新文本的输出层之间,随着模型不断完善其上下文理解,原始词嵌入被转换成一系列潜在表示。
尽管迄今为止,大型语言模型 (LLM) 的内部工作原理已被证明相当难以解释,但正在进行的研究深入了解了上下文学习中潜在空间的激活以及 LLM 的其他涌现能力。1、2
1 “Large Language Models Are Latent Variable Models: Explaining and Finding Good Demonstrations for In-Context Learning”,Proceedings of the 37th Conference on Neural Information Processing Systems (NeurIPS 2023),2023 年 12 月。
2 “A Latent Space Theory for Emergent Abilities in Large Language Models”,arXiv,2023 年 9 月 13 日。