当前位置:   article > 正文

向量数据库学习记录

向量数据库学习记录

向量数据库是什么

向量数据库是一种特殊的数据库,它具备数据存储和读取的基础能力,同时也有一个特殊的查询操作,即向量检索。

向量数据库中存储的数据实际上是一堆浮点数,这些浮点数排列在一起就像一个数组。这些浮点数的个数在向量数据库中被称为维度。通过这些维度,向量数据库可以存储和检索海量的高维数据,支持复杂的查询和分析操作。

例如:通过将一张图片进行embedding处理,我们得到了它所对应的浮点数向量。这个向量的维度越高,说明转化后的精细度也越高,但相应的计算资源消耗和对硬件条件的要求也会随之增加。

一个以图搜图的具体过程示范:

首先,假设我们有一个数据集,里面包含一万张图片。将这些图片通过embedding算法转化成向量数据,比如1000维的向量。然后,这些向量数据会被存储到一个向量数据库中。

当数据库构建完毕后,我们如何找到与指定图片相似的图片呢?可以通过search操作来完成。例如,我指定一张图片,通过相同的embedding模型,在embedding过程中会引入领域中的大语言模型。通过大语言模型的能力,我们可以得到这张图片的向量表示,然后将其传送到向量数据库中进行检索。

在检索过程中,我们利用向量之间的相似度关系进行匹配。当我们找到匹配的图片时,可以选择返回最相似的5张图片。每张图片都有一个距离描述与指定图片的相似度。这个距离越小,说明这两张图片越相似。

通过找到匹配图片的ID和路径,就可以在前端展示搜索结果了。

Embedding技术

Embedding 技术是一种将高维数据映射到低维空间的方法,通常用于将离散的、非连续的数据转换为连续的向量表示,通过将原始数据从高维度空间映射到低维度空间,有助于减少数据的复杂性和计算资源的需求,并提高模型的训练和推理效率;这种技术广泛用于自然语言处理(NLP)、图像处理、推荐系统和其他机器学习应用中,以方便大语言模型处理输入数据。

Embedding 在大语言模型中的主要应用有:

  • 作为 Embedding 层嵌入到大语言模型中,实现将高维稀疏特征到低维稠密特征的转换(如 Wide&Deep、DeepFM 等模型);
  • 作为预训练的 Embedding 特征向量,与其他特征向量拼接后,一同作为大语言模型输入进行训练(如 FNN)。

Embedding 技术具有许多优点,以下是 Embedding 技术的主要优点:

  • 语义信息捕捉:Embedding 技术能够捕捉数据的语义信息,使得相似的数据在嵌入空间中更接近,有助于模型更好地理解数据之间的关系。
  • 维度约减:Embedding 技术将高维数据映射到低维空间,减少了计算和内存需求,提高了模型的效率。
  • 上下文感知:嵌入向量通常是上下文感知的,可以考虑数据点与其周围数据点的关系,这对于自然语言处理等任务非常有用。
  • 可训练:嵌入向量通常是可训练的,可以与模型一起训练,从而适应特定任务和数据集。
  • 泛化能力:适当训练的嵌入可以提高模型的泛化能力,从而使其能够处理新数据和未知情况。
    Embedding 技术有以下主要缺点:
  • 数据依赖性:Embedding 技术的性能高度依赖于训练数据的质量和多样性。如果训练数据不足或不具代表性,嵌入可能不准确。
  • 维度选择:选择适当的嵌入维度可以是挑战性的,太低的维度可能丧失信息,太高的维度可能增加计算成本。
  • 过拟合:嵌入可以过度拟合训练数据,特别是在小数据集上。这可能导致模型在未见过的数据上表现不佳。
  • 计算复杂性:在训练嵌入时,可能需要大量的计算资源和时间,尤其是对于大规模数据集和高维度嵌入
  • 可解释性差:嵌入向量通常是抽象的,难以解释。这使得难以理解模型为什么做出特定的预测或推荐。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/438600
推荐阅读
相关标签
  

闽ICP备14008679号