【机器学习】从底层理解特征向量的转化
从底层理解文本/图片变为特征向量,这是一个非常深入且核心的问题。要理解机器学习/深度学习如何将文本、图像、视频等转换为特征向量,我们需要层层深入,从最表层的技术概念,一直探寻到底层的数学逻辑和编码规律。
简单来说,这个过程就是将现实世界中非结构化的信息(如文字的含义、图像的内容)量化成计算机可以理解和处理的多维空间中的一个点。这个点,就是特征向量。它的神奇之处在于,向量之间的距离和方向能够对应现实世界中信息之间的相似性和关联性。
下面我们分步拆解,来详细解释这个过程。
第一部分: “怎么实现” - 主流技术概览
将不同类型的数据转换为特征向量,我们使用不同的模型和技术,这些技术的核心思想都是学习一个“编码器”(Encoder),将原始数据映射到一个向量空间。
1. 文本 (Text) -> 向量 (Vector)
文本是非结构化的,计算机无法直接理解“苹果”和“香蕉”都是水果。为了让计算机理解,我们需要将词语、句子甚至整个文档转换为向量。
-
早期方法 (基于频率):
-
词袋模型 (Bag-of-Words, BoW): 非常简单粗暴。它将一个文档看作一堆词的集合,忽略语法和词序。首先,为语料库中所有出现过的词创建一个词典。然后,每个文档都被表示成一个向量,向量的维度就是词典的大小,每个维度上的值可以是这个词在文档中出现的次数(TF)或频率(TF-IDF)。
-
缺点: 丢失了语序,无法表达语义。例如,“我爱他”和“他爱我”的向量表示可能完全一样。同时,会产生非常高维且稀疏的向量。
-
-
-
现代方法 (基于上下文的嵌入 - Embedding): 这是当前的主流,核心思想是:一个词的含义由它周围的词来定义。
-
Word2Vec / GloVe: 这些是经典的词嵌入(Word Embedding)模型。它们通过训练一个浅层神经网络,来学习每个词的向量表示。
-
Word2Vec 的 Skip-gram 模型:通过一个中心词来预测它周围的上下文词。在训练过程中,模型会不断调整每个词的向量,使得经常一起出现的词,它们的向量在空间中也更“接近”。
-
GloVe: 它结合了全局统计信息(词的共现矩阵)和局部上下文窗口的优点,直接对词的共现概率进行建模。
-
-
BERT (及其他 Transformer 模型): 这是革命性的进步。与 Word2Vec 不同,BERT 生成的词向量是动态的,它会根据词在句子中的具体上下文来生成不同的向量。例如,“bank”在“river bank”(河岸)和“bank account”(银行账户)中的向量是完全不同的。这是通过其核心的 Attention 机制实现的,该机制可以捕捉句子中任意两个词之间的依赖关系。
-
2. 图像 (Image) -> 向量 (Vector)
图像是由像素点组成的矩阵。要将其转换为特征向量,主要依赖卷积神经网络 (Convolutional Neural Networks, CNNs)。
-
CNN 的工作原理: CNN 的核心思想是分层提取特征。它通过模拟人类视觉皮层的处理方式,从低级到高级地识别特征。
-
底层卷积层: 识别简单的边缘、角点、颜色块等。一个卷积核(Filter)就像一个小的滑动窗口,在图像上滑动,检测特定的微小模式。每当检测到这个模式,对应的神经元就会被激活。
-
中层卷积层: 将底层的特征组合起来,形成更复杂的形状,如眼睛、鼻子、轮廓。
-
高层卷积层/全连接层: 将中层的特征组合起来,识别出更抽象的概念,如人脸、汽车、猫。
-
-
如何生成向量: 在 CNN 的末端,通常会有一个或多个全连接层 (Fully Connected Layer)。在经过多轮卷积和池化(Pooling,用于降低维度)后,得到的特征图(Feature Map)会被“压平”(Flatten)成一个一维向量,然后输入到全连接层。这个全连接层的输出(或其前一层的输出)就可以被用作代表整个图像的特征向量。现在更先进的模型(如 ResNet, Vision Transformer)可以直接通过全局平均池化(Global Average Pooling)等方式直接从最后的特征图生成特征向量,更加高效。
3. 视频 (Video) -> 向量 (Vector)
视频比图像多了一个时间维度。因此,处理视频需要同时考虑空间特征(每一帧的画面内容)和时间特征(帧与帧之间的变化和联系)。
-
实现方法:
-
CNN + RNN/LSTM: 这是一种经典的组合。
-
CNN 提取空间特征: 先用一个预训练好的 CNN(如在 ImageNet 上训练过的 ResNet)逐帧提取视频中每一帧的特征向量。这样,一个视频就变成了一个由特征向量组成的序列。
-
RNN/LSTM 处理时间序列: 然后,将这个向量序列输入到一个循环神经网络 (Recurrent Neural Network, RNN) 或其变体长短期记忆网络 (Long Short-Term Memory, LSTM) 中。RNN/LSTM 能够捕捉序列中的时间依赖关系,最终输出一个能够代表整个视频动态内容的单一特征向量。
-
-
3D CNN: 这种方法将卷积核从 2D 扩展到 3D。3D 卷积核不仅在图像的高度和宽度上滑动,还在时间维度上滑动,从而能够直接从原始视频帧中同时提取时空特征。
-
Video Transformer: 近年来,基于 Transformer 的模型也被用于视频理解,它们通过将视频切分成小块(Patches),并利用 Attention 机制来捕捉时空维度上的复杂关系。
-
第二部分: “最底层编码规律” - 数学逻辑是什么?
这是问题的核心。为什么这些看似随机的数字组成的向量可以代表现实世界的特征?这背后的数学逻辑和规律是什么?
核心思想:将语义关系映射为几何关系
所有这些转换技术的最终目标,都是将现实世界中我们关心的语义关系(例如,文本中的同义词、反义词关系;图像中的“猫”和“狗”都属于动物等)映射到高维向量空间中的几何关系(向量的距离、角度、方向等)。
1. "距离" 代表 "相似度"
这是最核心的规律。在经过良好训练的嵌入空间中:
-
两个语义相似的词(如“国王”和“女王”)的词向量,在空间中的欧氏距离或余弦相似度会非常接近。
-
两张包含相似内容的图片(如两只不同品种的猫)的特征向量,在空间中的距离也会非常近。
这个特性使得我们可以进行各种下游任务,比如相似图片搜索、文本聚类等。
2. "方向" 和 "平移" 代表 "类比关系"
这是词嵌入中一个非常惊人的发现,最著名的例子是:
vector(′King′)−vector(′Man′)+vector(′Woman′)≈vector(′Queen′)
这个公式的数学逻辑是:
-
vector(′King′)−vector(′Man′) 这个向量运算,捕捉到了从“男性”到“王权”的抽象概念(可以理解为一个代表“皇室”或“权力”的向量)。
-
将这个“权力”向量加到 vector(′Woman′) 上,就将这个概念应用到了女性身上,最终得到的向量在空间中最接近 vector(′Queen′)。
这表明,向量空间中的方向和平移可以编码和捕捉到非常复杂的语义类比关系。对于图像也是如此,例如一个向量可能代表“增加眼镜”这个概念,将它加到一个没有人脸的图片向量上可能效果不明显,但加到一个有人脸的图片向量上,就可能得到一个戴眼镜的人脸的图片向量(这在生成模型如 GANs 中很常见)。
数学基础:分布假设与流形假设
-
分布假设 (Distributional Hypothesis) - 文本的核心: 这个假设源于语言学,前面已经提到:“一个词的意义是由它经常出现的上下文决定的”。Word2Vec 等模型就是这个假设的直接数学实现。通过训练神经网络来预测上下文,模型被迫将具有相似上下文的词映射到向量空间中的邻近位置。
-
流形假设 (Manifold Hypothesis) - 图像/高维数据的核心: 这个假设认为,我们现实世界中观察到的高维数据(例如一张 1024x1024 像素的图片,其原始维度超过一百万)实际上是嵌入在一个更高维空间中的一个低维流形 (Manifold) 上。
-
什么是流形? 想象一下地球的表面,它是一个在三维空间中的二维流形。我们可以在这个二维表面上用经纬度(两个数字)来确定任何一个点的位置。
-
应用于图像: 所有“猫”的图片,尽管像素千差万别,但在高维像素空间中,它们可能都聚集在一个低维的“猫流形”上。CNN 的作用,就是学习一个映射函数,将原始的高维像素空间“解开”或“展平”,找到这个低维流形。最终输出的特征向量,就是这个物体在这个低维流形上的“坐标”。这个坐标简洁地编码了这张图片作为一只“猫”的核心本质特征,而忽略了背景、光照、姿态等无关紧要的变化。
-
总结
-
怎么实现?
-
文本: 使用 Word2Vec, GloVe, BERT 等模型,将词或句子映射为向量。
-
图像: 使用 CNN,通过逐层提取从简单到复杂的视觉特征,最终生成代表整张图的向量。
-
视频: 结合 CNN(提取空间特征)和 RNN/LSTM(处理时间动态),或使用 3D CNN 直接提取时空特征。
-
-
最底层编码规律和数学逻辑是什么?
-
核心规律: 将现实世界的语义相似性和类比关系,转化为高维向量空间中的几何距离和向量运算。
-
数学逻辑:
-
距离代表相似度: 语义上越接近,向量空间中的距离就越近。
-
方向/平移代表关系: 向量的加减法可以捕捉和推理抽象的类比关系(如 国王 - 男性 + 女性 ≈ 女王)。
-
理论基石:
-
分布假设 (文本): 相似的上下文产生相似的向量。
-
流形假设 (图像等): 模型学习将高维原始数据映射到其内在的低维流形上,特征向量就是物体在该流形上的坐标,这个坐标抓住了事物的本质。
-
-
-
最终,这个从具体数据到抽象向量的转换过程,是机器学习模型能够“理解”并处理非结构化数据的关键第一步,也是后续所有分类、识别、生成等高级任务的基石。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)