Articles · arXiv 2002.05709
A Simple Framework for Contrastive Learning of Visual Representations
Publié le cs.LGcs.CVstat.ML arXivPDF
Résumé en trois lignes
- 🎯 Les méthodes contrastives auto-supervisées précédentes reposaient sur des architectures complexes, des banques de mémoire ou des réseaux spécialisés d'agrégation de contexte.
- 🔧 SimCLR maximise l'accord latent entre différentes vues augmentées d'images à l'aide de ResNets standards, d'une tête de projection non linéaire, de grands mini-batches pour les négatifs et de la perte NT-Xent.
- 📈 Un classifieur linéaire sur un ResNet-50 (4×) SimCLR atteint 76,5 % de précision top-1 sur ImageNet, et le fine-tuning sur seulement 1 % des étiquettes donne 85,8 % de précision top-5.
Résumé
Cet article présente SimCLR : un cadre simple pour l'apprentissage contrastif de représentations visuelles. Nous simplifions les algorithmes d'apprentissage auto-supervisé contrastif récemment proposés sans nécessiter d'architectures spécialisées ni de banque de mémoire (memory bank). Afin de comprendre ce qui permet aux tâches de prédiction contrastive d'apprendre des représentations utiles, nous étudions systématiquement les composants majeurs de notre cadre. Nous montrons que (1) la composition d'augmentations de données joue un rôle crucial dans la définition de tâches prédictives efficaces, (2) l'introduction d'une transformation non linéaire apprenable entre la représentation et la perte contrastive améliore considérablement la qualité des représentations apprises, et (3) l'apprentissage contrastif tire parti de tailles de batch plus grandes et d'un nombre accru d'étapes d'entraînement par rapport à l'apprentissage supervisé. En combinant ces découvertes, nous surpassons largement les méthodes précédentes pour l'apprentissage auto-supervisé et semi-supervisé sur ImageNet. Un classifieur linéaire entraîné sur les représentations auto-supervisées apprises par SimCLR atteint une précision top-1 de 76,5 %, ce qui représente une amélioration relative de 7 % par rapport à l'état de l'art précédent, égalant les performances d'un ResNet-50 supervisé. En effectuant un réglage fin (fine-tuning) sur seulement 1 % des étiquettes, nous atteignons une précision top-5 de 85,8 %, surpassant AlexNet avec 100 fois moins d'étiquettes.
Résumé original (anglais)
This paper presents SimCLR: a simple framework for contrastive learning of visual representations. We simplify recently proposed contrastive self-supervised learning algorithms without requiring specialized architectures or a memory bank. In order to understand what enables the contrastive prediction tasks to learn useful representations, we systematically study the major components of our framework. We show that (1) composition of data augmentations plays a critical role in defining effective predictive tasks, (2) introducing a learnable nonlinear transformation between the representation and the contrastive loss substantially improves the quality of the learned representations, and (3) contrastive learning benefits from larger batch sizes and more training steps compared to supervised learning. By combining these findings, we are able to considerably outperform previous methods for self-supervised and semi-supervised learning on ImageNet. A linear classifier trained on self-supervised representations learned by SimCLR achieves 76.5% top-1 accuracy, which is a 7% relative improvement over previous state-of-the-art, matching the performance of a supervised ResNet-50. When fine-tuned on only 1% of the labels, we achieve 85.8% top-5 accuracy, outperforming AlexNet with 100X fewer labels.
Guide de lecture
Problème et motivation
L'apprentissage de représentations visuelles sans supervision humaine repose généralement sur la modélisation générative ou sur des tâches prétextes heuristiques (par ex. puzzles, prédiction de rotation, colorisation). Les méthodes d'apprentissage contrastif ont obtenu de meilleures performances, mais ont fréquemment introduit des architectures spécialisées d'agrégation de contexte (comme les PixelCNNs dans CPC), des champs récepteurs restrictifs ou des banques de mémoire explicites (telles que MoCo ou InstDisc) pour fournir des paires négatives. SimCLR répond à ces complications en démontrant qu'un cadre simple utilisant des encodeurs standards, des paires négatives intégrées au batch (in-batch) et une conception systématique des augmentations peut surpasser les méthodes antérieures sans artifices architecturaux.
Idées clés
- La composition d'augmentations définit la tâche de prédiction : Plutôt que de modifier les architectures de réseau pour imposer des prédictions de contexte spatial, la composition stochastique d'augmentations de données — en particulier le recadrage aléatoire associé à une distorsion des couleurs — empêche les raccourcis (tels que la correspondance des histogrammes de couleurs) et force le réseau à extraire des caractéristiques sémantiques.
- Des augmentations plus fortes profitent à l'apprentissage contrastif : Les augmentations telles que le scintillement agressif des couleurs (color jittering), qui dégradent les performances de l'entraînement supervisé, améliorent considérablement l'apprentissage contrastif auto-supervisé.
- Tête de projection non linéaire : L'introduction d'un petit MLP entre la représentation de l'encodeur et la perte contrastive améliore la qualité des représentations. Comme est entraîné pour être invariant aux transformations, le fait d'écarter après l'entraînement permet de conserver dans des informations sensibles aux transformations qui sont bénéfiques pour les tâches en aval.
- Passage à l'échelle des négatifs via de grands batches et un entraînement prolongé : Au lieu d'une banque de mémoire explicite, SimCLR s'appuie sur de grandes tailles de batch (jusqu'à 8192) optimisées avec LARS, fournissant des milliers de paires négatives in-batch par paire positive.
- Normalisation de batch globale (Global Batch Normalization) : Pour éviter les raccourcis où le réseau exploite les statistiques de normalisation de batch propres à chaque dispositif pour identifier les paires positives, la moyenne et la variance de la normalisation de batch sont synchronisées sur l'ensemble des accélérateurs distribués.
Méthode
Pour un minibatch échantillonné de images, chaque exemple est transformé par deux augmentations stochastiques distinctes , générant une paire positive parmi échantillons augmentés.
- Encodeur de base : , extrayant les représentations de la couche de pooling moyen (average pooling).
- Tête de projection : , projetant les représentations dans un espace latent de dimension 128 avec une seule couche cachée et une activation ReLU .
- Perte NT-Xent : La similarité cosinus entre vecteurs normalisés est définie comme . Pour une paire positive , la perte s'écrit : où est l'hyperparamètre de température et vaut si et seulement si . La perte totale correspond à la moyenne sur l'ensemble des paires du batch.
Après l'entraînement, est écartée et est utilisée pour la classification linéaire en aval ou pour le fine-tuning.
Résultats
- Évaluation linéaire sur ImageNet : SimCLR avec un ResNet-50 standard atteint 69,3 % de précision top-1 (égalant ou surpassant les modèles auto-supervisés précédents). L'extension à un ResNet-50 () atteint 76,5 % de précision top-1, égalant un ResNet-50 standard entièrement supervisé.
- Fine-tuning semi-supervisé : Lors d'un fine-tuning sur seulement 1 % des étiquettes d'ImageNet, le ResNet-50 () atteint 85,8 % de précision top-5 (et 63,0 % top-1), surpassant AlexNet entraîné sur 100 % des étiquettes.
- Apprentissage par transfert : Sur 12 jeux de données de classification d'images naturelles, le ResNet-50 () fine-tuné de SimCLR égale ou surpasse la référence supervisée sur 10 des 12 jeux de données.
- Ablation de la tête de projection : L'utilisation d'une tête de projection non linéaire surpasse une projection linéaire de +3 % et l'absence de projection de plus de 10 % dans l'évaluation linéaire sur ImageNet.
Limites et questions ouvertes
- Intensité de calcul : L'entraînement nécessite des tailles de minibatch très importantes (par ex. 4096 ou 8192) et de longs plannings d'entraînement (jusqu'à 1000 époques) pour obtenir les meilleurs résultats, ce qui requiert d'importants clusters d'accélérateurs (de 32 à 128 cœurs TPU).
- Écart architectural en transfert : Bien que le ResNet-50 () égale ou dépasse les références supervisées sur les benchmarks de transfert, le ResNet-50 standard reste en retrait par rapport aux références supervisées sur toutes les tâches d'évaluation linéaire.
- Compromis d'information : Le mécanisme par lequel la tête de projection préserve les informations spécifiques aux transformations dans tout en imposant l'invariance dans repose sur des intuitions empiriques plutôt que sur un cadre théorique analytique.
Termes clés
- SimCLR
- Un cadre simple d'apprentissage contrastif de représentations visuelles utilisant des augmentations de données, un encodeur de base, une tête de projection non linéaire et une perte d'entropie croisée normalisée avec mise à l'échelle par température (NT-Xent).
- NT-Xent
- Perte Normalized Temperature-scaled Cross Entropy, qui applique des similarités cosinus pondérées par une température à l'ensemble des paires positives et négatives présentes dans le batch.
- Projection Head
- Un petit perceptron multicouche avec une couche cachée, appliqué après l'encodeur de base lors du pré-entraînement et écarté avant l'évaluation en aval.
- Global BN
- Normalisation de batch où la moyenne et la variance sont agrégées sur l'ensemble des dispositifs distribués afin d'empêcher le modèle d'utiliser les statistiques internes au dispositif comme raccourci d'information.
- Linear Evaluation Protocol
- Méthode d'évaluation standard en apprentissage auto-supervisé où un classifieur linéaire est entraîné sur un extracteur de caractéristiques gelé pour mesurer la qualité des représentations.
- LARS
- Optimiseur Layer-wise Adaptive Rate Scaling utilisé pour stabiliser l'entraînement lors du passage à de très grandes tailles de batch.
Questions
Pourquoi la distorsion de couleur (color jittering) est-elle nécessaire lors de l'utilisation du recadrage aléatoire ?
Les recadrages aléatoires issus d'une même image partagent généralement des histogrammes de couleurs très similaires. Sans distorsion de couleur, le modèle apprend facilement à identifier les paires positives uniquement par la concordance de leur profil colorimétrique plutôt qu'en apprenant des caractéristiques sémantiques de haut niveau.
Pourquoi la représentation avant la tête de projection ($h$) est-elle meilleure qu'après ($z$) ?
La perte contrastive force la sortie à être complètement invariante aux augmentations de données appliquées. La tête de projection non linéaire absorbe cette perte de détails spécifiques aux transformations (comme la couleur et l'orientation), laissant dans une information plus riche et plus généralisable.
Comment SimCLR évite-t-il l'utilisation d'une banque de mémoire ?
SimCLR utilise de très grandes tailles de minibatch (de 256 jusqu'à 8192). Une taille de batch de génère directement exemples négatifs par paire positive au sein du batch, éliminant ainsi le besoin d'une banque de mémoire distincte ou d'un encodeur à quantité de mouvement (momentum encoder).
Pourquoi SimCLR a-t-il besoin de la normalisation de batch globale (Global Batch Normalization) ?
Comme les deux vues d'une paire positive sont généralement traitées sur le même accélérateur, une Batch Normalization locale classique crée une fuite d'information statistique propre au composant permettant d'identifier les échantillons. L'agrégation des statistiques de BN à travers tous les nœuds de calcul supprime ce raccourci.
La présentation de cette page a été rédigée par une IA à partir de l'article et peut contenir des erreurs. Consultez l'article pour les détails.