Introduction et motivation
Les réseaux neuronaux profonds, tels que les CNN profonds, sont d'excellents extracteurs de caractéristiques. C'est pourquoi ils ont gagné une place de choix dans de nombreuses tâches visuelles. Les transformateurs visuels (ViT) repoussent les limites encore plus loin. Cependant, leur succès est largement attribué à l'apprentissage supervisé et à l'immense quantité de données d'entraînement provenant de jeux de données comme ImageNet, Places, Kinetics, etc.
Cependant, la collecte et l'annotation d'ensembles de données image/vidéo à grande échelle prennent beaucoup de temps et sont assez coûteuses, sans compter qu'il n'y a souvent pas assez de matériel non étiqueté à annoter (par exemple, l'imagerie médicale). À titre de référence, l'ensemble de données Places comprend 2,5 millions d'images étiquetées, ImageNet 1,3 million. Parallèlement, Kinetics est un ensemble de données vidéo étiquetées comprenant environ 500 000 vidéos, chacune ayant une durée d'environ 10 secondes.
Avec cette motivation, l'apprentissage auto-supervisé (SSL) vise à exploiter de grands ensembles de données non étiquetées pour former des extracteurs de caractéristiques performants tels que les codeurs CNN ou ViT. Ceux-ci sont ensuite utilisés avec des ensembles de données étiquetées plus petits pour entraîner des réseaux sur une tâche de choix, en utilisant moins de données. L'apprentissage auto-supervisé découle de l'apprentissage non supervisé. Il vise à apprendre des représentations riches et des caractéristiques sémantiquement significatives à partir de données non étiquetées. En d'autres termes, l'apprentissage auto-supervisé est une méthode d'apprentissage dans laquelle vous pouvez former des réseaux avec des étiquettes générées automatiquement à partir d'ensembles de données non étiquetées.
Qu'est-ce que l'apprentissage auto-supervisé ?
En termes simples, l'apprentissage autosupervisé fait référence aux méthodes d'apprentissage en apprentissage automatique qui utilisent des étiquettes générées automatiquement à partir de grands ensembles de données non étiquetées. Il offre de très bonnes performances sans nécessiter de grands ensembles de données étiquetées.
Concepts clés de l'apprentissage auto-supervisé
Avant d'expliquer comment fonctionne l'apprentissage auto-supervisé (SSL) et comment vous pouvez l'exploiter pour réduire les données d'apprentissage, il est préférable d'expliquer certains concepts clés.
- Les étiquettes annotées par l'homme sont des étiquettes de données que les annotateurs humains créent manuellement. Ce sont les étiquettes typiques utilisées dans l'apprentissage supervisé classique.
- Les pseudo-étiquettes font référence aux étiquettes générées automatiquement que les scientifiques des données utilisent pour entraîner le réseau d'extraction de caractéristiques, communément appelé " encodeur ", sur une tâche prétexte. Par exemple, nous pouvons faire pivoter aléatoirement des images de 0°, 90°, 180° ou 270° et leur attribuer les étiquettes 0,1,2,3, respectivement, en fonction de la rotation. Il est possible de créer ces étiquettes sans aucune assistance humaine !
- Les tâches prétextes sont des tâches pré-conçues qui agissent comme une stratégie essentielle pour apprendre les représentations de données en utilisant des pseudo-étiquettes. Leur objectif est d'aider le modèle à découvrir les caractéristiques visuelles critiques des données. Les tâches prétextes courantes comprennent les transformations géométriques/colorées et les tâches contextuelles telles que la résolution de puzzles. Par exemple, une tâche prétexte pourrait consister à classer une image augmentée comme ayant subi une rotation de 0°, 90°, 180° ou 270°.
- Les tâches en aval sont des tâches spécifiques à l'application qui utilisent les connaissances acquises lors de la tâche prétexte. Elles sont choisies par le développeur en fonction de l'objectif final de l'application. Les exemples incluent la classification, la détection d'objets, la segmentation sémantique et la reconnaissance d'actions.
Le cadre auto-supervisé
Maintenant que nous avons présenté les concepts de base, combinons-les pour comprendre le flux de travail de l'apprentissage auto-supervisé. La figure 1 en offre une illustration visuelle. Très brièvement, SSL vise à transformer une tâche non supervisée en une tâche supervisée (tâche prétexte) par le biais d'étiquettes (pseudo-étiquettes) générées automatiquement. Ensuite, il transfère les connaissances acquises à partir de la tâche prétexte pour résoudre la tâche finale (tâche en aval).

Supposons qu'un modèle d'encodeur (CNN, ViT) ait déjà été conçu. Supposons également que nous disposons d'un grand jeu de données d'images, dont seul un petit pourcentage est annoté. Nous commençons par choisir une tâche prétexte, telle que la recréation de parties occluses, la résolution d'un puzzle ou la classification par rotation. Une fois que nous avons choisi une tâche prétexte, l'augmentation des données a lieu. Cette augmentation des données a un objectif différent de celui des tâches d'apprentissage supervisé. Ici, l'augmentation vise à mapper une image en différentes vues via des transformations stochastiques pour créer la tâche prétexte. Par exemple, pour la tâche prétexte de recréation d'image (inpainting), l'augmentation masquera aléatoirement d'autres parties de l'image, et l'encodeur vise à recréer ces parties occultées. Les pseudo-étiquettes sont créées automatiquement par cette augmentation.

Ce processus d'augmentation des données encourage le réseau à apprendre des représentations cachées en résolvant la tâche de prétexte. Les augmentations d'une même entrée ont des représentations latentes plus similaires que les autres entrées, ce qui aide l'encodeur à découvrir les caractéristiques dominantes.
Ensuite, le codeur est entraîné sur la tâche de prétexte, qui est généralement très différente de la tâche en aval. Si le codeur réussit à résoudre la tâche de prétexte, il doit avoir appris à extraire les caractéristiques essentielles des images et à ne pas prêter attention au bruit. Sinon, il ne serait pas en mesure de résoudre ces tâches complexes. Cependant, la complexité de l'augmentation des données, ou tâche prétexte, doit mettre le modèle à l'épreuve. Sinon, si le modèle résout la tâche très rapidement, il se peut qu'il n'ait pas été appris et que la complexité soit faible.
Une fois que l'encodeur a résolu la tâche de prétexte avec suffisamment de précision, ses paramètres sont utilisés comme une initialisation pour le réseau qui vise à résoudre la tâche en aval. Il n'est pas inhabituel d'ajouter des couches supplémentaires au-dessus de la partie encodeur, qui sont formées uniquement à l'aide de l'apprentissage supervisé. Lors de l'apprentissage de la tâche en aval, la partie étiquetée de l'ensemble de données est utilisée. Par conséquent, le réseau s'appuie désormais sur l'apprentissage supervisé traditionnel pour résoudre la tâche finale.
Essentiellement, nous transférons les connaissances acquises lors de la formation à la tâche prétexte vers la tâche en aval, de manière similaire à la technique bien connue de l'apprentissage par transfert, mais avec quelques différences importantes.
Comment réduire les données de formation grâce à l'auto-supervision ?
In figure 3, source [5], we observe a graph depicting the test-set accuracy on the CIFAR-10 dataset vs. the number of training examples used. The plot compares a traditional supervised training method against a self-supervised method that uses rotation classification as the pretext task. The comparison begins from as low as 20 training examples and moves up to 5000 training examples. It is clear that for a low number of training examples, e.g., <1000, Self-Supervised Learning significantly outperforms Supervised learning. The lower the number of training data, the bigger the gain is. However, around 2000 training examples, we see a crossover; afterward, supervised learning achieves superior performance. These numbers are a rough guideline and will vary depending on the application. Still, the general rule of thumb is that SSL will outperform Supervised Learning by a large margin when training data is scarce.

Recréons une étude de cas similaire dans le monde réel. On vous a demandé, en tant qu'ingénieur ML, de créer un modèle de vision par ordinateur à segmentation sémantique pour identifier certains micro-organismes dans des images de microscopie. Les scientifiques vous ont fourni 3000 images de données non étiquetées. Vous expliquez que pour résoudre efficacement le problème, vous avez besoin de données annotées. Ils font valoir qu'il s'agit d'une activité assez longue et coûteuse, puisque les experts du domaine doivent consacrer du temps à cette tâche. Ils suggèrent que l'annotation de 500 images prendra environ un mois.
Ainsi, pour accélérer le déploiement du modèle, vous acceptez de passer à 500 images dans un premier temps. Vous vous doutez que 500 images ne suffiront pas pour un apprentissage supervisé. Vous l'essayez et, en effet, le modèle atteint une faible performance avec des signes visibles de surajustement qui ne sont pas résolus par les méthodes de régularisation. Ensuite, vous recherchez des modèles pré-entraînés sur un ensemble de données similaire, mais vous ne trouvez rien de comparable aux architectures que vous prévoyez de tester, de sorte que l'apprentissage par transfert n'est pas une bonne option. De cette façon, tout mène naturellement à l'apprentissage auto-supervisé. Maintenant, vous pouvez exploiter les 500 images annotées (sauf l'ensemble de test, bien sûr) et les 2500 images non étiquetées restantes.
Non seulement vous pouvez concevoir un modèle plus précis avec beaucoup moins de données d'apprentissage, mais vous pouvez aussi déployer ultérieurement ce modèle comme assistant d'annotation pour les scientifiques afin d'accélérer le processus d'étiquetage des images restantes. Si votre ensemble de données annotées devient assez important, vous pourrez, à un moment donné, réentraîner le modèle avec l'apprentissage supervisé pour améliorer encore la précision. Les boucles de rétroaction constitueront également un autre moyen d'améliorer encore la précision.
Apprentissage auto-supervisé (SSL) et apprentissage par transfert (TL)
Ces deux techniques reposent sur le transfert de connaissances par l'initialisation des paramètres et constituent d'excellents moyens de réduire la quantité de données d'apprentissage nécessaires. Cependant, elles présentent également des différences importantes.
- L'apprentissage par transfert s'appuie sur un cadre d'apprentissage supervisé à la fois pendant la phase de pré-formation et la phase de formation, tandis que SSL n'utilise pas l'apprentissage supervisé pendant la pré-formation.
- Vous ne pouvez pas utiliser TL sur le même ensemble de données car cela n'aurait pas de sens. En revanche, l'utilisation de SSL sur le même ensemble de données peut améliorer considérablement les performances (l'ensemble de test doit être séparé !).
En fonction du cas d'utilisation, vous pouvez choisir l'un plutôt que l'autre. Pour vous aider à décider lequel est le meilleur, voici quelques éléments de recherche :
- Lorsque la différence de domaine entre les tâches source et cible est importante, SSL surpasse TL. Par exemple, l'utilisation de l'initialisation ImageNet TL pour l'imagerie médicale n'est pas une bonne option.
- SSL est moins sensible aux différences de domaine entre la tâche source et la tâche cible que TL.
- Étant donné une tâche source, SSL surpasse généralement TL lorsque les données de pré-formation sont trop rares.
- Si le déséquilibre de classe est prévalent dans un ensemble de données, nous recommandons SSL car il est plus robuste contre les déséquilibres que TL.
Références
[1] Yahui Liu, Enver Sangineto, Wei Bi, Nicu Sebe, Bruno Lepri, Marco De Nadai. Formation efficace de transformateurs visuels avec de petits ensembles de données.
[2] Longlong Jing et Yingli Tian, Self-supervised Visual Feature Learning with Deep Neural Networks : A Survey.
[3] Ashish Jaiswal, Ashwin Ramesh Babu, Mohammad Zaki Zadeh, Debapriya Banerjee, Fillia Makedon. UNE ÉTUDE SUR L'APPRENTISSAGE CONTRASTIF AUTO-SUPERVISÉ.
[4] Saleh Albewi, Survey on Self-Supervised Learning : Tâches auxiliaires prétextes et méthodes d'apprentissage contrastif en imagerie.
[5] Spyros Gidaris, Praveer Singh, Nikos Komodakis, UNSUPERVISED REPRESENTATION LEARNING BY PREDICTING IMAGE ROTATIONS.