当前位置: 首页 > article >正文

向量数据库学习笔记(1) —— 基础概念

一、 嵌入模型 Embedding Models

       嵌入模型是将复杂数据(如文本、图像、音频等)转换为向量表示的机器学习模型

1. 核心概念

  • 嵌入(Embedding):将高维、非结构化的数据映射到低维、稠密的向量空间

  • 向量表示:输出固定长度的数值向量(如256维、768维等)

  • 语义保留:相似的数据在向量空间中距离相近

 

2. 嵌入模型案例

将狗向量化,每一个比较标准即是一个向量维度,例如下图是一个二维向量

当比较标准越多,对向量的比较(相似度、区分度)也就越高,例如下图是一个高维向量

 

3. 常见嵌入模型类型

       依此标准,万物皆可向量化,例如文字、图片、音频、视频、多模态数据,均可以有自己的标准实现向量化。

 

嵌入模型将万物向量化,而向量数据库就用于存储、比较这些向量数据。

 

4. 向量存储案例

 

二、 向量的比较方法

1. 与普通数据库的差异

与普通数据库的“精确”匹配不同,向量比的是“相似性”。

例如我想搜索“广州”

  • 普通数据库查询写法只能是 ='广州' 或者 like '%广州%'
  • 向量搜索 输入可以是 “早茶”、“白云山”、“羊城”,返回结果依然有广州

 

2. 暴力搜索(平坦搜索)

        即逐一比较,这是唯一能真正做到精确比较方法。

       如果我们要求精确返回最相似的 top k个值,专业术语叫做 k-最近邻搜索 (k-Nearest Neighbors Search, k-NN Search),然而,对于高维向量而言,这不现实也没必要。

       使用近似算法牺牲少量精度换取显著性能提升,是实际向量数据库中最常用的实现方式,专业术语叫做 近似最近邻搜索(Approximate Nearest Neighbors, ANN)。

 

3. 聚类搜索 IVFFlat

       IVFFlat 即 Inverted File with Flat Compression 是向量数据库中常用的 ANN算法,由Facebook的FAISS团队提出,专门用于高效处理大规模向量相似性搜索。

       其核心是将向量分为不同的群集,找到各个群集的中心点。这样,只需将向量与各中心点比较,即可大致找到与待查询向量最近的群集,然后在群集中搜索,大幅缩小查询范围

 

 

4. 图搜索

 

未完待续...

 

 


http://www.kler.cn/a/601112.html

相关文章:

  • apache安装脚本使用shell建立
  • C 语言中, scanf 函数在哪些情况下会结束输入读取:
  • 2025-03-25 学习记录--C/C++-PTA 习题11-7 奇数值结点链表
  • 修改git在提交代码时的名称
  • TARS:字节跳动开源的AI智能体,让生活更便捷、工作更高效
  • 蓝桥杯15届B组题解
  • Springboot 学习 之 Shardingsphere 按照日期水平分表(一)
  • 游戏引擎学习第182天
  • Linux之基本命令和格式
  • AVI格式:经典视频格式的坚守与挑战
  • Unity中对象池(Object Pool)技术解析与实现
  • 笔试面试01 c/c++
  • 蓝桥杯备考----> Apple Catching G(线性DP)
  • Java IO框架体系深度解析:从四基类到设计模式实践
  • PostgreSQL 连接数超限问题
  • Java运行时的堆、栈和方法区
  • Rust从入门到精通之精通篇:21.高级内存管理
  • HCIP 学习第一次笔记
  • 辉视智慧月子中心:爱与科技共筑母婴温馨港湾
  • PostgreSQL:索引与查询优化