Product Quantization 乘积量化
一种对向量的量化表示,压缩向量的算法。
计算过程
指定两个超参数:
- K 需要量化的类别数量
- M 向量的分段数量
训练过程:
- 分段:将向量分为 M 段。
- 聚类:将向量的每一段,利用 K-Means 聚类。
量化表示:将目标向量利用聚类的中心点表示。
查询:使用获得的聚类中心,估计向量之间的距离。有两种方式:
- 对称距离计算:计算聚类中心之间的距离
- 非对称距离计算:计算查询向量和类中心之间的距离
例子
如果 K = 256,M = 8。对于一个 D = 64 维的向量。例如:
V = [a1, a2, … ,a64]
经过量化,可以表示为 8 维的向量,其中每一个维度的值在 0 - 256 之间。
Vq = [2, 256, 43, 32, 57, 22, 34, 144]
以此完成对向量 V 的压缩。