Progettoott – nov 2025
AML Challenge: tradurre embedding di testo in embedding di immagini
Una competizione del corso sul model stitching: portare gli embedding di un encoder di testo nello spazio di un encoder di immagini indipendente. Il nostro VAE con una loss contrastiva multi-positiva ha raggiunto un MRR di 0,868 sulla classifica pubblica, contro una baseline di 0,462.
Il compito: dato l’embedding di una didascalia prodotto da un modello di testo pre-addestrato, prevedere dove si trova l’immagine corrispondente nello spazio degli embedding di un modello di immagini completamente diverso, così che il retrieval funzioni tra i due. Le soluzioni erano classificate per Mean Reciprocal Rank. Abbiamo partecipato come squadra Rofola Montain Club.
Il modello finale
- Un ponte variazionale. Un MLP residuale codifica l’embedding di testo a 1024 dimensioni in una distribuzione latente a 896 dimensioni; un decoder a blocchi residuali porta il latente a un embedding di immagine normalizzato. In inferenza si usa direttamente la media del latente.
- Loss contrastiva multi-positiva. Simmetrica, in stile CLIP, con temperatura apprendibile e consapevole che un’immagine ha più didascalie, tutte considerate positive.
- Regolarizzazione KL con un warm-up lineare di β (fino a 0,2 in cinque epoche) per evitare il posterior collapse.
- AdamW, e un learning rate ridotto di un fattore 0,3 quando l’MRR di validazione non migliorava per cinque epoche.
Risultato: MRR 0,868 sulla classifica pubblica, baseline 0,462.
Cosa abbiamo provato prima
- Rappresentazioni relative (descrivere ogni embedding con la sua similarità a degli anchor condivisi): nessun miglioramento sulla baseline.
- Flow matching dal rumore, poi da una proiezione del testo: entrambi falliti; la loss ottimizza la velocità lungo il percorso, non il punto di arrivo.
- Un semplice MLP con loss contrastiva: un buon 0,858, ma andava in overfitting dopo poche epoche. Il latente variazionale è ciò che lo ha tenuto sotto controllo.