用学习的支持函数摊销最大内积搜索
本文提出了一种基于回归的摊销最大内积搜索(MIPS)方法,通过训练神经网络直接预测MIPS解,从而摊销固定键数据库上重复查询的成本。关键见解是MIPS值函数是键集的支撑函数,其梯度指向最优键。作者提出了两种互补模型:SupportNet(输入凸神经网络,回归支撑函数)和KeyNet(向量值网络,直接回归最优键)。在BEIR基准上的实验表明,在相同计算量下,这些模型显著提升了IVF匹配率。
最大内积搜索(MIPS)是机器学习中的关键子程序,用于在数据库中找到与给定查询向量最匹配的键向量。传统MIPS方法对每个查询独立运行,当查询分布已知且键数据库固定时,重复求解成本高昂。本文提出摊销MIPS,这是一种基于回归的新型方法,通过训练神经网络直接预测MIPS解,从而摊销多次查询的成本。
作者的核心洞察在于,MIPS的值函数实际上是键集的一个支撑函数——一种经过充分研究的凸函数,其梯度直接指向最优键。基于此,他们设计了两种互补的摊销模型:SupportNet和KeyNet。SupportNet是一个输入凸神经网络,用于回归支撑函数,可以作为集群路由器快速将查询导向相关的数据库分区。KeyNet则是一个向量值网络,直接回归最优键,可以作为原始查询的即插即用替代,无缝集成到现有索引流程中。
在BEIR基准测试中,针对文档嵌入,作者比较了这些模型与标准IVF(倒排文件)索引的性能。实验结果表明,在相同的计算预算下(无论是FLOPs、探针数还是实际运行时间),训练后的SupportNet和KeyNet均显著提高了IVF匹配率。这意味着摊销MIPS不仅避免了多次昂贵的搜索,还能在有限资源下获得更优的检索结果。
作者已将代码开源,供社区复现和进一步研究。这项工作为高效检索系统提供了新的视角,尤其适用于查询分布稳定的大规模数据库场景。该研究由MIT的Theo X. Olausson与Apple的João Monteiro、Michal Klein和Marco Cuturi共同完成。