MAE (Masked Autoencoders)
MAE (Masked Autoencoders Are Scalable Vision Learners) est une méthode de self-supervised learning développée par Meta AI qui masque une proportion élevée (75%) de patches d’image et entraîne un autoencodeur asymétrique basé sur un Vision Transformer à reconstruire les patches manquants, atteignant 87,8% top-1 sur ImageNet avec ViT-Huge.
- Auteurs
- Kaiming He, Xinlei Chen, Saining Xie, Yanghao Li, Piotr Dollár, Ross Girshick (Meta AI)
- Publication
- CVPR 2022 (soumis novembre 2021)
- Famille
- Self-supervised learning / Masked Image Modeling (MIM)
- Principe
- Masquer 75% des patches → reconstruire les pixels manquants
- Benchmark
- ImageNet top-1 : 87,8% (ViT-Huge, fine-tuned), 73,5% (linear probing)
- Code
- github.com/facebookresearch/mae (PyTorch)
La question de départ : pourquoi le masking marche en NLP mais pas en vision ?
En NLP, le masked language modeling (MLM) est le fondement de BERT : masquer 15% des tokens d’une phrase et les reconstruire. Cette approche a révolutionné le NLP. Pourquoi le même principe n’avait-il pas produit de résultats comparables en vision par ordinateur avant MAE ?
L’article identifie trois différences fondamentales entre langage et vision. Premièrement, les architectures : les CNNs, dominants en vision, n’ont pas de notion naturelle de « token » ou de « position » à masquer, contrairement aux Transformers. Deuxièmement, la densité d’information : les images sont beaucoup plus redondantes que le texte. Masquer 15% d’une image (comme BERT le fait pour le texte) laisse assez d’information pour reconstruire trivialement les parties manquantes par interpolation spatiale. Troisièmement, le rôle du décodeur : en NLP, prédire un mot manquant est un problème riche sémantiquement. En vision, reconstruire des pixels est un problème de bas niveau qui ne nécessite pas forcément une compréhension sémantique profonde.
MAE résout ces trois problèmes. Il utilise un ViT (qui traite naturellement les images comme des séquences de tokens). Il masque une proportion beaucoup plus élevée (75%) pour éliminer la redondance et forcer une vraie compréhension de la scène. Et il utilise un décodeur léger qui opère dans l’espace des pixels, montrant que la reconstruction pixel-level est suffisante pour apprendre des représentations de haute qualité.
Architecture
Stratégie de masquage
L’image d’entrée est divisée en patches non-chevauchants (typiquement 16×16 pixels). Un sous-ensemble aléatoire de 25% des patches est conservé (visible), les 75% restants sont masqués (retirés). Le tirage est uniforme et sans remplacement : chaque patch a la même probabilité d’être sélectionné, sans biais spatial.
Le ratio de 75% est un résultat empirique clé. Avec 15% de masquage (comme BERT), la tâche est trop facile : le modèle reconstruit trivialement par interpolation. Avec 50%, le modèle apprend des features correctes mais pas optimales. Avec 75%, le modèle doit véritablement comprendre le contenu sémantique de l’image pour reconstruire les patches manquants, car trop peu de contexte est disponible pour une simple interpolation. Au-delà de 85%, la tâche devient trop difficile et les performances se dégradent.
Encodeur (ViT)
L’encodeur est un Vision Transformer standard, mais appliqué uniquement aux patches visibles (non masqués). Chaque patch visible est projeté linéairement en un vecteur, auquel on ajoute un embedding positionnel, puis traité par une série de blocs Transformer. Le point crucial : les patches masqués ne sont pas représentés par des tokens de masque dans l’encodeur. Ils sont simplement absents. Cela réduit le nombre de tokens traités par l’encodeur de 4× (avec un masquage de 75%), ce qui est la source de l’efficacité de MAE.
L’article montre que l’inclusion de tokens de masque dans l’encodeur dégrade à la fois les performances (84,9% → résultat inférieur) et l’efficacité (3,3× FLOPs en plus). Ce design est l’un des choix architecturaux les plus importants de MAE.
Décodeur
Le décodeur est un Transformer léger (8 blocs, dimension 512, soit seulement 9% des FLOPs par token vs ViT-L). Il reçoit en entrée l’ensemble complet des tokens : les patches encodés par l’encodeur + des tokens de masque appris (un vecteur partagé pour toutes les positions masquées). Les embeddings positionnels sont ajoutés à l’ensemble complet avant le décodage, fournissant l’information spatiale nécessaire pour la reconstruction.
Le décodeur reconstruit les valeurs de pixels de chaque patch masqué. La perte est calculée uniquement sur les patches masqués (pas sur les patches visibles). La perte est le MSE (Mean Squared Error) entre les pixels reconstruits et les pixels originaux, normalisé par patch. Le décodeur est utilisé uniquement pendant le pre-training et est éliminé ensuite : seul l’encodeur ViT est conservé pour les tâches downstream.
Implémentation simple
L’implémentation de MAE est remarquablement simple et ne nécessite aucune opération sparse spécialisée. Le processus : générer les tokens pour tous les patches, les mélanger aléatoirement (shuffle), supprimer les derniers 75%, encoder les 25% restants, ajouter les tokens de masque, inverser le shuffle (unshuffle) pour réaligner les positions, et décoder. Cette séquence shuffle/unshuffle est l’astuce qui rend le masquage compatible avec le traitement standard des ViT.
Résultats
| Modèle | Fine-tuning (top-1) | Linear probing (top-1) | Params |
|---|---|---|---|
| MAE ViT-B | 83,6% | 68,0% | 86M |
| MAE ViT-L | 85,9% | 76,0% | 307M |
| MAE ViT-H (224) | 86,9% | 77,2% | 632M |
| MAE ViT-H (448) | 87,8% | — | 632M |
Le résultat phare est 87,8% top-1 sur ImageNet avec ViT-Huge (fine-tuné à 448×448). C’est le meilleur score parmi les méthodes utilisant uniquement ImageNet-1K pour le pre-training. MAE surpasse BEiT (qui utilise un tokenizer DALL-E) tout en étant plus simple et plus rapide.
Un résultat intéressant concerne le fine-tuning partiel. En fine-tunant seulement un bloc Transformer (sur 24), la précision passe de 73,5% (linear probing) à 81,0%. MoCo v3, qui a un linear probing supérieur, est inférieur à MAE en fine-tuning partiel (écart de 2,6% avec 4 blocs tunés). Cela suggère que les features MAE sont plus riches que ce que le linear probing capture, mais nécessitent un peu plus d’adaptation pour être exploitées.
Insights clés
Le ratio de masquage est fondamental
Le ratio optimal de 75% est très différent des 15% de BERT en NLP. Cet écart reflète la différence de redondance entre les deux modalités. Le texte est hautement informationnel : chaque token compte. Les images sont spatialement redondantes : les pixels voisins sont fortement corrélés. Il faut masquer beaucoup plus pour créer une tâche non triviale en vision. Ce même principe se retrouve en audio (wav2vec 2.0 utilise ~49% de masquage) et en neurosciences (les modèles de signaux MEG utilisent ~40%).
Augmentation de données minimale
Contrairement aux méthodes contrastives (SimCLR, BYOL) qui dépendent fortement de la composition des augmentations (crop + distorsion de couleur + flou), MAE fonctionne avec une augmentation minimale : simple crop aléatoire avec redimensionnement. Ni la distorsion de couleur, ni le flou gaussien, ni la solarisation ne sont nécessaires. Le masquage aléatoire joue lui-même le rôle d’une augmentation forte et suffisante. C’est un avantage pratique majeur, surtout pour les domaines spécialisés où les augmentations standards sont inadaptées.
Le scaling fonctionne remarquablement
MAE montre un scaling continu : les performances s’améliorent régulièrement de ViT-B (86M params) à ViT-L (307M) à ViT-H (632M). Contrairement à l’entraînement supervisé, où ViT-L commence à dégrader sur ImageNet-1K (overfitting par manque de données), MAE ViT-L et ViT-H continuent de s’améliorer. Le pre-training SSL agit comme régularisation et permet l’entraînement de modèles plus grands que ce que le supervisé autorise avec la même quantité de données.
La reconstruction pixel suffit
BEiT utilise un tokenizer d’image pré-entraîné (DALL-E) pour convertir les patches en tokens discrets, puis prédit ces tokens. MAE reconstruit directement les pixels bruts via MSE. Malgré cette cible apparemment « bas niveau », MAE surpasse BEiT. Cela démontre que la reconstruction pixel-level, combinée avec un ratio de masquage élevé, est suffisante pour apprendre des représentations sémantiques de haute qualité, sans nécessiter de tokenizer pré-entraîné.
MAE vs. les alternatives SSL
| Aspect | MAE | DINO | SimCLR | BEiT |
|---|---|---|---|---|
| Type | Masked modeling | Auto-distillation | Contrastif | Masked modeling |
| Architecture | ViT uniquement | ViT / CNN | CNN (ResNet) | ViT uniquement |
| Cible | Pixels (MSE) | Distribution softmax | Similarité cosinus | Tokens discrets (DALL-E) |
| Paires négatives | Non | Non | Oui | Non |
| Augmentations requises | Minimales (crop) | Fortes (multi-crop) | Critiques (crop+couleur) | Minimales |
| Vitesse d’entraînement | Rapide (3× SimCLR) | Modérée | Lente (grand batch) | Modérée |
| ImageNet fine-tune (best) | 87,8% (ViT-H) | 80,1% (ViT-B) | 76,5% (ResNet-50) | 83,2% (ViT-L) |
Applications et extensions
Détection et segmentation
MAE surpasse le supervisé, MoCo v3 et BEiT en détection d’objets sur COCO (APbox de 50,3 pour ViT-B, 53,3 pour ViT-L) et en segmentation sémantique (ADE20K). Les features MAE sont particulièrement bonnes pour les tâches denses qui nécessitent une compréhension spatiale fine, ce que le pre-training par reconstruction de patches favorise naturellement.
Imagerie médicale
MAE est très utilisé en imagerie médicale. Un modèle de fondation SimCLR/MAE pour l’IRM cérébrale 3D (18 759 patients, 11 datasets) montre que MAE et SimCLR sont compétitifs, avec des avantages spécifiques selon la tâche. Sur les données ECG, MAE surpasse SimCLR avec une convergence plus rapide et une saturation à 60-70% des données disponibles.
Vidéo (VideoMAE)
VideoMAE étend MAE aux vidéos en masquant des tubes spatio-temporels de patches. Le ratio de masquage est encore plus élevé (90-95%) car les vidéos sont encore plus redondantes que les images (les frames consécutives sont quasi-identiques). VideoMAE a établi de nouveaux records en action recognition et video understanding.
Audio et neurosciences
Le principe du masquage s’étend à l’audio (masquage de spectrogrammes), aux signaux MEG cérébraux (masquage de blocs temporels de 3 secondes), et aux séries temporelles en général. Le ratio de masquage optimal varie par modalité selon la redondance du signal (75% images, ~49% audio, ~40% signaux neuronaux).
Robotique
MAE-Select utilise des représentations MAE pré-entraînées pour la sélection active de point de vue en robotique. Le robot choisit dynamiquement l’angle de vue le plus informatif en se basant sur la qualité de reconstruction MAE, améliorant la perception avec une seule caméra.
Limites
Linear probing faible. Malgré des performances exceptionnelles en fine-tuning (87,8%), le linear probing de MAE (73,5% pour ViT-B) est inférieur à celui des méthodes contrastives (MoCo v3 : ~76%). Les features MAE nécessitent plus d’adaptation (au minimum un bloc Transformer fine-tuné) pour être pleinement exploitées. DINO produit des features plus directement utilisables sans fine-tuning.
Spécifique aux ViT. MAE est conçu pour les Vision Transformers et ne se transpose pas directement aux CNNs (qui n’ont pas de notion naturelle de token/patch à masquer). Pour les CNNs, les méthodes contrastives (BYOL, MoCo v2) restent les meilleures options SSL.
Durée de pre-training. MAE s’entraîne sur 1 600 époques (vs 300 pour le supervisé, vs 800 pour les méthodes contrastives). Malgré l’accélération de 3× par rapport à SimCLR (grâce au masquage), le pre-training reste long. Des variantes comme EMAE (Efficient MAE) proposent des stratégies de masquage progressif pour réduire cette durée.
Reconstruction vs. discrimination. L’objectif de reconstruction par pixels n’optimise pas explicitement la discriminabilité des features (contrairement au contrastif qui sépare explicitement les classes). C’est pourquoi le k-NN et le linear probing de MAE sont inférieurs à ceux de DINO. DINOv2 combine les deux objectifs (DINO + iBOT/masked modeling) pour obtenir le meilleur des deux mondes.
Verdict
MAE est le résultat le plus impactant du masked image modeling et l’une des méthodes SSL les plus influentes en vision par ordinateur. En démontrant que la reconstruction de pixels suffit pour apprendre des représentations de premier plan, MAE a simplifié radicalement le paysage du SSL en vision : pas de paires négatives, pas de momentum encoder, pas d’augmentations complexes, pas de tokenizer pré-entraîné. Juste un ViT, un masquage à 75%, et un décodeur léger.
Pour les praticiens, MAE est le choix de référence quand vous travaillez avec des ViT et que vous avez besoin des meilleures performances absolues en fine-tuning. Si vous avez besoin de features directement utilisables sans fine-tuning (k-NN, retrieval, segmentation), DINO/DINOv2 est supérieur. Si vous travaillez avec des CNNs, MAE n’est pas applicable : utilisez BYOL ou MoCo. Et pour la combinaison ultime performance + polyvalence, DINOv2 (qui intègre une composante masked modeling inspirée de MAE) est le backbone SSL de référence actuel.
Questions fréquentes sur MAE
Pourquoi masquer 75% et pas 15% comme BERT ?
Les images sont beaucoup plus redondantes que le texte. Les pixels voisins sont fortement corrélés, et un patch manquant peut souvent être reconstruit par simple interpolation spatiale. Avec un masquage de seulement 15%, le modèle résout la tâche trivialement sans développer de compréhension sémantique. Le masquage à 75% élimine suffisamment d’information pour que la reconstruction nécessite une compréhension du contenu de l’image (structure des objets, relations spatiales, contexte de la scène). C’est aussi ce qui rend MAE efficace : l’encodeur ne traite que 25% des patches, réduisant le coût de calcul de ~4×.
Pourquoi les tokens de masque ne sont-ils pas dans l’encodeur ?
Inclure les tokens de masque dans l’encodeur dégrade à la fois les performances et l’efficacité. Côté performances, les tokens de masque créent un décalage entre le pre-training (avec masques) et le fine-tuning (sans masques). Côté efficacité, traiter 100% des tokens au lieu de 25% multiplie le coût par ~4×. En excluant les masques de l’encodeur et en les introduisant uniquement dans le décodeur léger, MAE maintient l’encodeur « propre » (identique en pre-training et fine-tuning) tout en étant beaucoup plus rapide.
MAE ou DINO : lequel donne les meilleures features ?
Cela dépend de l’usage. MAE produit les meilleures performances après fine-tuning complet (87,8% vs 80,1% sur ImageNet). DINO produit des features plus directement utilisables sans fine-tuning : supérieures en k-NN (78,3% vs ~65%), en segmentation par attention, et en retrieval. La raison est que l’objectif de reconstruction de MAE optimise la fidélité pixel-level, pas la séparabilité par classe. L’objectif de distillation de DINO optimise directement la cohérence sémantique des représentations. DINOv2 combine les deux et offre le meilleur compromis.
MAE fonctionne-t-il avec des CNNs ?
Non directement. MAE repose sur le traitement de l’image comme une séquence de patches (tokens), ce qui est naturel pour les ViT mais pas pour les CNNs. Les convolutions opèrent sur des grilles régulières et ne gèrent pas facilement les « trous » créés par le masquage. Des variantes comme SparK (Sparse masKed modeling) adaptent le principe aux CNNs en utilisant des convolutions sparse, mais les résultats sont inférieurs à MAE avec ViT. Si vous êtes limité aux CNNs, préférez BYOL ou MoCo v2.
Peut-on utiliser MAE pour autre chose que la classification d’images ?
Oui, le principe MAE est très polyvalent. VideoMAE l’adapte aux vidéos (masquage 90-95% de tubes spatio-temporels). AudioMAE l’applique aux spectrogrammes audio. Des variantes existent pour les signaux temporels (ECG, signaux cérébraux), les données 3D (point clouds), et même les graphes. Le ratio de masquage optimal varie par modalité (75% images, ~49% audio, ~40% signaux neuronaux, 90-95% vidéo) en fonction de la redondance du signal. En robotique, MAE-Select utilise les features MAE pour la sélection active de point de vue.