I-JEPA et la révolution de l’apprentissage auto-supervisé
Introduction
I-JEPA, abréviation de « Image Joint Embedding Predictive Architecture » [1], représente une nouvelle méthode et un modèle introduit par Meta, sous la direction éclairée de Yann LeCun, prix Turing 2018, une figure éminente du domaine du Deep Learning.
Le travail sur I-JEPA (et les modèles d’architecture prédictive à incorporation conjointe (JEPA) plus généralement) est basé sur le fait que les humains acquièrent une quantité énorme de connaissances de fond sur le monde simplement en l’observant passivement. Il a été émis l’hypothèse que ces informations de bon sens sont essentielles pour permettre un comportement intelligent tel que l’acquisition efficace d’échantillons de nouveaux concepts, l’enracinement et la planification.
Les chercheurs en intelligence artificielle ont tenté de concevoir des algorithmes d’apprentissage qui capturent des connaissances de fond de bon sens sur le monde et les encodent ensuite dans une représentation numérique à laquelle l’algorithme peut accéder ultérieurement. Pour être efficace, le système doit apprendre ces représentations de manière auto-supervisée – c’est-à-dire, directement à partir de données non étiquetées telles que des images ou des sons, plutôt que à partir d’ensembles de données étiquetés manuellement assemblés.
I-JEPA est le sujet de cet article où nous plongerons dans les détails de son fonctionnement et examinerons ses résultats probants. Mais d’abord, qu’est-ce que le Self-Supervised Learning (SSL), également connu sous le nom d’apprentissage auto-supervisé ? Pour comprendre I-JEPA, il est crucial de saisir ce concept.
L’apprentissage auto-supervisé
Apprentissage supervisé et auto-supervisé
Dans l’apprentissage supervisé traditionnel, nous présentons à la machine des exemples de données accompagnés de leurs étiquettes correspondantes. Par exemple, pour classifier des images de chiens et de chats, nous fournissons des images avec les étiquettes « chien » ou « chat ». La « machine » ici se réfère à un algorithme ou à un modèle mathématique doté de paramètres qui influent sur son comportement (figure 1). Ainsi, grâce aux images fournies, nous pouvons obtenir la sortie du modèle pour chaque image. En comparant ces sorties avec les étiquettes (notre cible), nous pouvons évaluer la performance du modèle. Notre objectif est que ces deux éléments soient similaires, ce qui signifierait que notre modèle classe correctement chaque image dans la bonne catégorie.
Pour atteindre cet objectif, nous avons besoin d’une fonction objectif. Cette fonction mesure la différence entre la sortie du modèle et la cible, en attribuant un score numérique à cette différence. Un score de zéro indiquerait une correspondance parfaite entre la sortie du modèle et la cible, tandis qu’un score plus élevé indiquerait une divergence plus importante. Ainsi, le but de l’apprentissage supervisé est de modifier les paramètres du modèle pour minimiser cette fonction objectif. Pour cela, les chercheurs en IA ont inventés au fil des années un tas d’algorithme efficaces.
Dans ce processus, les données fournies à la machine et les étiquettes correspondantes sont essentielles. De plus, plus le modèle comporte de paramètres, plus le jeu de données d’entraînement doit être vaste pour garantir une performance optimale.
L’apprentissage nécessitant des milliers, voir des centaines de milliers d’exemples, l’annotation humaine demande un temps considérable. L’apprentissage auto-supervisé cherche à résoudre ce problème en exploitant des données non étiquetées. L’idée est simple: on extrait les étiquettes directement des données, permettant au modèle d’apprendre à partir des structures internes. On a donc toujours des étiquettes (on peut donc utiliser la même méthode décrite précédemment), mais elles sont extraites des données elle-même, on peut donc créer des jeux de données à grande échelle.
En exploitant la structure interne des données, le modèle prédit des parties manquantes de ses propres données, ce qui ouvre des perspectives dans la vision par ordinateur, le traitement du langage naturel, etc. En utilisant des données non étiquetées à grande échelle, le SSL vise ainsi à réduire la dépendance aux étiquetages manuels coûteux tout en améliorant les performances du modèle. En apprenant à partir de ces données non étiquetées, les modèles acquièrent une compréhension profonde des données, ce qui peut être bénéfique dans des domaines où l’obtention d’étiquettes est difficile ou coûteuse.
Pré-entraînement, tâche prétexte et fine-tuning
Le pré-entraînement est une phase cruciale de l’apprentissage auto-supervisé. Pendant cette phase, le modèle est formé sur une tâche prétexte, comme prédire le futur à partir du passé dans des séquences temporelles. Une fois cette phase terminée, le modèle encode les données dans des représentations numériques (une suite de nombre, un vecteur). Ensuite, lors du fine-tuning, le modèle est appliqué à une tâche spécifique, comme la classification d’images, en ajoutant un classifieur (une couche) à la fin du réseau. L’objectif est de minimiser le besoin en étiquettes tout en maximisant les performances. On espère que les représentations apprises par le modèle pendant le pré-entraînement (sans étiquettes externes), seront utiles pour la sous-tâche.
Des exemples de tâches prétextes:
- Prédire le futur d’une séquence, d’un texte, de données audio ou d’une vidéo à partir du passé.
- Cacher une partie d’une image et entraîner le modèle a la reproduire.
- Prédire le prochain mot dans un texte, ou un mot manquant dans une phrase.
Ces tâches permettent au modèle d’apprendre des représentations significatives des données sans nécessiter de nombreuses étiquettes.
Pour approfondir notre compréhension de l’I-JEPA, explorons davantage ses composantes et ses limitations. En vision par ordinateur, deux familles de méthodes se confrontent en apprentissage auto-supervisé: l’apprentissage contrastif et les méthodes génératives.
Apprentissage contrastif et méthodes génératives
La première méthode est l’apprentissage contrastif, où des paires d’images sont utilisées pour entraîner le modèle. Une image de base est sélectionnée, à laquelle sont appliquées aléatoirement des transformations pour créer des versions alternatives de cette image. Ces versions alternatives, ou « vues », sont appelées des paires positives. Un encodeur est alors utilisé pour créer des représentations numériques de ces paires d’images. L’objectif est de maximiser la similarité entre les représentations des paires positives, ce qui permet à la machine d’apprendre des structures sémantiques significatives, comme la différence entre un chat et un chien. Plutôt que de se concentrer uniquement sur les détails pixel par pixel, le modèle va garder dans ses représentations les informations importantes qui constituent les différents concepts sémantiques des images.
Cependant, l’apprentissage contrastif a plusieurs limites:
- Il introduit des biais, ainsi il est difficile de prédire quelles transformations seront les plus utiles pour différentes sous-tâches (prior knowledge), comme la classification ou la segmentation. Par exemple, en utilisant des transformations qui change la position des objets (déplacement) sur l’image, ou qui la tourne (rotation), on élimine ces informations des représentations. Hors pour certaines tâches, ces informations sont essentielles, par exemples pour la détection d’objets ou la segmentation d’images.
- Cette méthode est difficilement scalable car elle nécessite beaucoup de temps et de puissance de calcul pour créer les nombreuses paires d’images positives et négatives nécessaires à l’entraînement. On a donc un goulot d’étranglement qui est difficile à dépasser.
Une deuxième approche en SSL consiste à reconstruire un signal à partir d’un signal similaire. Dans cette méthode, les modèles génératifs sont utilisés pour reconstruire un signal y à partir d’un signal similaire x. Par exemple, si x représente une image originale (en bleu), alors y pourrait être une version de cette même image à laquelle une partie a été retirée (représentée en noir entouré de rouge). L’objectif est de reconstruire la partie manquante en utilisant un modèle qui encode l’image et un décodeur qui génère la partie manquante en fonction d’une condition donnée, comme la position et la taille de la partie manquante.
Comparé à l’apprentissage contrastif, cette approche nécessite moins de connaissances préalables (prior knowledge). Cependant, elle tend à créer des représentations qui sont d’un niveau sémantique inférieur, c’est-à-dire qu’elles encodent des informations au niveau des pixels plutôt qu’au niveau conceptuel.
Ainsi, ces deux approches présentent des avantages et des inconvénients, ce qui souligne l’importance de choisir la méthode appropriée en fonction des exigences spécifiques de la tâche. La question principale est donc: comment améliorer le niveau sémantique des représentations apprises de manières auto-supervisée sans avoir besoin de connaissance préalable ?
Comment améliorer le niveau sémantique des représentations apprises de manière auto-supervisée sans avoir besoin de connaissance préalable ?
Une idée novatrice d’I-JEPA consiste à partir du même principe que les méthodes génératives sans partir directement de la cible extraite de l’image, mais plutôt d’un encodage ou d’une représentation (dans un espace de représentation abstraites) de cette cible (qui va être elle-même apprise). Cette approche implique l’utilisation d’un encodeur spécifique pour la cible, en plus de l’encodeur traditionnel pour l’image d’entrée. L’objectif demeure toujours de minimiser la distance entre la sortie de l’encodeur de la cible et la prédiction du décodeur.
Comparativement aux méthodes génératives traditionnelles, I-JEPA prédit des représentations abstraites des parties manquantes, plutôt que de prédire directement les pixels manquants. Cette différence est cruciale, car prédire au niveau des représentations abstraites permet d’éliminer les détails de bas niveau, comme les pixels individuels, qui ne sont pas toujours nécessaires. Cette approche favorise un niveau d’abstraction supérieur, ce qui permet de prédire le contenu manquant d’une manière plus sémantique.
Un aspect essentiel de cette approche réside dans la taille des blocs à cacher. L’efficacité de l’I-JEPA dépend en grande partie de la pertinence de cette taille, ce qui souligne l’importance d’un réglage précis pour obtenir de bonnes performances.
L’architecture de I-JEPA
L’architecture complète de l’I-JEPA peut sembler complexe à première vue, mais ne vous inquiétez pas, nous allons explorer ses détails pas à pas. L’architecture de l’I-JEPA comprend différentes parties, organisées en termes de modèles.
Ce schéma (figure 7) est similaire à ce que nous avons précédemment abordé, comme présenté dans la section précédente.
En termes de composants, l’architecture de l’I-JEPA comprend les éléments suivants :
- Encodeur de contexte : Cet encodeur est chargé de traiter l’image contextuelle. Il découpe cette image en blocs plus petits, également appelés patchs, pour calculer une représentation numérique de chaque bloc.
- Encodeur de cible : de la même manière que l’encodeur de contexte, il divise une partie de l’image en patchs pour calculer une représentation numérique de chaque patch.
- Prédicteurs : Ces composants sont appliqués plusieurs fois. Ils utilisent les représentations calculées par l’encodeur de contexte et l’encodeur de cible pour effectuer leurs prédictions.
Dans le processus, l’image de contexte est divisée en blocs (les partie non-grisée de l’image du chat, en haut), tandis que l’image cible est également divisée en patchs (les carrés rouges, bleus et jaunes sur l’image du chat, en bat). La principale différence avec les modèles génératifs réside dans la sélection de ces blocs. Plutôt que de les extraire directement de l’image, ils sont sélectionnés à partir des représentations calculées par l’encodeur de cible.
Ainsi, l’entrée du modèle se compose des représentations de contexte, qui sont ensuite fournies aux différents prédicteurs. Les blocs ainsi sélectionnés constituent les parties que chaque prédicteur tente de reconstruire.
Pour résumer, nous n’avons pas nécessairement trois prédicteurs à chaque fois. Cela dépend du modèle, mais dans cet exemple, on utilise le même modèle trois fois pour prédire trois blocs différents. Nous avons un bloc d’entrée, appelé le bloc de contexte, à partir duquel nous essayons de prédire les blocs bleu, rouge et jaune, qui sont nos cibles. Ces blocs sont représentés par leur position dans l’image et les blocs cibles à prédire. Nous donnons également au prédicteur des informations sur la position relative du bloc de contexte (positional embeddings) par rapport à la cible.
Le prédicteur va alors générer des blocs prédits, représentés en bleu, rouge et jaune. Nous comparons ces prédictions avec les blocs réels à prédire et tentons simplement de minimiser leur différence, comme indiqué, en utilisant la mesure L2 (distance euclidienne) . Pour ce faire, I-JEPA utilise une architecture de modèle classique, largement utilisée de nos jours en deep learning, appelée le Transformer [3]. Bien que le transformer trouve ses origines dans le traitement du langage naturel (NLP), il est également très efficace dans les tâches de vision par ordinateur, comme le démontre ici l’utilisation de la version du transformer spécifique à la vision, appelée les Vision Transformers [2].
Une fois l’architecture définie, il est crucial de comprendre la méthode d’entraînement pour ce type de modèle. Tout d’abord, on divise l’image initiale en N blocs non chevauchants contigus representés comme non floutés sur l’image du haut. Ensuite, pour chaque carré, on calcule une représentation à l’aide de l’encodeur de contexte, ce qui nous donne N représentations. Chaque représentation est représentée par un carré gris à droite de l’encodeur de contexte.
Ensuite, pour construire la cible à prédire pour le système, on calcule les représentations de l’image grâce à l’encodeur de cible. Ces représentations correspondent à la sortie du VisionTransformer. On choisit alors aléatoirement M blocs de représentations qui peuvent se chevaucher. Ces blocs sont représentés ici par des carrés en bleu, rouge et jaune. Dans notre schéma, M=3.
Comme définit précédemment, on va donner les représentations issues du contexte, ainsi que les positions des blocs à prédire par rapport à ces représentations, au prédicteur. Ce dernier va tenter de prédire les blocs cible et l’apprentissage consiste à réduire la distance Eucliedienne entre la prédiction issue du prédicteur et les blocs de cible.
Après avoir défini l’architecture et la méthode d’entraînement, il est important d’évaluer les performances du modèle. Les chercheurs de Meta ont effectué plusieurs évaluations pour comprendre comment ce type de modèle se comporte.
Dans le cadre du Self-Supervised Learning (SSL), on commence par une tâche prétexte, suivie par des sous-tâches qui sont les tâches finales que l’on souhaite que le modèle apprenne. Dans le cas présent, la phase de prédiction des blocs que j’ai expliquée précédemment représente notre phase de pré-entraînement, notre tâche prétexte. Les chercheurs de META ont évalué I-JEPA sur diverses sous-tâches dont la classification d’images.
Mais est-ce que ça marche I-JEPA ?
Les chercheurs de Meta ont évalué ce modèle pré-entraîné en l’appliquant à des sous-tâches telles que la classification d’images et des tâches de bas niveau, comme la détection du nombre d’objets dans une image ou la prédiction de la profondeur dans une image. Ils ont comparé les performances de ce modèle à d’autres modèles classiques en SSL et divers jeux de données, notamment ImageNet, un ensemble de données publiques utilisées en classification d’images.
Deux approches d’évaluation ont été utilisées : le Linear Probing, où seule la dernière couche du modèle est entraînée pour la sous-tâche, et le Fine-Tuning, où l’ensemble du modèle est ré-entraîné pour la sous-tâche.
Il est également intéressant de noter que les chercheurs de META ont comparé cette méthode à d’autres qui n’utilisent pas d’augmentations de données (data2vec, MAE et CAE), afin de voir si elle peut rivaliser avec des méthodes également peu gourmandes en puissance de calcul. Ils ont ainsi évalué si cette approche égale, voire surpasse, les méthodes traditionnelles en termes de performances. Ils ont également comparé I-JEPA à des méthodes contrastives comme SimCLR v2, DINO et iBOT.
Pour évaluer les performances du modèle I-JEPA, comparé à d’autres méthodes, les chercheurs ont utilisé différentes métriques. Tout d’abord, ils ont évalué la classification d’image en utilisant deux approches : la première avec le jeu de données complet et la seconde avec seulement 1% du jeu de données pour évaluer la capacité du modèle dans un scénario où très peu d’annotations sont disponibles.
Dans la première évaluation (tableau 1) avec le jeu de données complet, I-JEPA s’est classé en première position en termes de taux de succès, avec 81,1% d’images correctement classées. Cela est intéressant car I-JEPA a surpassé un modèle concurrent, iBOT, qui utilise des augmentations de données pour améliorer ses performances. Bien que la différence soit minime, cela démontre la capacité d’I-JEPA à rivaliser avec des modèles utilisant des augmentations de données, tout en nécessitant moins d’itérations pour l’entraînement, ce qui le rend plus rapide et simple à entraîner.
Pour la deuxième évaluation avec seulement 1% du jeu de données, I-JEPA a de nouveau affiché des performances remarquables, surpassant à la fois les modèles utilisant des augmentations de données et ceux qui n’en utilisent pas. Encore une fois, I-JEPA a démontré sa capacité à obtenir de bons résultats même sur des jeux de données plus petits, ce qui souligne sa robustesse et son efficacité.
En résumé, ces évaluations confirment la capacité d’I-JEPA à rivaliser avec succès avec d’autres méthodes de classification d’image, à la fois sur des jeux de données complets et réduits, tout en étant plus rapide et nécessitant moins d’itérations pour l’entraînement.
Donc, pour la dernière évaluation sur la classification d’image, les chercheurs de Meta ont voulu évaluer I-JEPA sur trois jeux de données différents : CIFAR 100, Places 205 et iNat18, qui sont tous utilisés en classification d’images. Dans le tableau présenté (tableau 3), les méthodes sans augmentation de données sont répertoriées en haut, tandis que celles avec augmentation de données sont en bas. Chaque cellule du tableau indique le taux de précision, c’est-à-dire le pourcentage d’images correctement classées.
On peut observer que I-JEPA surpasse toutes les méthodes sans augmentation de données, mais ne dépasse pas celles utilisant des augmentations de données sur le dataset INAD 18. Cependant, il réduit considérablement l’écart entre ces différents types de méthodes, se rapprochant presque des performances des méthodes utilisant des augmentations de données.
Un avantage notable d’I-JEPA est sa nécessité moindre en termes de puissance de calcul. Cette caractéristique est mise en évidence dans le graphique présenté, où l’axe X représente le temps en heures GPU pour le pré-entraînement sur la tâche prétexte, avec une échelle logarithmique. On peut constater que même avec une puissance de calcul nettement inférieure à celle d’autres méthodes, I-JEPA parvient à obtenir des performances comparables, voire supérieures, dépassant un taux de précision de 75% avec une puissance de calcul similaire.
Les chercheurs de Meta ont ensuite évalué différentes stratégies d’apprentissage pour I-JEPA. Ils ont notamment examiné la stratégie du multibloc, qui consiste à prendre plusieurs blocs se chevauchant pour effectuer la prédiction. Ils ont testé différentes approches, comme prendre un seul bloc aléatoire ou des blocs contigus. Les résultats ont montré que la stratégie du multibloc était nettement plus efficace, soulignant ainsi son rôle crucial dans l’efficacité d’I-JEPA.
Une autre hypothèse examinée par les chercheurs était de savoir si la prédiction au niveau des représentations abstraites, créées par l’encodeur cible, était efficace. Pour le vérifier, ils ont comparé I-JEPA à un modèle où la prédiction se faisait directement au niveau des pixels. Les résultats ont été significatifs : I-JEPA a montré une nette augmentation de performances, passant de 40,7% à 66,9% sur la tâche de classification d’ImageNet 1%. Cette démonstration confirme l’importance de la prédiction au niveau des représentations abstraites dans l’obtention de performances élevées pour I-JEPA.
J’espère que même si vous n’êtes pas familier avec le Deep Learning, vous avez pu comprendre certains aspects de cette méthode et avoir un aperçu de la direction actuelle de la recherche en intelligence artificielle.
Références
- Assran, M., Duval, Q., Misra, I., Bojanowski, P., Vincent, P., Rabbat, M., … & Ballas, N. (2023). Self-supervised learning from images with a joint-embedding predictive architecture. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 15619-15629).
- Dosovitskiy, A., Beyer, L., Kolesnikov, A., Weissenborn, D., Zhai, X., Unterthiner, T., … & Houlsby, N. (2020). An image is worth 16×16 words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929.
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., … & Polosukhin, I. (2017). Attention is all you need. Advances in neural information processing systems, 30.
Leave a Comment