Multi-Modal Learning
L'apprendimento multimodale addestra modelli su più tipi di dati contemporaneamente, per esempio immagini, testo e audio. Panoramica di allineamento, fusione e perdita contrastiva.
L'apprendimento multimodale è l'ambito del machine learning che si occupa di addestrare modelli su dati di più modalità, come immagini con didascalie, video con colonna sonora o fotogrammi di telecamere con scansioni lidar, affinché il modello impari le relazioni tra le modalità. I suoi metodi rispondono a due domande: come rappresentare modalità diverse in modo da poterle confrontare e in quale punto del modello combinarle. I sistemi prodotti da questi metodi, dagli assistenti visione-linguaggio agli stack di percezione per la guida autonoma, sono descritti come IA multimodale.
Le persone combinano i sensi senza sforzo. Nell'effetto McGurk, descritto nel 1976, un video di labbra che pronunciano "ga" doppiato con il suono "ba" viene percepito come "da". Nel 2011, Jiquan Ngiam e colleghi di Stanford applicarono l'idea al deep learning, addestrando reti su audio e video delle labbra insieme e dimostrando che le caratteristiche apprese da entrambe le modalità miglioravano la lettura delle labbra rispetto al solo video.
Sfide principali#
Nel loro studio del 2019, Tadas Baltrušaitis, Chaitanya Ahuja e Louis-Philippe Morency organizzarono il campo intorno a cinque sfide:
- Rappresentazione: Codificare ogni modalità come vettori, in un unico spazio condiviso oppure in spazi separati addestrati per allinearsi.
- Traduzione: Mappare una modalità in un'altra, come nella generazione di didascalie per immagini o nella generazione di immagini da testo.
- Allineamento: Individuare quali parti di una modalità corrispondono a quali parti di un'altra, per esempio la regione dell'immagine descritta da una frase.
- Fusione: Combinare informazioni provenienti da più modalità per formulare una previsione.
- Apprendimento congiunto: Trasferire conoscenze da una modalità con molti dati a una con pochi dati.
Strategie di fusione#
La fusione precoce combina gli input o le caratteristiche di basso livello prima di qualsiasi elaborazione specifica per modalità, per esempio impilando una mappa di profondità e i canali RGB in un'unica immagine a quattro canali. La fusione tardiva esegue un modello separato per ogni modalità e unisce le previsioni calcolandone la media o ricorrendo al voto; continua a funzionare anche quando manca una modalità. La fusione intermedia codifica separatamente ogni modalità e consente loro di scambiarsi informazioni all'interno della rete, di solito tramite attenzione incrociata: un meccanismo di attenzione in cui i token di una modalità prestano attenzione alle caratteristiche di un'altra. La fusione dei sensori in robot e veicoli usa tutte e tre le strategie.
L'aggiunta di una modalità può anche ridurre l'accuratezza. Nel 2020, Weiyao Wang, Du Tran e Matt Feiszli dimostrarono che una rete di classificazione video addestrata congiuntamente su audio, fotogrammi e movimento spesso ottiene prestazioni peggiori rispetto alla migliore rete a modalità singola, perché va in overfitting e le modalità apprendono a velocità diverse. Il loro metodo Gradient-Blending ripesa la loss di ciascuna modalità per compensare.
Allineamento contrastivo#
L'apprendimento contrastivo allinea le modalità senza etichette manuali. OpenAI ha addestrato un encoder di immagini e un encoder di testo in CLIP (2021) su 400 milioni di coppie immagine-didascalia, in modo che, tra tutte le didascalie di un batch, l'embedding di ogni immagine fosse più simile alla propria didascalia; il risultato eguagliò l'accuratezza ImageNet del ResNet-50 originale in modalità zero-shot, senza usare nessuna delle 1,28 milioni di immagini di addestramento ImageNet etichettate. La funzione di loss è l'entropia incrociata sulla matrice di similarità, applicata in entrambe le direzioni:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
# Unit-length embeddings for 4 images and 4 captions; row i of each is a matching pair
image_emb = F.normalize(torch.randn(4, 64), dim=-1)
text_emb = F.normalize(image_emb + 0.5 * torch.randn(4, 64), dim=-1)
def contrastive_loss(images, texts, temperature=0.07):
"""CLIP-style symmetric cross-entropy over the image-text similarity matrix."""
logits = images @ texts.T / temperature
targets = torch.arange(len(images)) # the matching caption sits on the diagonal
return (F.cross_entropy(logits, targets) + F.cross_entropy(logits.T, targets)) / 2
print(f"Aligned pairs: {contrastive_loss(image_emb, text_emb):.3f}")
print(f"Misaligned pairs: {contrastive_loss(image_emb, text_emb.roll(1, dims=0)):.3f}")Quando ogni didascalia è vicina all'immagine corrispondente, la loss è 0,577; spostando le didascalie di una riga, così che ogni immagine sia abbinata a quella sbagliata, sale a 2,756. L'addestramento riduce questa loss su batch composti da molte coppie (CLIP ne usava 32.768), avvicinando ogni immagine alla propria didascalia e allontanandola da tutte le altre nel batch; durante l'addestramento CLIP apprende il valore della temperatura, partendo da 0,07. ALIGN di Google (2021) ha esteso la stessa ricetta a 1,8 miliardi di coppie rumorose immagine e testo alternativo; SigLIP (2023) ha sostituito la softmax con una sigmoide indipendente per ogni coppia; ImageBind di Meta (2023) ha allineato sei modalità, tra cui audio, profondità, immagini termiche e dati dei sensori di movimento, abbinando ognuna alle immagini.
I rilevatori a vocabolario aperto apprendono lo stesso tipo di allineamento tra testo e regioni dell'immagine. La ricetta Ultralytics per addestrare YOLOE-26, un YOLO26 a vocabolario aperto basato su YOLOE della Tsinghua University, da zero combina le etichette di rilevamento di Objects365 con i dati di grounding di GQA e Flickr30k, circa 1,4 milioni di campioni; il trainer codifica una sola volta ogni nome di classe e sintagma con il codificatore testuale MobileCLIP2 congelato di Apple e memorizza nella cache gli embedding, così l'addestramento aggiorna solo il rilevatore, incluso un piccolo livello residuo che affina quei vettori testuali memorizzati prima di abbinarli alle caratteristiche delle regioni.
Apprendimento multimodale e termini correlati#
- IA multimodale: I sistemi e le applicazioni realizzati con l'apprendimento multimodale, come gli assistenti visivi e la percezione per i sistemi di assistenza alla guida.
- Modello multimodale: Un modello addestrato che gestisce più modalità, il prodotto dell'apprendimento multimodale.
- Modello visione-linguaggio (VLM): Un modello multimodale per immagini e testo, spesso addestrato in più fasi: preaddestramento contrastivo, collegamento dell’encoder di immagini a un modello linguistico e, infine, addestramento con istruzioni visive.
- Apprendimento per trasferimento: Riutilizza per un altro compito un modello addestrato su un compito, mentre l’apprendimento congiunto applica l’idea a più modalità.










