임베딩 공간을 여러개로 쪼갠 후, Query Vector가 포함되는 공간 내에 존재하는 벡터만 유사도를 계산하자.

문제점

가장 근접한 점이 tree의 다른 node에 있는 경우 해당 점은 후보 subset에 포함되지 못한다.

해결 방안

  1. priority queue를 사용하여 가까운 다른 node를 탐색
  2. binary tree를 여러 개 생성하여 병렬적으로 탐색

Annoy parameter

  1. number_of_trees: 생성하는 binary tree의 개수
  2. search_k: NN을 구할 때 탐색하는 node의 개수

두 값을 조정하여 Accuracy vs Speed trade-off 조정이 가능하다.

특징