什么是向量嵌入


什么是向量嵌入

简介

向量嵌入是机器学习中最有趣、最有用的概念之一。它们是许多 NLP、推荐和搜索算法的核心。如果你曾经使用过推荐算法、语音助手、语音翻译器等工具,那么你可能就已经遇到过依赖嵌入的系统。

和大多数软件算法一样,机器学习算法也需要数据集。有时,我们的数据集包含数值列或可以转换为数值的值(序数、分类等)。其他时候,我们会遇到一些更抽象的东西,比如整个文本文档。我们可以创建向量嵌入,将抽象的数据集转换为数字列表,便于后续操作。整段文本或其他任何对象都可以简化为一个向量。

向量嵌入模型

但向量有一些特殊之处,使得它们如此有用。这种表示使得人类感知的语义相似性转化为向量空间的邻近性成为可能。

换句话说,当我们将现实世界的对象和概念(例如图像、录音、新闻文章、用户资料、天气预报和政治观点)表示为向量嵌入时,这些对象和概念的语义相似性可以通过它们作为向量空间中的点彼此之间的距离来量化。因此,向量嵌入表示适用于常见的机器学习任务,例如聚类、推荐和分类。

Source: DeepAI

例如,在聚类任务中,聚类算法将相似的点分配到同一聚类,同时保持不同聚类的点尽可能不相似。在推荐任务中,当对未见过的对象进行推荐时,推荐系统会寻找与该对象最相似的对象,通过它们与向量嵌入的相似度来衡量。在分类任务中,我们通过对最相似对象的标签进行主要投票来对未见过的对象的标签进行分类。

创建向量嵌入

创建向量嵌入的一张方法是使用领域知识来设计向量值。这就是所谓的特征工程。例如,在医学成像中,我们利用医学专业知识来量化一组特征,例如图像中捕捉语义的形状、颜色和区域。然而,工程向量嵌入需要领域知识,但是扩展成本太高。

我们通常训练模型将对象转化为向量,而不是设计向量嵌入。深度神经网络是训练此类模型的常见工具。由此产生的嵌入通常是高纬度的(高达两千维)和密集的(所有值都不为零)。对于文本数据来说,Word2Vec、GLoVE 和 BERT 等模型将单词、句子或段落转换为向量嵌入。

可以使用卷积神经网络(CNN)等模型嵌入图像,CNN 的示例包括 VGG 和 Inception。可以使用音频视觉表示上的图像嵌入变换将音频记录转换为向量(例如,使用其频谱图)。

例如: 用卷积神经网络嵌入图像

思考以下示例,其中原始图像表示为灰度像素。这相当于 0 到 255 范围内的整数值的矩阵(或表)。其中 0 对应黑色,255 对应白色。下图描绘了灰度图像及其对应的矩阵。

Source: Serena Young

左侧子图像描绘灰度像素,中间子图像包括像素灰度值,最右侧子图像定义矩阵。请注意,矩阵值定义了一个向量嵌入,其中它的第一个左边是矩阵左上角的单元格,然后从左到右直到对应于右下角矩阵单元格的最后一个坐标。

这种嵌入技术能更好地维护图像中像素领域地语义信息。然而,它们对诸如移位、缩放、裁剪和其他图像处理操作之类地转换非常敏感。因此,它们通常作为原始输入,以学习更健壮地嵌入。

卷积神经网络(CNN)是一类深度学习框架,通常应用于将图像转换为嵌入的视觉数据。

CNN 通过分层的小型局部子输入(称为感受野)来处理输入。每个网络层中的每个神经元处理来自前一层的特定感受野。每层要么在感受野上应用卷积,要么减小输入大小,这称为子采样。

下图描绘了一个典型的 CNN 结构。注意感受野,在每一层被描绘成子方块,作为前一层中单个神经元的输入。还要注意,子采样操作会减小层大小,而卷积操作会扩展层大小。生成的向量嵌入通过全连接层接收。

Source: Aphex34,CC BY-SA 4.0

学习网络权重(即嵌入模型)需要大量标记图像。权重的优化方式是,与具有不同标签的图像相比,具有相同标签的图像嵌入得更近。一旦我们学习了 CNN 嵌入模型,我们就可以将图像转换为向量,并使用 K 最近邻索引来储存它们。现在,给定一个新的未见过的图像,我们可以使用 CNN 模型对其进行转换,检索其 K 个最相似的向量,从而得到相应的相似图像。

尽管本文使用图像和 CNN 作为示例,但我们可以为任何类型的数据创建向量嵌入,并且可以使用多种模型/方法来创建它们。

使用向量嵌入

嵌入可以将对象表示为一个包含其语义信息的密集向量,这一事实使得嵌入在机器学习应用中非常有用。

相似性搜索是向量嵌入最常见的用途之一。KNN 和 ANN 等搜索算法要求我们计算向量之间的距离以确定相似度。向量嵌入可用于计算这些距离。最近邻搜索又可用于诸如去复制、推荐、异常检测、反向图像搜索等任务。

即使我们不直接在应用程序中使用嵌入,许多流行的 ML 模型和方法也在内部依赖它们。例如,在编码器-解码器架构中,编码器生成的嵌入包含解码器生成结果所需的信息。这种架构广泛应用于机器翻译和字幕生成等应用中。

参考链接


文章作者: Pudding
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Pudding !
  目录