Skip to main content
QUICK REVIEW

[论文解读] Spreading vectors for similarity search

Alexandre Sablayrolles, Matthijs Douze|arXiv (Cornell University)|Jun 8, 2018
Domain Adaptation and Few-Shot Learning被引用 26
一句话总结

该论文提出了一种新颖的端到端学习框架,通过可学习的神经网络(即“催化剂”)将输入向量映射到单位超球面上的均匀分布,从而在使用固定、刚性的量化器(如格子或二值码)时实现更优性能。通过结合基于Kozachenko–Leonenko的微分熵正则化项与三元组损失,该方法在不优化量化器的情况下提升了相似性搜索的准确性,优于当前最先进的学习量化方法,并可与现有量化技术无缝集成,实现即插即用。

ABSTRACT

Discretizing multi-dimensional data distributions is a fundamental step of modern indexing methods. State-of-the-art techniques learn parameters of quantizers on training data for optimal performance, thus adapting quantizers to the data. In this work, we propose to reverse this paradigm and adapt the data to the quantizer: we train a neural net which last layer forms a fixed parameter-free quantizer, such as pre-defined points of a hyper-sphere. As a proxy objective, we design and train a neural network that favors uniformity in the spherical latent space, while preserving the neighborhood structure after the mapping. We propose a new regularizer derived from the Kozachenko--Leonenko differential entropy estimator to enforce uniformity and combine it with a locality-aware triplet loss. Experiments show that our end-to-end approach outperforms most learned quantization methods, and is competitive with the state of the art on widely adopted benchmarks. Furthermore, we show that training without the quantization step results in almost no difference in accuracy, but yields a generic catalyzer that can be applied with any subsequent quantizer.

研究动机与目标

  • 为解决在相似性搜索中联合优化神经网络与离散量化的问题,该问题因不可微的离散化操作而难以处理。
  • 通过将数据分布适配得更契合这些量化器,而非调整量化器以适应数据,从而提升固定、刚性量化器(如格子或二值码)的性能。
  • 设计一种基于Kozachenko–Leonenko估计器的可微分正则化项,以在球形潜在空间中强制实现均匀性,促进输出空间的均匀覆盖。
  • 证明所学习的网络(催化剂)可在无量化层的情况下进行训练,同时仍可作为多种下游量化方法的通用特征变换。

提出的方法

  • 该方法训练一个神经网络,将输入向量映射到单位超球面,其中最后一层的输出被视为固定、无参数的量化器(例如符号函数或格子量化器)。
  • 使用一种源自Kozachenko–Leonenko微分熵估计器的新正则化项,以在球形输出空间中强制实现均匀性,促进编码向量的均匀分布。
  • 训练目标结合了该正则化项与一种关注局部性的三元组损失,以在映射过程中保留输入空间中的邻域结构。
  • 网络采用端到端方式训练,但离散化步骤保持固定,避免了可微量化相关的问题。
  • 由此产生的“催化剂”网络可独立使用,在应用任何标准量化方法(如OPQ或二值哈希)之前对特征进行预处理。
  • 该方法在Deep1B和BigAnn1M数据集上进行了评估,结果显示在64位码下性能强劲,且在速度-精度权衡上具有竞争力。

实验结果

研究问题

  • RQ1我们能否通过学习一种使数据分布更兼容于这些量化器的数据变换,来提升刚性、非学习量化器的性能?
  • RQ2通过微分熵正则化项在潜在空间中强制实现均匀性,是否能带来比端到端学习量化器更好的量化性能?
  • RQ3一个在无量化层情况下训练的神经网络,是否仍可作为多种量化方法的有效通用特征变换?
  • RQ4在大规模场景下,该方法与当前最先进的学习量化技术相比,在准确性和速度方面表现如何?

主要发现

  • 在64位码下,该方法与OPQ结合在Deep1M数据集上实现了71.1%的recall@10,优于基线OPQ(63.6%),并匹配或超越了LSQ等当前最先进的方法。
  • 在大规模的Deep1B数据集(10亿向量)上,该方法在64位码下相对于OPQ保持了10%的准确率优势,使用格子量化时达到37.8%的recall@10。
  • 该方法比LSQ(一种最先进的加性量化方法)快14倍,同时达到相当或更优的准确率,使其在大规模应用中更具实用性。
  • 催化剂在所有位长(16–128位)下将二值哈希性能提升了2–9个百分点,在Deep1M和BigAnn1M数据集上均优于LSH和ITQ。
  • 在无量化层情况下进行训练可获得一个通用催化剂,可提升多种量化方法(包括OPQ和二值哈希)的性能,仅带来极小的准确率损失,并实现显著的速度提升。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。