**Auteur :** Li Ruifeng
Titre de l'article
Vecteurs de base équiangulaires
Source de papier
CVPR 2023
Lien papier
https://arxiv.org/abs/2303.11637
lien de code
https://github.com/msfuxian/EBV
En tant que framework d'IA open source, MindSpore apporte une collaboration industrie-université-recherche et développeurs dans des scénarios complets de collaboration périphérique-cloud, un développement minimaliste, des performances ultimes, une pré-formation en IA à très grande échelle, un développement minimaliste et un environnement sûr et digne de confiance. expérience, 2020.3.28 L'Open source compte plus de 5 millions de téléchargements. MindSpore a pris en charge des centaines de documents de conférence de premier plan sur l'IA, est entré dans l'enseignement de plus de 100 universités et est disponible dans le commerce sur plus de 5 000 applications via HMS. développeurs et se trouve dans le centre de calcul de l'IA, de la finance, de la fabrication intelligente, de la finance, du cloud, du sans fil, des communications de données, de l'énergie, des consommateurs 1+8+N, des voitures intelligentes et d'autres scénarios de voiture cloud de pointe sont progressivement largement répandus. utilisé, et c'est le logiciel open source avec l'indice Gitee le plus élevé. Tout le monde est invité à participer aux contributions open source, aux kits, à l'intelligence collective modèle, à l'innovation et aux applications industrielles, à l'innovation algorithmique, à la coopération universitaire, à la coopération en matière de livres d'IA, etc., et à contribuer à vos cas d'application du côté cloud, côté appareil, côté périphérie et domaines de sécurité.
Grâce au soutien massif de SunSilicon MindSpore de la part de la communauté scientifique et technologique, du monde universitaire et de l'industrie, les articles sur l'IA basés sur SunSilicon MindSpore représentaient 7 % de tous les frameworks d'IA en 2023, se classant au deuxième rang mondial pendant deux années consécutives. toutes les universités Avec le soutien des enseignants, nous continuerons à travailler dur ensemble pour faire de la recherche et de l'innovation en IA. La communauté MindSpore soutient les meilleures recherches sur les articles de conférence et continue de produire des résultats originaux en matière d'IA. Je sélectionnerai occasionnellement d'excellents articles à promouvoir et à interpréter. J'espère que davantage d'experts de l'industrie, du monde universitaire et de la recherche coopéreront avec MindSpore pour promouvoir la recherche originale sur l'IA. La communauté Shengsi MindSpore continuera à soutenir l'innovation et les applications de l'IA. de Shengsi MindSpore Pour le 17e article de la série d'articles de la conférence AI, j'ai choisi d' interpréter un article de l'équipe du Dr Wei Xiushen de l'École d'informatique et d'ingénierie de l'Université des sciences et technologies de Nanjing . pour remercier tous les experts, professeurs et camarades de classe pour leurs contributions.
MindSpore vise à atteindre trois objectifs majeurs : un développement facile, une exécution efficace et une couverture complète des scénarios. Grâce à l'expérience d'utilisation, MindSpore, un framework d'apprentissage en profondeur, se développe rapidement et la conception de ses différentes API est constamment optimisée dans une direction plus raisonnable, plus complète et plus puissante. En outre, divers outils de développement qui émergent constamment de Shengsi aident également cet écosystème à créer des méthodes de développement plus pratiques et plus puissantes, telles que MindSpore Insight, qui peut présenter l'architecture du modèle sous la forme d'un diagramme et peut également surveiller dynamiquement divers aspects. du modèle pendant l'exécution. Les modifications des indicateurs et des paramètres rendent le processus de développement plus pratique.
Le problème que cet article souhaite étudier est le problème de classification de grandes catégories, comme les problèmes de classification de 100 000 ou 1 million de catégories. Pour un réseau comme ResNet-50, la dernière couche linéaire pour gérer un tel problème de classification nécessite une quantité de paramètres de 2048×100000 ou 2048×1000000, ce qui rendra fc plus grand que la quantité de paramètres de la couche d'extraction de fonctionnalités précédente.
D'un autre côté, les problèmes de classification générale choisissent des vecteurs ponctuels comme étiquettes, ce qui peut être compris comme une base orthogonale où l'angle entre deux vecteurs quelconques est de 90 degrés. Fin 2021, il y avait un article dans l'Annual Journal of Mathematics qui disait que lorsque la dimension D tend vers l'infini, pour un angle donné, le nombre de droites d'angles égaux mentionnées ci-dessus est linéairement lié à D ( voir Lignes équiangulaires à angle fixe).
Donc si les angles sont complètement égaux, le nombre de catégories est grand, et D doit également être grand. L'idée au début de cet article est donc de faire quelques optimisations dans l'angle. Lorsque l'angle est approximativement contraint à 83-97 (symétrie axiale), 5 000 dimensions peuvent accueillir la base de 100 000 catégories, et en même temps cela le fera. n'a pas un grand impact sur les performances de la classification, cela a un impact énorme et l'ensemble de données correspondant est également open source. De plus, lorsque l’angle est égal à 0, il existe d’innombrables vecteurs de base dans l’espace, cela doit donc être vrai. Cependant, il n’existe pas de solution mathématique fixe à α, aux dimensions de l’espace et au nombre de ces vecteurs, seulement dans certains cas particuliers. . Pour les réponses, veuillez vous référer au livre "Sparse and Redundant Representations – From Theory to Applications in Signal and Image Processing". La partie code de tâche de classification suit l'exemple fourni dans la documentation officielle de MindSpore. Elle peut être complétée en modifiant simplement l'ensemble de données, ce qui est très pratique.
01
Fond de recherche
Le domaine de la classification des modèles vise à attribuer les signaux d’entrée en deux ou plusieurs catégories. Ces dernières années, les modèles d’apprentissage profond ont apporté des percées dans le traitement des images, des vidéos, de l’audio, du texte et d’autres données. Aidées par les améliorations rapides du matériel, les méthodes d'apprentissage en profondeur actuelles peuvent facilement s'adapter à un million d'images et surmonter l'obstacle précédent lié à la mauvaise qualité des fonctionnalités artisanales dans les tâches de classification de modèles. De nombreuses méthodes basées sur l'apprentissage profond ont vu le jour et ont été utilisées pour résoudre des problèmes de classification dans divers scénarios et contextes, tels que la télédétection, l'apprentissage en quelques étapes, les problèmes à longue traîne, etc.
La figure 1 illustre quelques paradigmes typiques de tâches de classification. Actuellement, un grand nombre de méthodes d'apprentissage en profondeur utilisent des couches entièrement connectées entraînables combinées à softmax comme classificateurs. Cependant, étant donné que le nombre de catégories est fixe, un tel classificateur a une faible évolutivité, et le nombre de paramètres pouvant être entraînés du classificateur augmentera également à mesure que le nombre de catégories augmente. Par exemple, la consommation de mémoire de la couche entièrement connectée augmente linéairement à mesure que le nombre de catégories N augmente, et le coût de calcul de la multiplication matricielle entre la couche entièrement connectée et les caractéristiques à d dimensions augmente également. Certaines méthodes basées sur l'apprentissage métrique classique doivent prendre en compte tous les échantillons d'entraînement et concevoir des paires d'échantillons positifs/négatifs, puis optimiser un centre de classe pour chaque catégorie, ce qui nécessite de nombreux calculs supplémentaires pour les ensembles de données à grande échelle, en particulier pour les tâches de pré-entraînement. .
Figure 1 Comparaison entre les paradigmes de classification typiques et les EBV
1. Classificateur se terminant par la couche entièrement connectée k-way et softmax. À mesure que de nouvelles catégories sont ajoutées, les paramètres entraînables du classificateur augmentent de manière linéaire.
2. En prenant « l'intégration de triplet » comme exemple de méthode d'apprentissage métrique classique, lorsque M images sont données, sa complexité est de . Lorsqu'une nouvelle catégorie avec des échantillons est ajoutée , la complexité augmentera à .
3. Nos EBV proposés. Les EBV prédéfinissent des intégrations normalisées fixes pour différentes catégories. Les paramètres entraînables du réseau ne changent pas à mesure que le nombre de catégories augmente, tandis que la complexité informatique ne fait qu'augmenter de à .
02
présentation de l'équipe
Groupe d'intelligence visuelle et de perception (VIP), dirigé par le professeur Wei Xiushen . L'équipe a publié dans des revues internationales de premier plan dans des domaines connexes tels que IEEE TPAMI, IEEE TIP, IEEE TNNLS, IEEE TKDE, Machine Learning Journal, "Chinese Science: Information Science", etc., ainsi que dans des conférences internationales de premier plan telles que NeurIPS, CVPR, ICCV, ECCV, IJCAI, AAAI, etc. Il a publié plus de cinquante articles et des travaux connexes ont remporté un total de 7 championnats du monde dans des compétitions internationales faisant autorité dans le domaine de la vision par ordinateur, notamment DIGIX 2023, SnakeCLEF 2022, iWildCam 2020, iNaturalist 2019 et Analyse de la personnalité apparente 2016.
03
Introduction au document
Dans cet article, nous proposons des bases vectorielles à angle égal (EBV) pour remplacer les classificateurs couramment utilisés dans les tâches de classification des réseaux neuronaux profonds. Les EBV prédéfinissent un vecteur de base normalisé fixe pour toutes les catégories. Les angles entre ces vecteurs de base sont les mêmes et sont contraints d'être mutuellement orthogonaux autant que possible. Plus précisément, dans une hypersphère unitaire à d dimensions, pour chaque catégorie de la tâche de classification, les EBV définissent un plongement normalisé à d dimensions sur la surface de l'hypersphère. Nous appelons ces vecteurs de base de plongements. La distance sphérique de chaque paire de vecteurs de base satisfait une règle définie qui rend la relation entre deux vecteurs de base aussi proche que possible de l'orthogonie et avec des angles similaires. Afin de maintenir constants les paramètres entraînables du réseau neuronal profond à mesure que le nombre de catégories augmente, nous proposons ensuite la définition des EBV basée sur les deux problèmes mathématiques du problème de Tammes et des lignes équiangulaires.
Tout d’abord, nous donnons une définition spécifique des EBV. Nous savons que d bases de vecteurs orthogonaux peuvent construire un espace euclidien à d dimensions . En même temps, si deux vecteurs sont dans une relation orthogonale, en mathématiques, nous pensons que les deux vecteurs n'ont aucune corrélation. Cependant, un tel espace à d dimensions peut accueillir jusqu'à d bases vectorielles, c'est-à-dire le nombre de catégories qu'il peut accueillir , et ne peut pas répondre aux exigences de réduction de l'espace mémoire pour une classification à grande échelle. Par conséquent, nous devons optimiser la relation angulaire entre les différentes bases vectorielles. En supposant que dans l'hypersphère unitaire , prenez et définissez la plage angulaire de deux bases vectorielles quelconques comme . Pour une quantité de catégorie N donnée, trouver la valeur minimale qui remplit les conditions ou pour une valeur acceptable , trouver la plage de valeurs de la quantité de catégorie N dans l'espace, qui complète la définition des EBV. Son expression mathématique peut être résumée par la recherche d'un ensemble de base de vecteurs avec des angles égaux qui remplissent les conditions pour satisfaire :
Parmi eux, et la moyenne , , représentent la norme euclidienne. En supposant ensuite qu'il s'agit d'une fonction métrique de la distance sphérique unitaire, pour tout vecteur de caractéristiques à interroger , sa corrélation avec la base du vecteur peut être exprimée comme suit :
Parmi eux, représente les N vecteurs de base dans l'ensemble de bases vectorielles. représente ensuite les indices de tous les vecteurs de base à calculer, de la même manière, .
Nous donnons ensuite la méthode de génération des EBV. Nous initialisons aléatoirement une matrice pour représenter l'ensemble de base de vecteurs à angle égal , où d représente la dimension de chaque vecteur de base et N représente le nombre de vecteurs de base requis. Normalisez ensuite chaque vecteur de base à d dimensions dans , de sorte que la somme de deux vecteurs de base quelconques dans puisse être exprimée comme et , et , . De cette façon, la distance sphérique de et peut être remplacée par une similarité cosinusoïdale, exprimée par . Dans le processus de descente de gradient stochastique, le gradient de toute paire de vecteurs de base satisfaisante est coupé par écrêtage de gradient, et les paires de vecteurs de base restantes sont optimisées en même temps. La fonction d'optimisation globale peut être exprimée comme suit :
Autrement dit, si , le gradient correspondant est tronqué et l'optimisation n'est plus effectuée.
Enfin, nous donnons une méthode d'optimisation pour les EBV lorsqu'ils sont utilisés dans des tâches de classification. Supposons que N catégories contiennent un total d'échantillons de données et que leurs étiquettes correspondantes sont , qui représentent les données, qui représentent les étiquettes correspondantes. Le vecteur de caractéristiques correspondant peut être exprimé par , où représente un extracteur de caractéristiques, qui peut généralement être compris comme un réseau neuronal profond à optimiser, et représente les paramètres de l'extracteur de caractéristiques à optimiser. Par conséquent, la probabilité que le vecteur de caractéristiques correspondant aux données soit estimé comme une catégorie peut être exprimée comme suit :
Parmi eux, représente la transposition du poids de la Jème catégorie . Dans le processus de génération des EBV, chaque vecteur de base de l'ensemble a été régularisé et remplacé par le poids de catégorie dans la formule (4). Enfin, la fonction objectif pour atteindre les EBV peut être obtenue :
Parmi eux, représente la régularisation du vecteur de caractéristiques correspondant , qui est un hyperparamètre utilisé pour réduire la difficulté d'optimisation. Ensuite, l'objectif d'optimisation est finalement converti en maximisation de la probabilité de distribution conjointe , où représente la fonction de connexion, qui représente la probabilité que le vecteur de caractéristiques obtenu par l'extracteur de caractéristiques soit considéré comme une catégorie, puis l'objectif d'optimisation peut être réécrit en minimisant le Log de vraisemblance négative comme fonction suivante :
04
Résultats expérimentaux
Nous avons mené des expériences comparatives sur les tâches de classification dans l'ensemble de données ImageNet-1K, les tâches de segmentation d'instance et de détection de cibles dans l'ensemble de données MS COCO, la segmentation sémantique dans l'ensemble de données ADE20K et un grand nombre de tâches de classification en aval. Ici, nous utilisons uniquement ImageNet-The. les résultats de la classification en 1K sont pris à titre d'exemple pour illustrer l'efficacité de la méthode. Afin de prouver l'efficacité des EBV proposés, notre méthode de comparaison de base fait référence à la méthode de formation de pointe fournie par TorchVision. Nous proposons trois contextes de formation différents :
1. Définissez A0 pour représenter les paramètres de formation dans le texte ResNet original ;
2. Le réglage A1 signifie utiliser le planificateur de taux d'apprentissage de la décroissance du cosinus et adopter la stratégie d'entraînement d'échauffement, tout en utilisant des stratégies d'amélioration telles que la décroissance du poids et TrivialAugment ;
3. Le réglage A2 signifie ajouter les trois stratégies de 1abel-lissage, cutmix et mixup sur la base de A1.
Comme le montre le tableau 1, les résultats expérimentaux montrent que les EBV présentent une plus grande amélioration que les classificateurs traditionnels dans les mêmes paramètres expérimentaux.
Tableau 1 Résultats de comparaison sur l'ensemble de validation ImageNet-1K
05
Résumé et perspectives
Cet article propose un nouveau paradigme pour les tâches de classification : les bases vectorielles à angles égaux (EBV). Dans les réseaux de neurones profonds, les modèles gèrent généralement les tâches de classification avec des couches k-way entièrement connectées avec softmax, et les objectifs d'apprentissage de ces méthodes peuvent être résumés comme mappant les représentations de caractéristiques apprises à l'espace d'étiquettes de l'échantillon. Dans la méthode d'apprentissage métrique, l'objectif d'apprentissage peut être résumé comme l'apprentissage d'une fonction de cartographie pour mapper les points de données d'entraînement de l'espace d'origine vers un nouvel espace, et rapprocher le même type de points d'échantillonnage dans l'espace, ainsi que la distance entre les différents Les types de points deviennent plus éloignés. Différentes des méthodes ci-dessus, les EBV prédéfinissent un vecteur de base normalisé fixe pour toutes les catégories. Dans le processus de prédéfinition, les angles entre ces vecteurs de base sont les mêmes et sont contraints d'être autant que possible orthogonaux les uns par rapport aux autres. Au cours de la phase de formation, ces vecteurs de base servent directement de cibles de cartographie fixes pour des échantillons de différentes catégories, et l'objectif d'apprentissage des EBV change également pour minimiser la distance sphérique entre l'intégration des caractéristiques de l'image et les vecteurs de base prédéfinis. Dans la phase de vérification, puisque chaque catégorie est liée à un vecteur de base fixe, l'étiquette de l'image peut être jugée par la valeur minimale de la distance sphérique entre les caractéristiques intégrées de l'image et tous les vecteurs de base. Puisqu'il s'agit d'un problème de classification, la formation peut être complétée très rapidement selon l'exemple de code officiel de MindSpore.
Un programmeur né dans les années 1990 a développé un logiciel de portage vidéo et en a réalisé plus de 7 millions en moins d'un an. La fin a été très éprouvante ! Google a confirmé les licenciements, impliquant la « malédiction des 35 ans » des codeurs chinois des équipes Flutter, Dart et . Python Arc Browser pour Windows 1.0 en 3 mois officiellement la part de marché de GA Windows 10 atteint 70 %, Windows 11 GitHub continue de décliner l'outil de développement natif d'IA GitHub Copilot Workspace JAVA. est la seule requête de type fort capable de gérer OLTP+OLAP. C'est le meilleur ORM. Nous nous rencontrons trop tard.