Skip to content
Tse的笔记
Go back

向量数据库复习五(完结)

Edit page

向量检索索引结构:HNSW 与 IVF


1. HNSW(Hierarchical Navigable Small World)

基本思想

HNSW 是一种基于图结构的近似最近邻(ANN)索引方法,通过构建多层“小世界图”实现高效检索。


结构特点

多层图结构

分层逻辑


搜索过程

  1. 最高层入口节点开始
  2. 在当前层进行贪心搜索(greedy search)
  3. 找到更近的节点后移动
  4. 进入下一层重复该过程
  5. 最终在底层进行精细搜索

核心优势


适用场景


2. IVF(Inverted File Index)

基本思想

IVF 是一种基于聚类分桶的索引方法,通过将向量空间划分为多个“子空间(cluster)”来减少搜索范围。


结构特点

聚类分区

倒排结构


搜索过程

  1. 计算查询向量与所有(或部分)cluster 中心的距离
  2. 选取最近的 k 个 cluster
  3. 只在这些 cluster 内部搜索向量
  4. 返回最近邻结果

核心优势


关键影响因素


适用场景


3. HNSW vs IVF 对比

特性HNSWIVF
结构图结构聚类 + 倒排表
搜索方式分层图导航局部 cluster 搜索
速度很快很快(依赖 nprobe)
精度通常更高依赖聚类质量
内存占用较高较低
适用规模中到超大规模超大规模

一句话理解

下面给你一版可直接用于复习/背诵的标准Markdown笔记(精简 + 结构化 + 考试友好版)。

第12章|基于FAISS的向量检索系统(复习笔记)

  1. 系统目标与本质

1.1 目标

构建一个支持大规模泊车数据检索的系统,实现:

1.2 系统本质

本质 = 高维向量近似最近邻检索(ANN)

核心流程:

多模态数据(图像 / 点云 / GPS) ↓ 特征提取(Embedding) ↓ 向量数据库(FAISS) ↓ 相似性检索(Top-K) ↓ 返回历史泊车方案

  1. 系统整体架构(六大模块)

2.1 模块总览

  1. 数据预处理模块
  2. 向量生成模块
  3. 索引构建与存储模块
  4. 实时检索模块
  5. 动态更新模块
  6. 监控与优化模块

  1. 数据处理流程

3.1 数据预处理

作用:提升数据质量

处理内容:

👉 核心:减少噪声,提高embedding稳定性

3.2 向量生成(Embedding)

将多模态数据映射到统一向量空间:

数据类型 方法 图像 ResNet / CNN 点云 PointNet 数值特征 归一化 + MLP

输出:

x ∈ R^d

👉 核心思想:多模态融合 → 语义向量

  1. FAISS索引系统

FAISS

4.1 Flat索引

特点:

4.2 IVF索引

IVF Index

核心机制:

KMeans聚类 → 分桶 → 局部搜索

特点:

4.3 HNSW索引

HNSW

核心机制:

特点:

  1. 实时检索流程

当前泊车场景 ↓ 生成向量 embedding ↓ FAISS Top-K 检索 ↓ 相似历史场景 ↓ 匹配泊车策略

5.1 Top-K检索

5.2 元数据过滤

增强检索精度:

👉 实际系统 = 向量检索 + 规则过滤

  1. 动态更新机制

6.1 为什么要更新

6.2 更新方式

1)增量更新

2)重建索引

  1. 系统监控与优化

7.1 监控指标

7.2 优化手段

  1. 系统设计标准流程(考试重点)

Step 1:问题定义

从历史泊车数据中找相似场景

Step 2:数据建模

多模态数据 = 图像 + 点云 + GPS + 速度

Step 3:向量化

Encoder → embedding vector

Step 4:索引选择

场景 方法 小规模 Flat 中大规模 IVF 实时系统 HNSW

Step 5:检索

ANN Search → Top-K

Step 6:后处理

Step 7:反馈更新

  1. 高频考试总结

9.1 系统本质

FAISS系统 = 向量化 + ANN索引 + 相似性搜索

9.2 三种索引对比

方法 速度 精度 适用 Flat 慢 高 小数据 IVF 中 中 大规模 HNSW 快 高 实时系统

9.3 核心优势


Edit page
Share this post:

Next Post
向量数据库复习四