PQ系列的算法大致的套路分三个阶段:训练、量化、查询

[1] - 训练

假设样本向量维度D=64,将原始的D维向量分成M=8段,那么每段的子维度subD=8.

对训练集每段分别进行k-means聚类,假设每段聚类的k=256,那么M段分别聚类之后会得到MxsubDxk个类中心(也叫码本),每个类中心的维数为subD.

[2] - 量化

首先将样本分成M段,对于每个子段m,去256个类中心中寻找距离最近的类中心U(m),原始向量则量化成M维索引的笛卡尔乘积.

[3] - 查询

分对称SDC和非对称查询ADC.

ADC距离的查询过程如下:首先计算查询向量和类中心的距离,得到距离表. 遍历样本库中的向量,根据距离表,计算每个样本与查询向量的距离和. 返回k个距离最接近的样本.

图像检索之乘积量化 - AIUAI

Faiss - 聚类与PCA及量化实现 - AIUAI

Last modification:May 6th, 2021 at 05:27 pm