Da una vittoria contro i migliori giocatori umani di Go, ad esempio, alle previsioni meteo più recenti, con una precisione senza precedenti, i progressi dell'intelligenza artificiale continuano a sorprendere. Un risultato ancora più sconcertante è la generazione di immagini sorprendentemente realistiche, che alimentano una certa confusione tra vero e falso. Ma come vengono generate automaticamente queste immagini?
I modelli di generazione delle immagini si basano sul deep learning, ovvero su reti neurali molto grandi che possono raggiungere diversi miliardi di parametri. Una rete neurale può essere considerata come una funzione che assocerà i dati di input alle previsioni di output. Questa funzione è composta da un insieme di parametri (valori numerici) inizialmente casuali che la rete imparerà a correggere imparando.
Per dare un ordine di grandezza, il modello Stable Diffusion , capace di generare immagini realistiche, è composto da 8 miliardi di parametri e il suo addestramento è costato 600.000 dollari.
Questi parametri devono essere appresi. Per spiegare il loro apprendimento, possiamo considerare il caso più semplice del rilevamento di oggetti a partire da immagini. Un'immagine viene presentata come input alla rete e la rete deve prevedere le possibili etichette degli oggetti (auto, persona, gatto, ecc.) come output.
L'apprendimento consiste quindi nel trovare una buona combinazione di parametri che permetta la previsione più corretta possibile degli oggetti presenti nelle immagini. La qualità dell'apprendimento dipenderà principalmente dalla quantità di dati etichettati, dalla dimensione dei modelli e dalla potenza di calcolo disponibile.
Nel caso della generazione di immagini, in un certo senso vogliamo realizzare il processo inverso: da un testo che descrive una scena, ci si aspetta che l'output del modello crei un'immagine corrispondente a questa descrizione, il che è considerevolmente più complesso della previsione di un'etichetta.
Distruggere per creare
Per prima cosa, dimentichiamoci del testo e concentriamoci solo sull'immagine. Se generare un'immagine è un processo complesso anche per un essere umano, distruggerla (il problema inverso) è un problema banale. Concretamente, partendo da un'immagine composta da pixel, cambiare casualmente il colore di alcuni pixel costituisce un semplice metodo di alterazione.
Possiamo presentare una rete neurale con un'immagine leggermente modificata come input e chiederle di prevedere l'immagine originale come output. Possiamo quindi addestrare il modello affinché impari come eliminare il rumore dalle immagini, il che rappresenta il primo passo verso la generazione delle immagini. Quindi, se partiamo da un'immagine molto rumorosa e ripetiamo la chiamata del modello in sequenza, otterremo a ogni chiamata un'immagine sempre meno rumorosa, fino a ottenere un'immagine completamente priva di rumore.
Se esageriamo il processo, potremmo quindi iniziare con un'immagine composta interamente da rumore (una neve di pixel casuali), in altre parole un'immagine di nulla, e ripetere le chiamate al nostro modello "denoiser" per ottenere un'immagine come quella mostrata di seguito:
Abbiamo quindi un processo in grado di generare immagini, ma di interesse limitato perché, a seconda del rumore casuale, dopo diverse iterazioni può finire per generare qualsiasi cosa come immagine di output. Abbiamo quindi bisogno di un metodo per guidare il processo di denoising e per questo scopo verrà utilizzato il testo.
Dal rumore all'immagine
Per il processo di denoising abbiamo bisogno di immagini, queste provengono da Internet e ci permettono di costituire il set di dati di addestramento. Per il testo necessario a guidare l'attività di denoising vengono semplicemente utilizzate le didascalie delle immagini trovate su Internet. Insieme all'apprendimento della rimozione del rumore dalle immagini, viene associata una rete che rappresenta il testo. Quindi, quando il modello impara a rimuovere il rumore da un'immagine, impara anche a quali parole è associata tale rimozione del rumore. Una volta completato l'addestramento, otteniamo un modello che, a partire da un testo descrittivo e dal rumore totale, eliminerà, attraverso iterazioni successive, il rumore per convergere verso un'immagine che corrisponde alla descrizione testuale.
Il processo elimina la necessità di un'etichettatura manuale specifica. Si nutre dei milioni di immagini associate alle loro didascalie già presenti sul web. Infine, un'immagine vale più di mille parole: ad esempio, l'immagine qui sopra è generata dal seguente testo: "fiori di uova fritte nel giardino della pancetta" tramite il modello di diffusione stabile.
Christophe Rodrigues , Docente-ricercatore in informatica, Pôle Léonard de Vinci
Questo articolo è stato ripubblicato da The Conversation con licenza Creative Commons. Leggi l' articolo originale .