Lien papier : https://arxiv.org/pdf/2105.10375.pdf
Application & Code :
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.
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.
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
Méthode réalisable 3 : cadre VFC
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 :
Dans chaque processus de rétro-propagation, tous les centres de classe seront mis à jour :
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 :
La motivation ci-dessus conduit au plan préliminaire suivant :
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 :
1.
2. Comparaison des effets de la méthode SOTA
3. Comparaison de la mémoire vidéo et du débit d'échantillon
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!