Asymmetric LSH (ALSH) for Sublinear Time Maximum Inner Product Search (MIPS)
摘要
我们提出了第一个可证明的近似最大内积搜索(MIPS)的次线性时间哈希算法。以(非标准化的)内积作为基本相似性度量进行搜索是一个已知的难题,而寻找MIPS的哈希方案是一个困难的问题。
虽然现有的局部敏感哈希(Locality-Sensitive Hashing,LSH)框架不足以解决MIPS问题,但本文对LSH框架进行了扩展,允许非对称哈希方案。我们的建议是基于一个关键的观察,即寻找最大内积的问题,经过独立的非对称变换后,可以转化为经典环境下的近似近邻搜索问题。
这个关键的观察使得MIPS的有效次线性散列方案成为可能。
在扩展的非对称LSH(ALSH)框架下,给出了一个MIPS可证明快速哈希方案的显式构造实例。我们提出的算法简单,易于实现。
在Netflix和Movielens(10M)数据集的项目推荐协同过滤任务中,所提出的哈希方案比两种流行的传统LSH方案(i)符号随机投影(SRP)和(ii)基于L2范数的p-稳定分布(L2LSH)的哈希方案节省了大量计算量。
结论
MIPS(maximum inner-product search)自然出现在许多实际场景中,例如协同过滤。这个问题是一个具有挑战性的问题,在我们的工作之前,还没有可证明的MIPS的次线性时间哈希算法。另外,现有的经典LSH(locality-sensitive hashing)框架不足以解决MIPS问题。在这项研究中,我们开发了ALSH(asymmetriclsh),它通过对输入查询向量和存储库中的数据向量应用(适当选择)不对称变换来概括现有的LSH框架。我们提出了一种新的变换,将原始内积变换为变换空间中的L2距离,从而实现了ALSH。我们从理论和实践两个方面证明了ALSH的实现为MIPS提供了一个有效而实用的解决方案。ALSH的其他显式构造,例如,通过余弦相似的ALSH,或通过相似的ALSH(对于二进制数据),将在后续的技术报告中介绍。