Skip to main content
QUICK REVIEW

[논문 리뷰] A Revisit of Hashing Algorithms for Approximate Nearest Neighbor Search

Deng Cai|arXiv (Cornell University)|2016. 12. 22.
Advanced Image and Video Retrieval Techniques참고 문헌 48인용 수 19
한 줄 요약

이 논문은 근사 최근접 이웃 검색(ANNS)을 위한 해싱 알고리즘다시 검토하며, 해시 인덱스 검색을 위한 새로운 그룹화된 해밍 순위 방법을 제안한다. 놀랍게도, 코드 길이를 1,024비트 또는 2,048비트로 연장할 경우, 무작위 투영 기반 로컬리티 감도 해싱(LSH)이 다수의 데이터 의존적 해싱 알고리즘 10종보다 뛰어난 성능을 보이며, 이는 최근의 방법들이 우월하다고 주장한 바를 도전한다.

ABSTRACT

Approximate Nearest Neighbor Search (ANNS) is a fundamental problem in many areas of machine learning and data mining. During the past decade, numerous hashing algorithms are proposed to solve this problem. Every proposed algorithm claims outperform other state-of-the-art hashing methods. However, the evaluation of these hashing papers was not thorough enough, and those claims should be re-examined. The ultimate goal of an ANNS method is returning the most accurate answers (nearest neighbors) in the shortest time. If implemented correctly, almost all the hashing methods will have their performance improved as the code length increases. However, many existing hashing papers only report the performance with the code length shorter than 128. In this paper, we carefully revisit the problem of search with a hash index, and analyze the pros and cons of two popular hash index search procedures. Then we proposed a very simple but effective two level index structures and make a thorough comparison of eleven popular hashing algorithms. Surprisingly, the random-projection-based Locality Sensitive Hashing (LSH) is the best performed algorithm, which is in contradiction to the claims in all the other ten hashing papers. Despite the extreme simplicity of random-projection-based LSH, our results show that the capability of this algorithm has been far underestimated. For the sake of reproducibility, all the codes used in the paper are released on GitHub, which can be used as a testing platform for a fair comparison between various hashing algorithms.

연구 동기 및 목표

  • 공정하고 종합적인 조건 하에서 인기 있는 해싱 알고리즘의 ANNS 성능을 재평가하기 위해.
  • 이전의 해싱 논문에서의 철저한 평가 부족, 특히 일반적으로 <128비트인 코드 길이 제한과 MATLAB에서의 비효율적 해밍 순위 의존 문제를 해결하기 위해.
  • 공정하고 효율적인 해싱 알고리즘 간 비교를 가능하게 하기 위해 새로운 이중 수준 해시 인덱스 구조와 그룹화된 해밍 순위 검색 절차를 제안하기 위해.
  • 트리 기반, 양자화 기반, 그래프 기반 접근 방식을 포함한 최첨단 ANNS 방법들과 동일한 조건에서 무작위 투영 기반 LSH를 벤치마킹하기 위해.
  • 향후 해싱 알고리즘의 공정한 벤치마킹을 위해 GitHub를 통해 재현 가능하고 오픈소스의 테스트 플랫폼을 제공하기 위해.

제안 방법

  • 검색 효율성과 비교의 공정성을 향상시키기 위해 이중 수준 해시 인덱스 구조를 제안한다.
  • 여러 해시 테이블의 결과를 집계하여 코드 길이를 늘리지 않고도 재현율을 향상시키는 그룹화된 해밍 순위 접근 방식을 도입한다.
  • 기존 MATLAB 기반의 LSH 구현체를 최적화된 C++ 코드로 변환하여 공정한 성능 비교를 가능하게 하기 위해 (RPLSH로 명명함).
  • 대규모 데이터셋(SIFT1M, GIST1M)을 대상으로 재현율 대 코드 길이 및 재현율 대 검색 시간 곡선을 사용한 체계적인 평가 프레임워크를 활용한다.
  • 모든 알고리즘에 동일한 하드웨어와 단일 스레드 실행 환경을 사용하여 공정한 비교를 보장한다.
  • 고정밀도를 확보하기 위해 최적화된 파rameter를 사용해 RPLSH를 FALCONN, FLANN, Annoy, FAISS, KGraph 등 다섯 가지 확립된 ANNS 라이브러리와 비교한다.

실험 결과

연구 질문

  • RQ1공정하고 종합적인 조건에서 평가할 경우, 무작위 투영 기반 LSH는 현대의 데이터 의존적 해싱 알고리즘과 경쟁력을 유지하는가?
  • RQ2일반적으로 사용되는 128비트를 초월해 코드 길이가 증가할 경우 해싱 알고리즘의 성능은 어떻게 변화하는가?
  • RQ3해밍 순위 또는 해시 버킷 검색 중 어느 해시 인덱스 검색 절차가 평가에서 더 뛰어난 성능과 공정성을 제공하는가?
  • RQ4적절히 구현된 경우, 단순하고 데이터에 의존하지 않는 방법인 무작위 투영 기반 LSH가 복잡한 데이터 의존적 해싱 알고리즘을 능가할 수 있는가?
  • RQ5고정밀도 수준에서 RPLSH는 트리 기반, 양자화 기반, 그래프 기반 등의 다른 최첨단 ANNS 방법들과 재현율과 속도 측면에서 어떻게 비교되는가?

주요 결과

  • 코드 길이를 1,024비트 또는 2,048비트로 늘릴 경우, RPLSH는 SIFT1M과 GIST1M 양쪽 데이터셋에서 10개의 다른 해싱 알고리즘을 모두 앞서는 최고의 성능을 기록한다.
  • SIFT1M에서는 높은 재현율 수준에서 최고의 재현율(99% 이상)을 달성했고, 낮은 재현율 수준에서는 두 번째로 좋은 성능을 보였다; GIST1M에서는 재현율이 90%를 초과할 경우 최고의 성능을 기록했다.
  • RPLSH는 다중 테이블 해시 버킷 검색이 아닌 그룹화된 해밍 순위를 사용함으로써, 다른 LSH 기반 방법인 FALCONN보다 뚜렷이 뛰어난 성능을 보였다.
  • 트리 기반 방법(FLANN, Annoy)은 저차원 데이터에서는 잘 작동하지만 고차원 데이터에서는 성능이 떨어지며, FAISS(제품 양자화)는 근사화로 인해 높은 재현율을 달성하지 못한다.
  • 그래프 기반 방법인 KGraph는 고정밀도에서 RPLSH에 비해 성능이 열등했으며, 이는 LSH가 본질적으로 느리거나 정확도가 떨어진다는 주장과 모순된다.
  • 본 연구는 대부분의 해싱 알고리즘이 코드 길이가 길어질수록 성능이 향상됨을 입증했지만, 많은 이전 연구들이 임의의 코드 길이 제한으로 인해 이를 탐색하지 못했다는 점을 밝혔다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.