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

向量数据库学习笔记(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.mrgr.cn/news/95866.html

相关文章:

  • djinn: 1靶场渗透测试
  • 微服务面试题:分布式事务和服务监控
  • 中学数学几百年重大错误:将无穷多各异假R误为R——两数集相等的必要条件
  • 万字C++STL——vector模拟实现
  • STM32内部时钟输出比较OC(学习笔记)
  • 常用的离散时间傅里叶变换(DTFT)对
  • Langchain中的表格解析:RAG 和表格的爱恨情仇
  • 深入 SVG:矢量图形、滤镜与动态交互开发指南
  • Python进阶编程总结
  • 定长内存池原理及实现
  • 【Linux知识】RPM软件包安装命令行详细说明
  • MoManipVLA:将视觉-语言-动作模型迁移到通用移动操作
  • Rust从入门到精通之精通篇:21.高级内存管理
  • Tasklet_等待队列_工作队列
  • ngx_http_core_location
  • SVN常用命令
  • 团体协作项目总结Git
  • 基于Ebay拍卖网站成交价格的影响因素分析
  • python工厂模式
  • 2025前端面试题(vue、react、uniapp、微信小程序、JS、CSS、其他)