Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Masked Autoencoders (MAE)

Gli autoencoder mascherati nascondono la maggior parte delle patch di un'immagine e addestrano una rete a ricostruire i pixel mancanti, apprendendo caratteristiche senza etichette. Include codice per il mascheramento.

Gli autoencoder mascherati (MAE) sono un metodo di apprendimento auto-supervisionato per le immagini: il modello nasconde una grande porzione casuale delle patch di un'immagine, in genere il 75%, e impara a ricostruire i pixel mancanti a partire da quelli visibili. Kaiming He e i suoi colleghi di Meta AI hanno introdotto il metodo nel documento del 2021 Masked Autoencoders Are Scalable Vision Learners, adattando alla visione artificiale la predizione delle parole mascherate di BERT. Poiché l'encoder elabora solo le patch visibili, il preaddestramento MAE è stato almeno 3 volte più veloce dell'elaborazione di tutte le patch; un modello ViT-Huge preaddestrato in questo modo ha raggiunto un'accuratezza dell'87.8% su ImageNet, il miglior risultato dell'epoca tra i metodi che usavano solo dati ImageNet-1K. L'encoder preaddestrato funge poi da backbone per classificazione, rilevamento e segmentazione.

Come funzionano gli autoencoder mascherati#

MAE divide un'immagine in una griglia di patch non sovrapposte — 196 patch da 16x16 pixel per un input di 224x224 — e ne nasconde casualmente la maggior parte. L'encoder e il decoder sono deliberatamente diversi. L'encoder, un ViT standard, opera solo sulle patch visibili, riducendo il calcolo e la memoria a circa un quarto. Un decoder leggero, composto per impostazione predefinita da 8 blocchi Transformer e con meno del 10% del calcolo dell'encoder per token, riceve le patch visibili codificate e un token maschera apprendibile condiviso per ogni posizione nascosta, e predice i valori dei pixel di ciascuna patch nascosta. La funzione di perdita è l'errore quadratico medio calcolato solo sulle patch nascoste; usare come target i pixel normalizzati per patch ha migliorato ulteriormente le feature apprese. Dopo il preaddestramento, il decoder viene scartato:

È l'elevato rapporto di mascheramento a rendere utile il compito. Le patch adiacenti di un'immagine sono molto ridondanti, quindi se ne vengono nascoste poche il modello può colmare ogni lacuna interpolando dai vicini. Quando il 75% è nascosto, deve dedurre oggetti e scene interi da frammenti, il che lo costringe ad apprendere forme, parti e contesto. BERT, invece, maschera solo il 15% delle parole, perché ciascuna parola porta già con sé una grande quantità di significato.

Il fulcro di MAE è il passaggio di mascheramento, mostrato qui in PyTorch su un batch di quattro immagini:

import torch

torch.manual_seed(0)
images = torch.rand(4, 3, 224, 224)  # a batch of 4 RGB images

# Patchify: each 224x224 image becomes 196 patches of 16x16 pixels, flattened to 768 values
patches = images.unfold(2, 16, 16).unfold(3, 16, 16).permute(0, 2, 3, 1, 4, 5).reshape(4, 196, 768)

# Random masking as in the MAE reference code: rank patches by random noise and keep the first 25%
keep = int(196 * (1 - 0.75))
ids_keep = torch.argsort(torch.rand(4, 196), dim=1)[:, :keep]
visible = torch.gather(patches, 1, ids_keep.unsqueeze(-1).expand(-1, -1, 768))

# Mask of hidden patches (1 = hidden): the decoder predicts these, and the loss is averaged over them only
mask = torch.ones(4, 196).scatter(1, ids_keep, 0)
print(f"Encoder input: {visible.shape[1]} of {patches.shape[1]} patches per image")
print(f"Reconstruction targets: {int(mask[0].sum())} hidden patches per image")

Stampa Encoder input: 49 of 196 patches per image e Reconstruction targets: 147 hidden patches per image. Di conseguenza, i livelli Transformer dell'encoder elaborano una sequenza lunga un quarto rispetto all'immagine completa; poiché l'attenzione confronta ogni token con tutti gli altri, ogni matrice dei punteggi di attenzione è un sedicesimo delle dimensioni che avrebbe con tutte le 196 patch.

Risultati e varianti#

Le feature MAE sono più efficaci dopo il fine-tuning. Con il probing lineare, un encoder ViT-L preaddestrato con MAE ha raggiunto un'accuratezza ImageNet del 73.5%, inferiore a quella dei metodi contrastivi; tuttavia, dopo il fine-tuning e il trasferimento a rilevamento degli oggetti e segmentazione su COCO, il preaddestramento MAE ha superato quello supervisionato. Questo approccio è stato adattato ben oltre le immagini statiche: VideoMAE maschera almeno il 90% delle patch spazio-temporali di una clip video, SatMAE esegue il preaddestramento su immagini satellitari e ConvNeXt V2 porta l'autoencoding mascherato nelle reti convoluzionali con convoluzioni sparse.

Il preaddestramento mascherato è alla base anche dei diffusi modelli fondazionali. Il modello per segmentare qualsiasi cosa (SAM) di Meta, disponibile nel pacchetto Ultralytics, basa il proprio encoder di immagini su un ViT preaddestrato con MAE; la sua versione ViT-B, sam_b.pt, è il modello di maschere predefinito in Ultralytics auto_annotate, che converte i riquadri di delimitazione di un rilevatore YOLO26 in etichette di segmentazione.

  • Autoencoder: comprime l'intero input in un codice compatto e lo ricostruisce. Un MAE riceve un input incompleto e deve predire le parti che non ha mai visto; l'output del suo encoder mantiene un vettore per ogni patch visibile.
  • Modellazione di immagini mascherate: la famiglia più ampia a cui appartiene MAE. BEiT predice token visivi discreti per le patch mascherate e SimMIM immette token maschera nell'encoder, mentre MAE predice i pixel ed esclude i token maschera dall'encoder.
  • Apprendimento contrastivo: apprende abbinando versioni aumentate della stessa immagine e non ha bisogno di un decoder; produce feature che funzionano meglio quando restano congelate, mentre le feature MAE migliorano maggiormente con il fine-tuning.
  • Architettura predittiva a embedding congiunti (JEPA): nasconde anch'essa regioni dell'immagine, ma ne predice gli embedding anziché i pixel, evitando così che il modello sprechi capacità sui dettagli delle texture.

Explore solutions

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning