Améliorer la recherche par voisin le plus proche avec des PEOs
Une nouvelle méthode améliore l'efficacité de la recherche approximative du plus proche voisin basée sur des graphes.
― 7 min lire
Table des matières
- C'est quoi la recherche du voisin le plus proche ?
- Approches Basées sur les Graphes pour l'ANNS
- Le défi de trouver des voisins
- Traiter le routage dans l'ANNS
- Les bases des PEOs
- Partitionnement de l'espace
- Étapes du processus PEOs
- Améliorations de performance
- Validation empirique des PEOs
- Le rôle des travaux connexes
- Conclusion
- Source originale
- Liens de référence
Chercher le voisin le plus proche dans un gros jeu de données est un vrai défi en apprentissage automatique, surtout quand on parle d'espaces de haute dimension. Ce truc, on l'appelle souvent recherche approximative du voisin le plus proche (ANNS). Au fil du temps, des techniques utilisant des graphes pour faire de l'ANNS se sont montrées très efficaces, souvent avec de meilleurs résultats que beaucoup d'autres méthodes. Mais la plupart des améliorations de ces techniques reposent sur des méthodes informelles sans un vrai soutien théorique. Cet article présente une nouvelle approche pour améliorer le processus de Routage dans l'ANNS basé sur les graphes, garantissant la précision tout en améliorant l'efficacité.
C'est quoi la recherche du voisin le plus proche ?
La recherche du voisin le plus proche (NNS) sert à identifier le point de données le plus proche d'un jeu de données en fonction d'un point de requête. Cette méthode est largement utilisée dans diverses applications comme la récupération d'images, les systèmes de recommandation, et plus encore. À cause de la complexité des données de haute dimension, obtenir des voisins les plus proches exacts peut être lent et coûteux en calculs. Du coup, beaucoup de chercheurs se concentrent sur des solutions approximatives, qui peuvent donner des résultats plus rapidement tout en maintenant un niveau de précision acceptable.
Approches Basées sur les Graphes pour l'ANNS
Les méthodes basées sur les graphes sont devenues la technique préférée pour faire de l'ANNS à cause de leurs performances empiriques solides. Dans ces méthodes, un graphe de proximité est créé durant la phase d'indexation, où chaque nœud représente un point de données et les arêtes relient des points proches. Quand il est temps de chercher, l'algorithme sort continuellement des nœuds d'une file de priorité, calculant les distances depuis leurs nœuds voisins jusqu'à ce qu'une condition d'arrêt soit atteinte.
Les améliorations dans ces techniques tournent souvent autour de l'optimisation de la façon dont les nœuds sont traversés ou comment les arêtes sont sélectionnées. Beaucoup de stratégies visent à minimiser le nombre de calculs de distance, car ça peut être coûteux en ressources. Cependant, la plupart des techniques actuelles reposent sur des stratégies informelles qui manquent de preuve formelle d'efficacité.
Le défi de trouver des voisins
Lorsqu'on fait de l'ANNS, un des défis est de déterminer quels voisins évaluer pour leur proximité avec le point de requête. Beaucoup de méthodes utilisent des heuristiques-des règles empiriques basées sur des observations-pour décider quels voisins valent le coup d'être vérifiés. Mais ces méthodes entraînent souvent des inefficacités et des niveaux de performance variables selon les différents jeux de données.
Une approche plus structurée est nécessaire pour non seulement améliorer l'efficacité mais aussi avoir une base théorique solide. Donc, cet article vise à améliorer le routage dans l'ANNS basé sur les graphes en proposant une méthode qui garantit des calculs de distance précis.
Traiter le routage dans l'ANNS
Le but ici est d'optimiser la façon dont les algorithmes explorent les voisins durant la phase de recherche de l'ANNS basé sur les graphes. L'idée est de fournir une garantie probabiliste pour quels voisins devraient être évalués en fonction de leur distance potentielle au point de requête. En gros, l'approche vise à s'assurer que l'algorithme priorise les voisins les plus pertinents avec une grande précision.
La solution introduit un nouvel algorithme de routage connu sous le nom de Statistiques d'Ordre Extrême Partitionnées (PEOs). Cette méthode est conçue pour déterminer efficacement quels voisins dans un graphe devraient être considérés pour des calculs de distance exacts.
Les bases des PEOs
Partitionnement de l'espace
Les PEOs commencent par partitionner l'espace de données en plusieurs petits espaces. Cette approche permet à l'algorithme de mieux gérer les points de données tout en réduisant la variance associée aux estimations de distance. En décomposant des structures de données plus larges en parties plus petites et plus gérables, l'algorithme peut prendre des décisions plus précises sur les évaluations de voisins.
Étapes du processus PEOs
- Partitionner l'espace : Diviser l'espace de données original en plusieurs sous-espaces.
- Générer des vecteurs projetés : Dans chaque sous-espace, créer des vecteurs aléatoires pour aider à estimer les distances.
- Collecter des valeurs : Rassembler les valeurs extrêmes, qui représentent les points de données les plus proches, de chaque sous-espace.
- Établir une distribution normale : Associer les valeurs collectées à une distribution normale pour mesurer à quel point un voisin est susceptible d'être pertinent.
- Projection de requête : Normaliser le vecteur de requête et calculer les produits scalaires associés avec les vecteurs projetés.
- Test de routage : Établir un test de routage basé sur les valeurs calculées pour déterminer si la distance d'un voisin à la requête devrait être calculée.
Améliorations de performance
L'implémentation des PEOs est conçue pour optimiser la vitesse de traitement et la précision. En pré-calculant les données nécessaires et en utilisant des stratégies de recherche efficaces, les PEOs peuvent gérer plusieurs voisins simultanément. Ça améliore significativement le débit des recherches, permettant des réponses aux requêtes plus rapides.
Validation empirique des PEOs
Lors des tests sur plusieurs jeux de données disponibles publiquement, les PEOs ont montré des améliorations notables en performance. L'intégration des PEOs avec des structures de graphes existantes comme HNSW a entraîné une réduction des calculs de distance exacts entre 70% et 80%. Cette optimisation a provoqué des augmentations considérables du nombre de requêtes traitées par seconde.
En termes pratiques, ça veut dire que les PEOs permettent aux systèmes de gérer beaucoup plus de demandes en même temps, améliorant l'expérience utilisateur tout en maintenant des niveaux de précision acceptables.
Le rôle des travaux connexes
Il existe de nombreuses stratégies pour faire de l'ANNS, allant des méthodes basées sur des arbres aux techniques de hachage et de quantification. Parmi celles-ci, les approches basées sur les graphes se sont révélées particulièrement efficaces. Les méthodes existantes se concentrent souvent sur l'amélioration de l'efficacité en optimisant les processus de routage et la sélection des arêtes.
Cependant, les PEOs se démarquent car elles mettent non seulement l'accent sur l'aspect routage mais apportent également une garantie théorique au processus. En s'assurant que les voisins les plus pertinents sont explorés, les PEOs peuvent offrir de meilleures performances par rapport aux méthodes actuelles à la pointe de la technologie.
Conclusion
La recherche des voisins les plus proches dans des espaces de haute dimension est un défi constant dans divers domaines de l'apprentissage automatique. Les méthodes basées sur les graphes offrent une approche prometteuse, mais la dépendance aux optimisations heuristiques a limité leur efficacité. En introduisant les PEOs, ce travail propose une nouvelle perspective sur le routage dans l'ANNS basé sur les graphes, combinant performance empirique et garanties théoriques.
Les résultats montrent que les PEOs peuvent booster significativement la performance des techniques d'ANNS existantes, assurant que les systèmes peuvent gérer efficacement de gros jeux de données tout en produisant des résultats précis. Ainsi, cette approche représente une contribution précieuse au développement continu de techniques de recherche efficaces dans des espaces de haute dimension.
Titre: Probabilistic Routing for Graph-Based Approximate Nearest Neighbor Search
Résumé: Approximate nearest neighbor search (ANNS) in high-dimensional spaces is a pivotal challenge in the field of machine learning. In recent years, graph-based methods have emerged as the superior approach to ANNS, establishing a new state of the art. Although various optimizations for graph-based ANNS have been introduced, they predominantly rely on heuristic methods that lack formal theoretical backing. This paper aims to enhance routing within graph-based ANNS by introducing a method that offers a probabilistic guarantee when exploring a node's neighbors in the graph. We formulate the problem as probabilistic routing and develop two baseline strategies by incorporating locality-sensitive techniques. Subsequently, we introduce PEOs, a novel approach that efficiently identifies which neighbors in the graph should be considered for exact distance calculation, thus significantly improving efficiency in practice. Our experiments demonstrate that equipping PEOs can increase throughput on commonly utilized graph indexes (HNSW and NSSG) by a factor of 1.6 to 2.5, and its efficiency consistently outperforms the leading-edge routing technique by 1.1 to 1.4 times.
Auteurs: Kejing Lu, Chuan Xiao, Yoshiharu Ishikawa
Dernière mise à jour: 2024-07-10 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2402.11354
Source PDF: https://arxiv.org/pdf/2402.11354
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.