Table des matières
Fond
Méthode
Résultats expérimentaux
Maison Périphériques technologiques IA FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

Apr 11, 2023 pm 09:31 PM
框架 开源

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

Lien papier : https://arxiv.org/pdf/2105.10375.pdf

Application & Code :

Fond

La classification d'images est actuellement l'IA la plus performante L'une des technologies d'application pratique a été intégrée dans la vie quotidienne des gens. Il est largement utilisé dans la plupart des tâches de vision par ordinateur, telles que la classification d'images, la recherche d'images, l'OCR, la révision de contenu, l'authentification par reconnaissance et d'autres domaines. Il existe désormais un consensus général : « Lorsque l'ensemble de données est plus grand et comporte plus d'identifiants, tant qu'il est correctement formé, l'effet de la tâche de classification correspondante sera meilleur. Cependant, face à des dizaines de millions d'identifiants, voire des centaines de millions d'identifiants, il est difficile pour le cadre DL actuellement populaire de mener directement une telle formation de classification à très grande échelle à faible coût.

La manière la plus intuitive de résoudre ce problème est de consommer plus de ressources de la carte graphique via le clustering, mais même ainsi, le problème de classification sous identifiants massifs aura toujours les problèmes suivants :

1) Problème de coût : Formation distribuée framework + Dans le cas de données massives, la surcharge mémoire, la communication multi-machines, le stockage et le chargement des données consommeront plus de ressources.

2) Problème de longue traîne : dans des scénarios réels, lorsque l'ensemble de données atteint des centaines de millions d'identifiants, le nombre d'échantillons d'images dans la plupart des identifiants sera souvent très faible. C'est très évident et il est difficile d'obtenir des données plus volumineuses grâce à une formation directe.

Les chapitres restants de cet article se concentreront sur les solutions existantes pour les cadres de classification à très grande échelle, ainsi que sur les principes et astuces correspondants du cadre de classification à faible coût FFC.

Méthode

Avant de présenter la méthode, cet article passe d'abord en revue les principaux défis de la classification actuelle à très grande échelle :

Point du défi 1 : Le coût reste élevé

Plus la nombre d'ID, plus il y a de classification. Plus les besoins en mémoire de l'ordinateur sont élevés, comme le montre le diagramme suivant : Plus la mémoire est grande, plus il faut de cartes machine et plus le coût est élevé, et plus le coût de l'infrastructure matérielle correspondante est élevé. pour la collaboration multi-machines. Dans le même temps, lorsque le nombre d'ID de classification atteint une échelle extrêmement grande, la majeure partie du calcul sera gaspillée sur la dernière couche de classificateurs et le temps consommé par le réseau squelette est négligeable.

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

Point de défi 2 : difficulté d'apprentissage à longue traîne

Dans les scénarios réels, la plupart des centaines de millions d'identifiants auront très peu d'échantillons d'images, et la distribution des données à longue traîne est très évidente , directement La formation est difficile à converger. S’ils sont entraînés selon des poids égaux, les échantillons à longue traîne seront submergés et insuffisamment appris. À l'heure actuelle, des échantillons déséquilibrés sont généralement utilisés. Sur ce sujet de recherche, il existe de nombreuses méthodes qui peuvent être utilisées comme référence. Quelle méthode est la plus adaptée à intégrer dans le cadre de classification simple à très grande échelle ? Avec les deux défis ci-dessus, examinons d'abord les solutions réalisables existantes et si elles peuvent bien résoudre les deux défis ci-dessus.

Méthode réalisable 1 : Apprentissage métrique

Méthode réalisable 2 : Framework PFC

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

Méthode réalisable 3 : cadre VFC

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

La méthode de cet article : cadre FFC

La fonction de perte lors de l'entraînement avec FC pour une classification à grande échelle est la suivante :


FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

Dans chaque processus de rétro-propagation, tous les centres de classe seront mis à jour :

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

Mais FC est trop grand, l'idée intuitive est de sélectionner raisonnablement une certaine proportion de classe centres, c'est-à-dire que Vj vaut 1 comme suit Partie :

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

La motivation ci-dessus conduit au plan préliminaire suivant :

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

Tout d'abord, afin de résoudre l'impact de la longue traîne , cet article présente deux chargeurs, basés sur l'échantillonnage d'identifiants, id_loader et instance_loader basés sur un échantillonnage d'échantillons, avec ces deux chargeurs. A chaque époque, les classes avec de nombreux échantillons et les classes avec peu d'échantillons (quelques plans) peuvent avoir la possibilité de s'entraîner.

Deuxièmement, avant le début de la formation, envoyez une partie des échantillons au groupe id. Ici, on suppose que 10 % des échantillons id sont mis dans le groupe. Pour le moment, la galerie utilise des paramètres aléatoires.

Puis, lorsque la formation commence, les échantillons du lot entrent un par un dans le réseau de la sonde. Ensuite, il existe deux situations pour les échantillons de chaque lot : 1.) Il existe des caractéristiques avec le même ID de cet échantillon dans le groupe, 2.) Il n'y a aucune caractéristique d'échantillons similaires dans le groupe. Pour ces deux cas, appelez-les respectivement identifiant existant et nouvel identifiant. Pour les échantillons existants, utilisez la fonctionnalité et la fonctionnalité du groupe pour créer le produit interne, calculez la fonction de perte d'entropie croisée avec l'étiquette, puis renvoyez-la. Pour les échantillons frais, minimisez la similarité cosinus avec les échantillons du groupe.

Enfin, les fonctionnalités du groupe sont mises à jour et remplacées par de nouveaux centres de classe, sur la base du principe de pondération des centres de classe existants. Pour Gallery Net, la stratégie de moyenne mobile est utilisée pour mettre à jour progressivement les paramètres de la sonde.

Méthode de cet article : Introduction de l'astuce

1.) La taille du groupe d'ID introduit est un paramètre réglable, généralement la valeur par défaut est de 30 000.

2.) Afin d'obtenir un entraînement stable, référez-vous à la méthode de classe moco et introduisez la moyenne mobile. Les conditions de convergence correspondantes sont :

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

Résultats expérimentaux

1.

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

2. Comparaison des effets de la méthode SOTA

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

3. Comparaison de la mémoire vidéo et du débit d'échantillon

FFC, le cadre de classification à grande échelle et à faible coût open source de la DAMO Academy

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment évaluer la rentabilité du support commercial des frameworks Java Comment évaluer la rentabilité du support commercial des frameworks Java Jun 05, 2024 pm 05:25 PM

L'évaluation du rapport coût/performance du support commercial pour un framework Java implique les étapes suivantes : Déterminer le niveau d'assurance requis et les garanties de l'accord de niveau de service (SLA). L’expérience et l’expertise de l’équipe d’appui à la recherche. Envisagez des services supplémentaires tels que les mises à niveau, le dépannage et l'optimisation des performances. Évaluez les coûts de support commercial par rapport à l’atténuation des risques et à une efficacité accrue.

Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Jun 06, 2024 pm 12:41 PM

La courbe d'apprentissage d'un framework PHP dépend de la maîtrise du langage, de la complexité du framework, de la qualité de la documentation et du support de la communauté. La courbe d'apprentissage des frameworks PHP est plus élevée par rapport aux frameworks Python et inférieure par rapport aux frameworks Ruby. Par rapport aux frameworks Java, les frameworks PHP ont une courbe d'apprentissage modérée mais un temps de démarrage plus court.

Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Jun 06, 2024 am 10:53 AM

Le framework PHP léger améliore les performances des applications grâce à une petite taille et une faible consommation de ressources. Ses fonctionnalités incluent : une petite taille, un démarrage rapide, une faible utilisation de la mémoire, une vitesse de réponse et un débit améliorés et une consommation de ressources réduite. Cas pratique : SlimFramework crée une API REST, seulement 500 Ko, une réactivité élevée et un débit élevé.

Bonnes pratiques en matière de documentation du framework Golang Bonnes pratiques en matière de documentation du framework Golang Jun 04, 2024 pm 05:00 PM

La rédaction d'une documentation claire et complète est cruciale pour le framework Golang. Les meilleures pratiques incluent le respect d'un style de documentation établi, tel que le Go Coding Style Guide de Google. Utilisez une structure organisationnelle claire, comprenant des titres, des sous-titres et des listes, et fournissez la navigation. Fournit des informations complètes et précises, notamment des guides de démarrage, des références API et des concepts. Utilisez des exemples de code pour illustrer les concepts et l'utilisation. Maintenez la documentation à jour, suivez les modifications et documentez les nouvelles fonctionnalités. Fournir une assistance et des ressources communautaires telles que des problèmes et des forums GitHub. Créez des exemples pratiques, tels que la documentation API.

Comment choisir le meilleur framework Golang pour différents scénarios d'application Comment choisir le meilleur framework Golang pour différents scénarios d'application Jun 05, 2024 pm 04:05 PM

Choisissez le meilleur framework Go en fonction des scénarios d'application : tenez compte du type d'application, des fonctionnalités du langage, des exigences de performances et de l'écosystème. Frameworks Go courants : Gin (application Web), Echo (service Web), Fibre (haut débit), gorm (ORM), fasthttp (vitesse). Cas pratique : construction de l'API REST (Fiber) et interaction avec la base de données (gorm). Choisissez un framework : choisissez fasthttp pour les performances clés, Gin/Echo pour les applications Web flexibles et gorm pour l'interaction avec la base de données.

Explication pratique détaillée du développement du framework Golang : questions et réponses Explication pratique détaillée du développement du framework Golang : questions et réponses Jun 06, 2024 am 10:57 AM

Dans le développement du framework Go, les défis courants et leurs solutions sont les suivants : Gestion des erreurs : utilisez le package d'erreurs pour la gestion et utilisez un middleware pour gérer les erreurs de manière centralisée. Authentification et autorisation : intégrez des bibliothèques tierces et créez un middleware personnalisé pour vérifier les informations d'identification. Traitement simultané : utilisez des goroutines, des mutex et des canaux pour contrôler l'accès aux ressources. Tests unitaires : utilisez les packages, les simulations et les stubs gotest pour l'isolation, ainsi que les outils de couverture de code pour garantir la suffisance. Déploiement et surveillance : utilisez les conteneurs Docker pour regrouper les déploiements, configurer les sauvegardes de données et suivre les performances et les erreurs avec des outils de journalisation et de surveillance.

Quels sont les malentendus courants dans le processus d'apprentissage du framework Golang ? Quels sont les malentendus courants dans le processus d'apprentissage du framework Golang ? Jun 05, 2024 pm 09:59 PM

Il existe cinq malentendus dans l'apprentissage du framework Go : une dépendance excessive à l'égard du framework et une flexibilité limitée. Si vous ne respectez pas les conventions du framework, le code sera difficile à maintenir. L'utilisation de bibliothèques obsolètes peut entraîner des problèmes de sécurité et de compatibilité. L'utilisation excessive de packages obscurcit la structure du code. Ignorer la gestion des erreurs entraîne un comportement inattendu et des plantages.

Quels sont les éléments courants auxquels il faut prêter attention lors de l'utilisation du framework Golang ? Quels sont les éléments courants auxquels il faut prêter attention lors de l'utilisation du framework Golang ? Jun 06, 2024 pm 01:33 PM

Lorsque vous utilisez le framework Golang, vous devez faire attention à : vérifier si la route correspond à la demande pour éviter les erreurs de routage. Utilisez le middleware avec prudence pour éviter une dégradation des performances. Gérez correctement les connexions à la base de données pour éviter les problèmes de performances ou les plantages. Utilisez des wrappers d’erreurs pour gérer les erreurs et garantir que votre code est clair et facile à déboguer. Obtenez des packages tiers auprès de sources réputées et maintenez les packages à jour.

See all articles