论文题目
Query-Driven Iterated Neighborhood Graph Search for Large Scale Indexing
相关信息
作者与单位
Jingdong Wang; Shipeng Li
Microsoft Research Asia, Beijing, P. R. China {jingdw, spli}@microsoft.com
出处与时间
ACM International Conference on Multimedia (CCF A类), 2012
作者拟解决的主要问题
近邻图搜索易陷入局部最优,而且穷尽式连续搜索易导致低搜索效率。本文就是对传统贪婪搜索进行优化。
论文主要研究内容
本文主要研究近邻图搜索过程的一些问题。
- 通过重启局部搜索和引入判据缓解局部最优;
- 利用查询和搜索历史提升搜索效率。
论文使用的方法
查询驱动迭代邻域图搜索方法。采用迭代局部搜索策略(ILS)寻找解决方案。
- 处理了一个关键问题——扰动,它产生新的起始点来重启局部搜索。
- 提出一个判据,判断局部搜索是否达到了局部最优。
- 利用查询和搜索历史设计一个扰动方案,从而使搜索更有效。
上述扰动方案其实就是产生新入口点的操作。
局部最优检测
通过图梯度检测。具体地,对于当前访问点$x$,它距查询$q$的距离记为$d(x,q)$,$x$的任一邻居$y$与$q$的距离$d(y,q)$,若$d(x,q)-d(y,q) \le 0$,则贪婪搜索陷入局部最优。反之,称$y$为有希望的点(promising point)。
扰动 (Perturbation)
根据先前的查询和搜索历史产生新入口点。入口点获取仍使用树,与之前不同的是,获取的过程会受到先前搜索历史和搜索结果影响。
查询驱动迭代贪婪搜索总过程
- kd树产生初始点;
- 近邻图上贪婪搜索;
- 扰动重启初始点;
- 近邻图上贪婪搜索;
- 重复3.和4.直至终止条件发生。
论文的创新点
本文主要解决的就是在近邻图上执行贪婪搜索时(1)入口点获取问题;(2)易陷入局部最优问题。作者采用查询驱动迭代贪婪搜索的策略同时解决这两个问题。入口点获取是采用kd树的方法,开始获取时与之前的工作一样,本文创新的地方是在图上贪婪搜索时仍会根据一些判断条件从kd树上多次获取新入口点,文章介绍了两个判断条件:(1)经过一定量的邻居扩展后仍没有获取到有希望的点(promising point);(2)从kd树中获取的点不超过一定的比例上界。
论文的结论
- 获取入口点时,依赖于查询的方案具有比独立于查询的方案更好的搜索性能;
- 通过查询和搜索历史驱动产生新的起始点,重启贪婪搜索。迭代执行这一过程多次,从而缓解了局部最优问题,取得更好的搜索性能。
我的观点或思考
- 近邻图的构建成本普遍比其它流派的方法高。
- 通过预先存储近邻图中每个顶点到它的邻居的距离,在搜索时可通过三角不等式减少距离计算。