Approximate k-Nearest Neighbour (ANN) methods are often used for mining information and aiding machine learning on large scale high-dimensional datasets. ANN methods typically differ in the index structure used for accelerating searches, resulting in various recall/runtime trade-off points. For applications with static datasets, runtime constraints and dataset properties can be used to empirically select an ANN method with suitable operating characteristics. However, for applications with dynamic datasets, which are subject to frequent online changes (like addition of new samples), there is currently no consensus as to which ANN methods are most suitable. Traditional evaluation approaches do not consider the computational costs of updating the index structure, as well as the frequency and size of index updates. To address this, we empirically evaluate 5 popular ANN methods on two main applications (online data collection and online feature learning) while taking into account these considerations. Two dynamic datasets are used, derived from the SIFT1M dataset with 1 million samples and the DEEP1B dataset with 1 billion samples. The results indicate that the often used k-d trees method is not suitable on dynamic datasets as it is slower than a straightforward baseline exhaustive search method. For online data collection, the Hierarchical Navigable Small World Graphs method achieves a consistent speedup over baseline across a wide range of recall rates. For online feature learning, the Scalable Nearest Neighbours method is faster than baseline for recall rates below 75%.
翻译:近似k最近邻(ANN)方法常用于大规模高维数据集的信息挖掘与机器学习辅助。ANN方法通常因用于加速搜索的索引结构不同,而产生不同的召回率/运行时间权衡点。对于静态数据集的应用,可根据运行时间约束和数据集特性,通过经验选择具有合适操作特性的ANN方法。然而,对于需频繁在线变更(如添加新样本)的动态数据集应用,目前尚缺乏关于哪种ANN方法最合适的共识。传统评估方法未考虑索引结构更新的计算成本,以及更新频率与规模。为解决此问题,我们针对两种主要应用场景(在线数据收集与在线特征学习),对5种流行ANN方法进行了实证评估,同时纳入了上述考量。实验采用两个动态数据集:源自包含100万样本的SIFT1M数据集和包含10亿样本的DEEP1B数据集的衍生数据。结果表明,常用的k-d树方法不适用于动态数据集,因其速度慢于简单的基线穷举搜索法。对于在线数据收集,层次可导航小世界图方法在广泛召回率范围内实现了相对于基线的稳定加速。对于在线特征学习,当召回率低于75%时,可扩展最近邻方法速度优于基线。