Approfondimenti Usare prompt negativi per migliorare le immagini generate
3' 23''
25/08/2023

Max Woolf, data scientist di BuzzFeed, ha sperimentato l'uso dei prompt negativi per migliorare la generazione di immagini a partire da output errati.

Usare prompt negativi per migliorare le immagini generate

È possibile usare immagini generate di bassa qualità o con dettagli sbagliati per migliorare l'output di un modello generativo? Sembra proprio di sì: Max Woolf, data scientist presso BuzzFeed, ha dimostrato come Stable Diffusion possa generare immagini di qualità elevata dopo essere stato addestrato su immagini sbagliate.

Il recente rilascio di Stability Diffusion XL 1.0 (SDXL 1.0) da parte di Stability AI ha riportato parte dell'attenzione sui modelli per la generazione delle immagini, monopolizzata ormai da mesi dai chatbot. 

Woolf ha così deciso di mettere alla prova le capacità della nuova versione del modello usando immagini sbagliate durante la fase di fine-tuning, per valutare se riuscisse a migliorarle sia in termini di qualità generale che di attinenza dei contenuti al prompt.

L'esperimento: usare un prompt negativo

Per eseguire l'esperimento, Woolf ha fatto uso di Dreambooth e LoRA: il primo è un metodo usato per personalizzare i modelli text-to-image e permettergli di generare diverse immagini dello stesso soggetto in contesti diversi; il secondo è un metodo di addestramento che accelera il training dei modelli consumando meno memoria.

Pixabay
intelligenza artificiale

LoRA è, in sostanza, un refiner dei modelli che migliora la qualità dell'immagine di output dopo che è stata caricata, velocizzando il processo di generazione.

Woolf ha addestrato SDXL 1.0 con Dreambooth e LoRA su immagini create in modo volutamente sbagliato (dita delle mani mancanti, dettagli di profondità errati o inesistenti, e così via). Il data scientist ha usato queste immagini come base di SDXL 1.0, usando un prompt negativo per indicare al modello di generare immagini che non avessero gli stessi errori di quelle di addestramento.

Woolf ha confrontato la qualità delle immagini generate dalla pipeline base (senza Dreambooth e LoRA) con quelle create con il prompt negativo da SDXL 1.0 con l'intera pipeline di fine-tuning. 

I risultati sono stati sorprendenti: l'uso di LoRA con il prompt negativo ha permesso di migliorare il soggetto delle immagini e aggiungere dettagli all'ambiente

Max Woolf
SDXL 1.0 con LoRA e prompt negativo
Le differenze di dettagli con e senza prompt negativo. Credits: Max Woolf

Nella foto, la prima immagine è quella generata dalla pipeline base, senza prompt negativo né LoRA. Il soggetto è sempre lo stesso: "Un lupo nel Yosemite National Park, nello stile fotografico di un documentario sulla natura". La seconda immagine è stata generata dalla pipeline base con prompt negativo, ma senza l'uso di LoRA; il miglioramento si percepisce già, ma è con la terza immagine, quella derivante dalla pipeline con LoRA, che si nota la vera differenza.

L'esperimento di Woolf ha coinvolto anche soggetti non realistici, come nel caso del prompt "un grande e delizioso hamburger con la forma di una geometria aliena a cinque dimensioni, in stile fotografico professionale". 

Il modello ovviamente non è riuscito a riprodurre la forma geometrica non euclidea, ma con LoRA e il prompt negativo ha prodotto un risultato molto diverso rispetto agli altri due esperimenti, comprendendo il vero significato di "forma di una geometria aliena", creando un hamburger dalla forma inusuale invece di aggiungere un alieno alla scena.

Max Woolf
SDXL 1.0 - Panino con geometria alinea
La pipeline con LoRA e prompt negativo ha meglio compreso lo "spirito" del prompt. Credits: Max Woolf

Svolgendo altri esperimenti con prompt diversi, Woolf ha notato un miglioramento anche nella leggibilità delle parole presenti nelle immagini generate e nei colori usati, più accesi e con miglior contrasto. 

A giudicare dagli esempi riportati da Woolf, l'uso di LoRA con prompt negativi consente di generare immagini di qualità molto più elevata rispetto a SDXL 1.0 base, con meno errori e soprattutto più aderenti all'idea dell'input utente. 

"Pensavo che il trucco dell'input negativo con LoRA avrebbe soltanto migliorato la qualità e i dettagli dell'immagine generata, ma sembra che invece stia rendendo SDXL più "sveglio" e più fedele allo spirito del prompt" ha affermato Woolf nell'esaminare i risultati.

Il processo ideato da Woolf è, in sostanza, un tipo di apprendimento per rinforzo basato sul feedback utente, lo stesso usato per ChatGPT, anche se basato su interazioni negative per migliorare l'output. 

Anche se questa tecnica non coinvolge il normale processo di generazione delle immagini, lo studio di Woolf rappresenta un importante punto di partenza per lo sviluppo di un "LoRA negativo". 

Potrebbe interessarti anche

Tecnologia

Un modello generativo trasforma in immagini le idee degli stilisti

Un gruppo di ricercatori di tre università italiane ha sviluppato un modello capace di trasformare gli schizzi e i promp...

Tecnologia

Un sistema ML trasforma gli schizzi in modelli 3D

Un gruppo di ricercatori della Carnegie Mellon University ha presentato i risultati di una ricerca per realizzare un sis...

Tecnologia

Glaze protegge lo stile degli artisti dall’assimilazione

Un software sviluppato nell’Università di Chicago promette di impedire l’analisi dello stile di un artista da parte dei...

News

Modelli generativi custom per l’industria dei videogiochi

La startup Scenario ha lanciato un modello di IA generativa capace di adattarsi allo stile dei progetti tramite una proc...