🚀 Essayez Zilliz Cloud, la version entièrement gérée de Milvus, gratuitement—découvrez des performances 10x plus rapides ! Essayez maintenant>>

milvus-logo
LFAI
  • Home
  • Blog
  • Pour en savoir plus sur la recherche de similarité vectorielle, consultez les ressources suivantes :

Pour en savoir plus sur la recherche de similarité vectorielle, consultez les ressources suivantes :

  • Engineering
January 05, 2021
milvus

L'intelligence artificielle (IA) a le potentiel de changer la façon dont les choses les plus obscures sont faites. Par exemple, chaque année (avant COVID, en tout cas), plus de 73 000 personnes se rassemblent pour participer au marathon de Hong Kong. Afin de détecter et d'enregistrer correctement les temps d'arrivée de tous les participants à la course, les organisateurs distribuent 73 000 chronomètres à puce RFID à attacher à chaque coureur. Le chronométrage par puce est une entreprise complexe qui présente des inconvénients évidents. Le matériel (puces et appareils de lecture électronique) doit être acheté ou loué auprès de sociétés de chronométrage, et une zone d'inscription doit être prévue pour que les coureurs puissent récupérer leurs puces le jour de la course. En outre, si les capteurs ne sont installés qu'aux lignes de départ et d'arrivée, il est possible que des coureurs peu scrupuleux coupent le parcours.

blog-1.jpeg blog-1.jpeg

Imaginons maintenant une application d'IA vidéo capable d'identifier automatiquement les coureurs à partir de séquences filmées sur la ligne d'arrivée, en utilisant une seule photo. Plutôt que d'attacher des puces de chronométrage à chaque participant, les coureurs téléchargent simplement une photo d'eux via une application après avoir franchi la ligne d'arrivée. Instantanément, une vidéo personnalisée, des statistiques sur la course et d'autres informations pertinentes sont fournies. Des caméras installées à différents endroits de la course permettent de filmer les participants et de s'assurer que chaque coureur a parcouru l'intégralité du parcours. Quelle solution semble la plus facile et la plus rentable à mettre en œuvre ?

Bien que le marathon de Hong Kong n'utilise pas (encore) l'apprentissage automatique pour remplacer les puces de chronométrage, cet exemple illustre le potentiel de l'IA à modifier radicalement tout ce qui nous entoure. Pour le chronométrage des courses, il réduit les dizaines de milliers de puces à quelques caméras associées à des algorithmes d'apprentissage automatique. Mais l'IA vidéo n'est qu'une des nombreuses applications de la recherche vectorielle de similarités, un processus qui utilise l'intelligence artificielle pour analyser des ensembles de données non structurées de taille gigantesque, à l'échelle de plusieurs billions. Cet article présente une vue d'ensemble de la technologie de recherche vectorielle, notamment ce qu'elle est, comment elle peut être utilisée, ainsi que les logiciels libres et les ressources qui la rendent plus accessible que jamais.

Aller à :

Les données vidéo sont incroyablement détaillées et de plus en plus courantes. Il semble donc logique qu'elles constituent un excellent signal d'apprentissage non supervisé pour la construction de l'IA vidéo. En réalité, ce n'est pas le cas. Le traitement et l'analyse des données vidéo, en particulier dans les grands volumes, restent un défi pour l'intelligence artificielle. Les progrès récents dans ce domaine, comme la plupart des progrès réalisés dans l'analyse des données non structurées, sont dus en grande partie à la recherche de similarité vectorielle.

Le problème de la vidéo, comme de toutes les données non structurées, est qu'elle ne suit pas de modèle prédéfini ou de structure organisationnelle, ce qui la rend difficile à traiter et à analyser à grande échelle. Les données non structurées comprennent des éléments tels que les images, l'audio, le comportement sur les médias sociaux et les documents, et représentent collectivement plus de 80 à 90 % de l'ensemble des données. Les entreprises sont de plus en plus conscientes des informations critiques enfouies dans des ensembles massifs et énigmatiques de données non structurées, ce qui stimule la demande d'applications d'IA capables d'exploiter ce potentiel inexploité.

À l'aide de réseaux neuronaux tels que CNN, RNN et BERT, les données non structurées peuvent être converties en vecteurs de caractéristiques (également appelés embeddings), un format de données numériques lisible par la machine. Des algorithmes sont ensuite utilisés pour calculer la similarité entre les vecteurs à l'aide de mesures telles que la similarité en cosinus ou la distance euclidienne. L'intégration de vecteurs et la recherche de similitudes permettent d'analyser et de créer des applications d'apprentissage automatique à partir d'ensembles de données auparavant indiscernables.

La similarité vectorielle est calculée à l'aide d'algorithmes établis, mais les ensembles de données non structurées sont généralement très volumineux. Cela signifie qu'une recherche efficace et précise nécessite une grande puissance de stockage et de calcul. Pour accélérer la recherche de similarités et réduire les besoins en ressources, des algorithmes de recherche par approximation du plus proche voisin (ANN) sont utilisés. En regroupant les vecteurs similaires, les algorithmes ANN permettent d'envoyer des requêtes aux groupes de vecteurs les plus susceptibles de contenir des vecteurs similaires, plutôt que d'effectuer des recherches dans l'ensemble des données. Bien que cette approche soit plus rapide, elle sacrifie un certain degré de précision. L'utilisation d'algorithmes ANN permet à la recherche vectorielle de passer au peigne fin des milliards d'informations issues de modèles d'apprentissage profond en une milliseconde.

La recherche vectorielle de similarités a des applications qui couvrent une grande variété de scénarios d'intelligence artificielle, d'apprentissage profond et de calcul vectoriel traditionnel. Voici un aperçu de haut niveau de diverses applications de la recherche vectorielle de similarités :

Commerce électronique : La recherche de similarités vectorielles est largement applicable au commerce électronique, notamment aux moteurs de recherche d'images inversées qui permettent aux acheteurs de rechercher des produits à l'aide d'une image capturée sur leur smartphone ou trouvée en ligne. En outre, des recommandations personnalisées basées sur le comportement de l'utilisateur, ses centres d'intérêt, son historique d'achat, etc. peuvent être fournies par des systèmes de recommandation spécialisés qui s'appuient sur la recherche vectorielle.

Sécurité physique et cybernétique : L'IA vidéo n'est qu'une des nombreuses applications de la recherche vectorielle de similarités dans le domaine de la sécurité. D'autres scénarios incluent la reconnaissance faciale, la traçabilité du comportement, l'authentification de l'identité, le contrôle d'accès intelligent, etc. En outre, la recherche de similarités vectorielles joue un rôle important dans la lutte contre des cyberattaques de plus en plus courantes et sophistiquées. Par exemple, la recherche de similarité de code peut être utilisée pour identifier les risques de sécurité en comparant un logiciel à une base de données de vulnérabilités ou de logiciels malveillants connus.

Moteurs de recommandation : Les moteurs de recommandation sont des systèmes qui utilisent l'apprentissage automatique et l'analyse de données pour suggérer des produits, des services, des contenus et des informations aux utilisateurs. Le comportement de l'utilisateur, le comportement d'utilisateurs similaires et d'autres données sont traités à l'aide de méthodes d'apprentissage profond pour générer des recommandations. Avec suffisamment de données, les algorithmes peuvent être formés pour comprendre les relations entre les entités et inventer des moyens de les représenter de manière autonome. Les systèmes de recommandation ont un large champ d'application et sont déjà utilisés quotidiennement, notamment pour les recommandations de contenu sur Netflix, les recommandations d'achat sur Amazon et les fils d'actualité sur Facebook.

Chatbots : Traditionnellement, les chatbots sont construits à l'aide d'un graphe de connaissances ordinaire qui nécessite un vaste ensemble de données d'apprentissage. Cependant, les chatbots construits à l'aide de modèles d'apprentissage profond n'ont pas besoin de prétraiter les données - à la place, une carte entre les questions fréquentes et les réponses est créée. À l'aide d'un modèle de traitement du langage naturel (NLP) pré-entraîné, des vecteurs de caractéristiques peuvent être extraits des questions, puis stockés et interrogés à l'aide d'une plateforme de gestion des données vectorielles.

Recherche d'images ou de vidéos : Les réseaux d'apprentissage profond sont utilisés pour reconnaître des modèles visuels depuis la fin des années 1970, et les tendances technologiques modernes ont rendu la recherche d'images et de vidéos plus puissante et plus accessible que jamais.

Recherche de similitudes chimiques : La similarité chimique est essentielle pour prédire les propriétés des composés chimiques et trouver des produits chimiques dotés d'attributs spécifiques, ce qui la rend indispensable au développement de nouveaux médicaments. Des empreintes digitales représentées par des vecteurs de caractéristiques sont créées pour chaque molécule, puis les distances entre les vecteurs sont utilisées pour mesurer la similarité. L'utilisation de l'IA pour la découverte de nouveaux médicaments gagne du terrain dans l'industrie technologique, ByteDance (la société mère chinoise de TikTok) commençant à embaucher des talents dans ce domaine.

Logiciels et ressources libres de recherche de similarités vectorielles.

La loi de Moore, l'informatique en nuage et la baisse du coût des ressources sont des macro-tendances qui ont rendu l'intelligence artificielle plus accessible que jamais. Grâce aux logiciels libres et à d'autres ressources accessibles au public, la création d'applications d'IA/ML n'est pas réservée aux grandes entreprises technologiques. Nous présentons ci-dessous un bref aperçu de Milvus, une plateforme open-source de gestion de données vectorielles, et mettons également en évidence certains ensembles de données accessibles au public qui contribuent à mettre l'IA à la portée de tous.

Milvus, une plateforme open-source de gestion de données vectorielles

Milvus est une plateforme open-source de gestion de données vectorielles conçue spécifiquement pour les données vectorielles à grande échelle. Alimenté par Facebook AI Similarity Search (Faiss), Non-Metric Space Library (NMSLIB) et Annoy, Milvus rassemble une variété d'outils puissants au sein d'une plateforme unique tout en étendant leurs fonctionnalités autonomes. Le système a été spécialement conçu pour le stockage, le traitement et l'analyse de grands ensembles de données vectorielles, et peut être utilisé pour construire toutes les applications d'IA (et plus encore) mentionnées ci-dessus.

De plus amples informations sur Milvus sont disponibles sur son site web. Des tutoriels, des instructions pour configurer Milvus, des tests de référence et des informations sur la création d'une variété d'applications différentes sont disponibles dans le Milvus bootcamp. Les développeurs souhaitant contribuer au projet peuvent rejoindre la communauté open-source de Milvus sur GitHub.

Jeux de données publics pour l'intelligence artificielle et l'apprentissage automatique

Ce n'est un secret pour personne que les géants de la technologie tels que Google et Facebook ont un avantage en matière de données sur les petites entreprises. Certains experts préconisent même un "mandat progressif de partage des données" qui obligerait les entreprises dépassant une certaine taille à partager certaines données anonymes avec leurs rivales plus petites. Heureusement, il existe des milliers d'ensembles de données accessibles au public qui peuvent être utilisés pour les projets AL/ML :

  • The People's Speech Dataset : Cet ensemble de données de ML Commons est le plus grand ensemble de données vocales au monde, avec plus de 87 000 heures de discours transcrits dans 59 langues différentes.

  • UC Irvine Machine Learning Repository (référentiel d'apprentissage automatique de l'université de Californie à Irvine) : L'université de Californie à Irvine gère des centaines d'ensembles de données publiques dans le but d'aider la communauté de l'apprentissage automatique.

  • Data.gov : Le gouvernement américain propose des centaines de milliers d'ensembles de données ouvertes dans les domaines de l'éducation, du climat, du COVID-19, etc.

  • Eurostat : L'office statistique de l'Union européenne propose des jeux de données ouverts couvrant un large éventail de secteurs, de l'économie et de la finance à la population et aux conditions sociales.

  • Harvard Dataverse : Le Harvard Dataverse Repository est un dépôt de données gratuit ouvert aux chercheurs de toutes les disciplines. De nombreux jeux de données sont publics, tandis que d'autres sont assortis de conditions d'utilisation plus restrictives.

Bien que cette liste ne soit en aucun cas exhaustive, elle constitue un bon point de départ pour découvrir l'étonnante diversité des jeux de données ouverts. Pour plus d'informations sur les jeux de données publics et sur le choix des bonnes données pour votre prochain projet de ML ou de science des données, consultez cet article de Medium.

Pour en savoir plus sur la recherche de similarité vectorielle, consultez les ressources suivantes :

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    Continuer à Lire