You are on page 1of 10

向量数据库--原理与技术

主讲人:李 侃
目录

• 向量数据库定义
• 向量数据库原理
• 向量检索算法
什么是向量数据库

• 向量数据库(Vector Database):也叫矢量数据库,主要用来
存储和处理向量数据。
• 非结构化数据(图像、文本和视频等)可以通过某种变换或者嵌入
转化为向量数据存储于向量数据库中,实现相似性检索。不同于基
于精确匹配的传统数据库查询方法,向量数据库可以实现基于上下
文语义的相关查找。
• 向量数据库的主要特点:高效存储与检索。利用索引技术和向量检
索算法能实现高维大数据下的快速响应。
• 向量数据库同时支持对传统结构化数据的管理。
向量数据库工作流程
输入一个向量,从数据库中查找与输入向量最相似的topN个向量返回。

实际应用中,还需要保存数据与向量的映射关系,即返回topN个向量及其数据id,根据数据id获取具体的数据。

图像、文本、
音频、视频

Data

距离定义:欧式、余弦、内

数据项量化 trade off:召回率、响应时间、
embedding 内存占用

检索算法 倒排索引 HNSW 乘积量化 哈希

存储 storage index
向量检索算法

基于树的方法 基于图的方法 基于量化的方法 基于哈希的方法


向量检索算法

基于树的方法

基于树的方法主要思想是将数据
进行划分,减小搜索空间,达到
快速检索的目的。但难以扩充到
高维空间。

基于树的方法主要有KDTree(K-
Dimensional Tree)和Annoy
(Approximate Nearest Neighbors KDTree方法示意 Annoy方法示意
Oh Yeah)。
向量检索算法

基于图的方法

• 基于图的方法利用邻居节点
之间的连通性构建高速公路,
将问题转化为图的遍历,能快
速缩小搜索范围,加快检索速
度。

• 主要分为NSW(Navigating NSW方法示意 HNSW方法示意


Small World)方法与HNSW
(Hierarchical Navigating Small
World)方法。
向量检索算法

基于量化的方法
量化方法的出发点是减少计算量而非搜索空
间。通过量化的方法,损失一定的精度,达
到加快检索速度的目的。

量化的方法主要包括SQ( ScalarQuantization ) PQ方法示意(构建聚类中心)


和PQ( Product Quantization )

SQ是将每一个维度量化成指定位数的一个数,
比如将32位的int量化成8位的int,通过损失一
定的精度,缩减存储成本。

PQ的思路是把高维向量分割成多段低维向量,
再各个量化。 检索时同样分割目标向量,计
算每一段与当前段聚类中心的距离用以估计
最终最终距离。 PQ方法示意(检索过程)
向量检索算法

基于哈希的方法
• 基于哈希的方法主要是利用哈希函数的特性
(相似度高的数据其哈希值相似)。

• 哈希函数可以将高维数据转换成低维数据,
极大提高建设效率。基于哈希的方法主要是
LSH(Locality-Sensitive Hashing)。

• LSH也是一种基于空间划分的方式,假设两 局部敏感哈希分桶示意
个向量相似,那么他们的哈希值也是相似的。
利用哈希函数将相似的向量映射到相同的桶里
面。查询时先找到与查询向量最相似的桶,再
对桶内的数据进行查询计算最相似的topK。
The End

You might also like