DALL·E: creare immagini dal testo
Abbiamo addestrato una rete neurale chiamata DALL·E, che crea immagini da didascalie di testo per un’ampia gamma di concetti esprimibili in linguaggio naturale.

Illustrazione: Justin Jay Wang
DALL·E è una versione da 12 miliardi di parametri di GPT‑3(si apre in una nuova finestra), addestrata per generare immagini a partire da descrizioni testuali, utilizzando un set di dati di coppie testo-immagine. Abbiamo scoperto che possiede un’ampia gamma di funzionalità, tra cui la creazione di versioni antropomorfe di animali e oggetti, la combinazione di concetti non correlati in modi plausibili, la resa del testo e l’applicazione di trasformazioni a immagini esistenti.
Vedi anche: DALL·E 2, che genera immagini più realistiche e precise con una risoluzione quattro volte superiore.
GPT‑3 ha dimostrato che il linguaggio può essere utilizzato per istruire una grande rete neurale a eseguire una varietà di attività di generazione di testo. Image GPT ha dimostrato che lo stesso tipo di rete neurale può essere utilizzato anche per generare immagini ad alta fedeltà. Approfondiamo questi risultati per dimostrare che la manipolazione di concetti visivi attraverso il linguaggio è ormai alla nostra portata.
Come GPT‑3, DALL·E è un modello linguistico di tipo transformer. Riceve sia il testo che l’immagine come un unico flusso di dati contenente fino a 1280 token ed è addestrato con la massima verosimiglianza a generare tutti i token, uno dopo l’altro. A
Questa procedura di addestramento consente a DALL·E non solo di generare un’immagine da zero, ma anche di rigenerare qualsiasi regione rettangolare di un’immagine esistente che si estenda fino all’angolo in basso a destra, in modo coerente con il prompt testuale.
Riconosciamo che il lavoro che coinvolge modelli generativi può avere un impatto sociale significativo e di ampia portata. In futuro, intendiamo analizzare in che modo i modelli come DALL·E si rapportano a questioni sociali come l’impatto economico su determinati processi lavorativi e professioni, il potenziale di bias negli output del modello e le sfide etiche a lungo termine implicite in questa tecnologia.
Abbiamo scoperto che DALL·E è in grado di creare immagini plausibili per una grande varietà di frasi che esplorano la struttura compositiva del linguaggio. Lo illustriamo attraverso una serie di elementi visivi interattivi nella prossima sezione. I campioni mostrati per ciascuna didascalia negli elementi visivi sono ottenuti selezionando i migliori 32 su 512 dopo il riordinamento con CLIP, ma non utilizziamo alcuna selezione manuale, a parte le miniature e le immagini indipendenti che compaiono all’esterno. B
Testiamo la capacità di DALL·E di modificare diversi attributi di un oggetto, nonché il numero di volte in cui esso appare.
Controllare simultaneamente più oggetti, i loro attributi e le loro relazioni spaziali rappresenta una nuova sfida. Ad esempio, consideriamo la frase “un riccio che indossa un cappello rosso, guanti gialli, una camicia blu e pantaloni verdi”. Per interpretare correttamente questa frase, DALL·E non deve solo combinare correttamente ogni capo di abbigliamento con l’animale, ma anche formare le associazioni (cappello, rosso), (guanti, gialli), (camicia, blu) e (pantaloni, verdi) senza confonderle tra loro. C
Testiamo la capacità di DALL·E di fare questo per il posizionamento relativo, l’impilaggio di oggetti e il controllo di più attributi.
Sebbene DALL·E offra un certo livello di controllabilità sugli attributi e sulle posizioni di un numero limitato di oggetti, il tasso di successo può dipendere da come è formulata la didascalia. Man mano che vengono introdotti più oggetti, DALL·E tende a confondere le associazioni tra oggetti e colori e il tasso di successo cala drasticamente. Notiamo inoltre che DALL·E è fragile rispetto alla riformulazione della didascalia in questi scenari: didascalie alternative, semanticamente equivalenti, spesso non producono interpretazioni corrette.
Abbiamo scoperto che DALL·E consente anche di controllare il punto di vista di una scena e lo stile 3D in cui viene resa.
Per approfondire, testiamo la capacità di DALL·E di disegnare ripetutamente la testa di una figura nota da una sequenza di angoli equidistanti, scoprendo di poter ottenere un’animazione fluida della testa che ruota.
DALL·E sembra essere in grado di applicare alcuni tipi di distorsioni ottiche alle scene, come mostrano le opzioni “vista con lente fisheye” e “panorama sferico”. Questo ci ha spinto a esplorare la sua capacità di generare riflessi.
I campioni con gli stili “primo piano estremo” e “radiografia” ci hanno portato a esplorare ulteriormente la capacità di DALL·E di rappresentare la struttura interna con viste sezionali e la struttura esterna con macrofotografie.
La trasformazione di testo in immagini è un’attività sottospecificata: una singola didascalia corrisponde generalmente a un’infinità di immagini plausibili, quindi l’immagine non è definita in modo univoco. Ad esempio, consideriamo la didascalia “un dipinto di un capibara seduto su un campo all’alba”. A seconda dell’orientamento del capibara, potrebbe essere necessario disegnare un’ombra, sebbene questo dettaglio non sia mai menzionato esplicitamente. Esploriamo la capacità di DALL·E di risolvere la sottospecificazione in tre ambiti: modifica di stile, ambientazione e tempo; disegno dello stesso oggetto in situazioni diverse; e generazione di un’immagine di un oggetto con un testo specifico scritto su di esso.
Con diversi livelli di affidabilità, DALL·E fornisce accesso a una parte delle funzionalità di un motore di rendering 3D tramite linguaggio naturale. Può controllare in modo indipendente gli attributi di un piccolo numero di oggetti e, in misura limitata, la quantità e la disposizione dell’uno rispetto all’altro. Può anche controllare la posizione e l’angolazione da cui una scena viene resa e generare oggetti noti rispettando specifiche precise di angolazione e condizioni di illuminazione.
A differenza di un motore di rendering 3D, i cui input devono essere specificati in modo univoco e completo, DALL·E è spesso in grado di “riempire gli spazi vuoti” quando la didascalia implica che l’immagine debba contenere un certo dettaglio non esplicitamente indicato.
Di seguito, esploriamo l’uso delle funzionalità precedenti per la moda e l’interior design.
La natura compositiva del linguaggio ci permette di mettere insieme concetti per descrivere sia cose reali che immaginarie. Abbiamo scoperto che DALL·E ha anche la capacità di combinare idee molto diverse tra loro per sintetizzare oggetti, alcuni dei quali difficilmente esistenti nel mondo reale. Esploriamo questa capacità in due ambiti: il trasferimento di qualità da vari concetti ad animali e la progettazione di prodotti prendendo ispirazione da concetti non correlati.
Nella sezione precedente, abbiamo esplorato la capacità di DALL·E di combinare concetti non correlati nel generare immagini di oggetti reali. Qui, esploriamo questa capacità nel contesto dell’arte, per tre tipi di illustrazioni: versioni antropomorfe di animali e oggetti, chimere animali ed emoji.
GPT‑3 può essere istruito a svolgere molti tipi di attività basandosi esclusivamente su una descrizione e un suggerimento per generare la risposta fornita nel prompt, senza alcun addestramento aggiuntivo. Ad esempio, se si fornisce il prompt “ecco la frase ‘una persona che porta a spasso il suo cane al parco’ tradotta in francese:”, GPT‑3 risponde “un homme qui promène son chien dans le parc”. Questa funzionalità è chiamata ragionamento zero-shot. Abbiamo scoperto che DALL·E estende questa funzionalità al dominio visivo, riuscendo a eseguire diversi tipi di attività di traduzione da immagine a immagine se sollecitato nel modo giusto.
Non avevamo previsto che questa funzionalità sarebbe emersa, né abbiamo modificato la rete neurale o la procedura di addestramento per favorirla. Motivati da questi risultati, abbiamo misurato l’attitudine di DALL·E al ragionamento analogico testandolo sulle matrici progressive di Raven, un test visivo di QI ampiamente utilizzato nel XX secolo.
Abbiamo scoperto che DALL·E ha acquisito conoscenze su fatti geografici, monumenti e quartieri. La sua conoscenza di questi concetti è sorprendentemente precisa in alcuni aspetti e imperfetta in altri.
Oltre a esplorare la conoscenza di DALL·E di concetti che variano nello spazio, esploriamo anche la sua conoscenza di concetti che variano nel tempo.
DALL·E è un semplice transformer decoder-only che riceve sia il testo che l’immagine come un unico flusso di 1280 token (256 per il testo e 1024 per l’immagine) e li modella tutti in modo autoregressivo. La maschera di attenzione in ciascuno dei suoi 64 livelli di self-attention consente a ciascun token dell’immagine di prestare attenzione a tutti i token del testo. DALL·E utilizza la maschera causale standard per i token del testo e l’attenzione sparsa per i token dell’immagine, con un pattern di attenzione a righe, colonne o convoluzionale, a seconda del livello. Forniamo maggiori dettagli sull’architettura e sulla procedura di addestramento nel nostro articolo(si apre in una nuova finestra).
La sintesi testo-immagine è un’area di ricerca attiva fin dal lavoro pionieristico di Reed et. al, 1 il cui approccio utilizza una GAN condizionata da embedding testuali. Gli embedding sono prodotti da un encoder preaddestrato utilizzando una loss contrastiva, in modo simile a CLIP. StackGAN3 e StackGAN++4 utilizzano GAN multiscala per aumentare la risoluzione dell’immagine e migliorare la fedeltà visiva. AttnGAN5 integra un meccanismo di attenzione tra le caratteristiche del testo e dell’immagine e propone una loss ausiliaria basata sul matching contrastivo tra testo e immagine. Questo è interessante da confrontare con il nostro riordinamento offline con CLIP. Altri lavori2, 6 e 7 integrano ulteriori fonti di supervisione durante l’addestramento per migliorare la qualità dell’immagine. Infine, i lavori di Nguyen et. al8 e Cho et. al9 esplorano strategie di campionamento per la generazione di immagini che sfruttano modelli discriminativi multimodali preaddestrati.
Similmente al rejection sampling utilizzato in VQVAE-2(si apre in una nuova finestra), utilizziamo CLIP per riordinare i migliori 32 campioni su 512 per ogni didascalia in tutte le immagini interattive. Questa procedura può anche essere vista come una sorta di ricerca guidata dal linguaggio16 e può avere un impatto significativo sulla qualità del campione.
Note di riferimento
- A
Un token è qualsiasi simbolo appartenente a un vocabolario definito; per gli esseri umani, ogni lettera dell’alfabeto italiano è un token di un alfabeto di 21 lettere. Il vocabolario di DALL·E contiene token sia per i concetti del testo che per quelli dell’immagine. Nello specifico, ogni didascalia dell’immagine è rappresentata utilizzando un massimo di 256 token codificati BPE con una dimensione del vocabolario di 16384 e l’immagine è rappresentata utilizzando 1024 token con una dimensione del vocabolario di 8192.
Le immagini sono preelaborate a una risoluzione di 256x256 durante l’addestramento. Similmente a VQVAE, ogni immagine è compressa in una griglia 32x32 di codici latenti discreti utilizzando un VAE discreto preaddestrato tramite un rilassamento continuo. Abbiamo scoperto che l’addestramento con questo rilassamento elimina la necessità di un codebook esplicito, della loss EMA o di trucchi come il recupero di codici inattivi e permette di scalare a vocabolari di grandi dimensioni.
- B
Ulteriori dettagli sono forniti in una sezione successiva.
- 17
Questa attività è chiamata binding delle variabili ed è stata ampiamente studiata in letteratura.
Riferimenti
- 1
Reed, S., Akata, Z., Yan, X., Logeswaran, L., Schiele, B., Lee, H. (2016). “Generative adversarial text to image synthesis(si apre in una nuova finestra)”. In ICML 2016.
- 2
Reed, S., Akata, Z., Mohan, S., Tenka, S., Schiele, B., Lee, H. (2016). “Learning what and where to draw(si apre in una nuova finestra)”. In NIPS 2016.
- 3
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang X., Metaxas, D. (2016). “StackGAN: Text to photo-realistic image synthesis with stacked generative adversarial networks(si apre in una nuova finestra)”. In ICCY 2017.
- 4
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang, X., Metaxas, D. (2017). “StackGAN++: realistic image synthesis with stacked generative adversarial networks(si apre in una nuova finestra)”. In IEEE TPAMI 2018.
- 5
Xu, T., Zhang, P., Huang, Q., Zhang, H., Gan, Z., Huang, X., He, X. (2017). “AttnGAN: Fine-grained text to image generation with attentional generative adversarial networks(si apre in una nuova finestra).
- 6
Li, W., Zhang, P., Zhang, L., Huang, Q., He, X., Lyu, S., Gao, J. (2019). “Object-driven text-to-image synthesis via adversarial training(si apre in una nuova finestra)”. In CVPR 2019.
- 7
Koh, J. Y., Baldridge, J., Lee, H., Yang, Y. (2020). “Text-to-image generation grounded by fine-grained user attention(si apre in una nuova finestra)”. In WACV 2021.
- 8
Nguyen, A., Clune, J., Bengio, Y., Dosovitskiy, A., Yosinski, J. (2016). “Plug & play generative networks: conditional iterative generation of images in latent space(si apre in una nuova finestra).
- 9
Cho, J., Lu, J., Schwen, D., Hajishirzi, H., Kembhavi, A. (2020). “X-LXMERT: Paint, caption, and answer questions with multi-modal transformers(si apre in una nuova finestra)”. EMNLP 2020.
- 10
Kingma, Diederik P. e Max Welling. “Auto-encoding variational bayes(si apre in una nuova finestra).” arXiv preprint (2013).
- 11
Rezende, Danilo Jimenez, Shakir Mohamed e Daan Wierstra. “Stochastic backpropagation and approximate inference in deep generative models(si apre in una nuova finestra).” arXiv preprint (2014).
- 12
Jang, E., Gu, S., Poole, B. (2016). “Categorical reparametrization with Gumbel-softmax(si apre in una nuova finestra)”.
- 13
Maddison, C., Mnih, A., Teh, Y. W. (2016). “The Concrete distribution: a continuous relaxation of discrete random variables(si apre in una nuova finestra)”.
- 14
van den Oord, A., Vinyals, O., Kavukcuoglu, K. (2017). “Neural discrete representation learning(si apre in una nuova finestra)”.
- 15
Razavi, A., van der Oord, A., Vinyals, O. (2019). “Generating diverse high-fidelity images with VQ-VAE-2(si apre in una nuova finestra)”.
- 16
Andreas, J., Klein, D., Levine, S. (2017). “Learning with Latent Language(si apre in una nuova finestra)”.
- 17
- 18
- 19
- 20
Kanerva, P. (1997). “Fully distributed representations(si apre in una nuova finestra)”.


