L'intelligenza artificiale che gioca a guardie e ladri per creare e predire: scopriamo le reti GAN

Le reti GAN possono generare contenuti (immagini, video, musica) in modo incredibilmente realistico, e per farlo usano un principio che trovo affascinante e sbalorditivo.. in un certo senso competono e si sfidano giocano a guardie e ladri. Scopriamo come funzionano con esempi pratici.

L'intelligenza artificiale che gioca a guardie e ladri per creare e predire: scopriamo le reti GAN
L'intelligenza artificiale che gioca a guardie e ladri per creare e predire: scopriamo le reti GAN

Sempre più spesso, sentiamo parlare di generazione di contenuti attraverso l'intelligenza artificiale. Ad esempio ormai conosciamo GPT-3 e diversi algoritmi che permettono di creare immagini partendo da una descrizione in linguaggio naturale.
Oggi, vorrei approfondire sistemi generativi il cui funzionamento è a dir poco affascinante e sbalorditivo. Mi riferisco alle reti GAN.

Cosa sono le GAN?

Le GAN (Generative Adversarial Networks), o Reti Avversarie Generative, sono delle architetture algoritmiche che sfruttano due reti neurali  contrapponendole l'una all'altra con lo scopo di generare nuovi dati potenzialmente molto simili a quelli reali.

Vengono spesso utilizzate nella generazione di immagini, di video, di musica e voci, ma anche per molto altro. E a breve lo scopriremo.

Come funzionano le GAN?

Proviamo a capire in modo semplice come funzionano questi sistemi.
Le due reti neurali prendono il nome di "generatore" e "discriminatore", e metaforicamente, possiamo affermare che giocano tra di loro a guardia e ladro.
Il ladro (generatore), infatti, crea dei "dipinti" con lo scopo di convincere la guardia (discriminatore) che si tratta di un'opera autentica. E farà tentativi finché la guardia non cadrà nel tranello.

Chiaramente, i protagonisti del gioco si addestrano continuamente: il ladro per produrre dipinti sempre più vicini alla realtà, la guardia per cogliere sempre più dettagli per non farsi "imbrogliare".

Proviamo, quindi, ad esempio, ad applicare la metafora alla generazione di immagini di volti umani. Entrambe le reti verranno addestrate processando milioni di immagini in linea con quelle che l'algoritmo dovrà produrre. Nella fase successiva, il generatore inizierà a produrre volti finché il discriminatore approverà l'output, riconoscendolo come volto reale.

Questo meccanismo molto semplice, in cui le due reti neurali competono costantemente a livelli sempre più elevati, consente di ottenere degli output sempre più vicini alla perfezione.

La metafora e la spiegazione sono ispirate ad un talk di un TEDx di Fermo dal titolo "Macchine creative. L'intelligenza artificiale genera idee" che ha come protagonista Emanuele Frontoni.

Macchine creative. L'intelligenza artificiale genera idee - TEDx Fermo - Emanuele Frontoni

Esempi di applicazione delle GAN

Continuando con il filo conduttore del talk, racconto alcuni esempi di applicazioni possibili attraverso sistemi generativi di questo tipo.

I volti

Siti web come thispersondoesnotexist.com, mostrano volti completamente generati attraverso l'intelligenza artificiale e le reti GAN.

Volti generati attraverso thispersondoesnotexist.com, il quale sfrutta le reti GAN
Volti generati attraverso thispersondoesnotexist.com, il quale sfrutta le reti GAN
"Tutte queste persone non esistono.. sono state generate da quelle coppie di reti neurali di cui abbiamo parlato"

Oggi, come si vede nell'immagine, hanno dettagli precisissimi, ed è davvero difficile distinguere un'immagine generata da un volto reale. Spesso qualcuno, erroneamente, crede che gli algoritmi mettano insieme combinazioni di tratti estratti da diverse immagini, ma non è così: sono completamente generate, pixel dopo pixel.

Le città

Nel video del TEDx, vengono mostrate immagini satellitari di città generate da reti GAN.

Generazione di immagini satellitari di città attraverso le reti GAN
Generazione di immagini satellitari di città attraverso le reti GAN

In questo caso, le reti neurali sono state addestrate su quantità elevatissime di immagini dei satelliti.

I capi d'abbigliamento

Anche questi abiti non esistono..

Abiti generati attraverso delle reti GAN
Abiti generati attraverso delle reti GAN

Con questo, iniziamo ad avvicinarci ad utilizzi che possono avere delle applicazioni dirette per alcune tipologie di azienda. Ad esempio, i vestiti generati possono essere una fonte di ispirazione per i designer umani.
È interessante anche il tempo con il quale si possono ottenere gli output: è possibile generare milioni di elementi in pochissimo tempo!

"Non si tratta di un omino che con Photoshop alla mano modifica immagini"

Le strade

Nemmeno queste strade esistono..

Video di strade resi in visualizzazione notturna da reti GAN
Video di strade resi in visualizzazione notturna da reti GAN

Come si vede (anche dal talk), gli algoritmi sono partiti da immagini diurne per ricreare quelle notturne. Perché possono essere utili? Ad esempio per addestrare in modo migliore le auto a guida autonoma: guidare di notte è moto diverso da guidare di giorno, ma esistono molti meno dati d'addestramento per la fase notturna.

"I nostri figli non guideranno un'auto.. saranno guidati da un'auto!"

E non solo le reti GAN possono generare immagini notturne, ma, per lo stesso fine, possono generarne mentre piove. Guidare con la pioggia implica attenzioni e valutazioni diverse, e, anche in questo caso, esistono molti meno dati di addestramento.

I video

Partendo da immagini di soggetti, è possibile generare video con tali soggetti in movimento. Nel video, ad esempio si vede una ragazza che viene fatta ballare.. ed è davvero impressionante l'output.

Video generati da reti GAN partendo da un'immagine
Video generati da reti GAN partendo da un'immagine

La tecnica utilizzata è la medesima con la quale vengono realizzati i famosi "deepfake": i video falsi dei grandi uomini del mondo.
Questo ci fa capire che oggi dobbiamo essere consapevoli del fatto che non tutto ciò che vediamo online è reale. Lo sapevamo già, ma oggi, con queste tecnologie a disposizione di tutti, anche grazie a semplici applicazioni mobile, tutto ciò è notevolmente accelerato.

La musica

La musica nella partitura che segue è stata composta da un musicista che non esiste (nel video del TEDx è possibile anche ascoltare la composizione).

Musica generata attraverso reti GAN addestrate su composizioni di Bach
Musica generata attraverso reti GAN addestrate su composizioni di Bach

Le reti GAN impiegate per generare queste composizioni sono state addestrate "ascoltando" moltissime ore di musica di Bach, e ora riescono a produrre melodie simili, che si ispirano al noto compositore.
Ancora una volta ci tengo a sottolineare che non si tratta di collage e combinazioni di melodie esistenti, ma di qualcosa di completamente generato: una creazione musicale originale.

"Tanti volti addestrano le nostre reti, tante strade addestrano le nostre macchine, tanti brani musicali addestrano una rete GAN che è capace di comporre musica"

Architettura

Queste architetture non esistono.. o meglio, non esistono più..

Le parti mancanti delle costruzioni distrutte possono essere generate da reti GAN
Le parti mancanti delle costruzioni distrutte possono essere generate da reti GAN

Si tratta di costruzioni distrutte dalle guerre, dai terremoti, o da altri fenomeni che purtroppo abbiamo imparato a conoscere. Attraverso le reti GAN è possibile generare le parti mancanti.. capitelli, colonne, facciate, vengono pian piano ricostruite.
Oggi abbiamo archivi di ricostruzioni 3D di opere e di architetture, e grazie a questi dati possiamo addestrare l'intelligenza artificiale per sapere come affrontare la ricostruzione.

Il marketing

I consumatori che si vedono passeggiare nel punto vendita, non esistono.

Consumatori virtuali generati da reti GAN per simulare il comportamento degli utenti in negozio
Consumatori virtuali generati da reti GAN per simulare il comportamento degli utenti in negozio

L'immagine ed il mini video che segue raffigurano un supermercato, e i pallini colorati, generati dall'algoritmo, rappresentano i clienti che si muovono tra le corsie con i loro carrelli o cestini. In questo caso, le reti GAN sono state addestrate su migliaia di traiettorie di consumatori all'interno dei punti vendita.

Nonostante i negozi siano ambienti complessi in cui le persone possono decidere liberamente come muoversi, gli algoritmi sono in grado di predire in modo affidabile dove andranno.

"Il nostro comportamento umano è abbastanza prevedibile, e oggi le reti GAN sono perfettamente in grado di anticiparlo"
Le reti GAN predicono ed emulano il comportamento dei consumatori nei punti vendita

Abbiamo la possibilità, quindi, di generare simulazioni di clienti fittizi che si muovono nei nostri negozi per capire se un punto funziona meglio di un altro, e se una esposizione di prodotto è più performante di altre.

La medicina

Immagino che sia un'affermazione "forte", ma.. questi neonati, non esistono.

Video di neonati generati da reti GAN con lo scopo di individuare patologie rare
Video di neonati generati da reti GAN con lo scopo di individuare patologie rare

Qui siamo all'Ospedale Pediatrico G. Salesi di Ancona, che ha una delle terapie intensive neonatali più famose d'Italia (ma anche tra le più importanti d'Europa), dove, attraverso l'intelligenza artificiale vengono generati movimenti di bambini con patologie che possono essere molto rare.

"Immaginiamo alla possibilità di individuare sindromi dello spettro autistico in maniera preventiva!"

L'individuazione di movimenti particolari, potrebbe permettere delle diagnosi preventive. Tuttavia non esiste la possibilità di avere un numero elevato di osservazioni di soggetti che compiono quei movimenti, quindi vengono fatti compiere da "bambini che non esistono" sfruttando gli algoritmi, nello stesso modo in cui vengono create le scene di strade con la pioggia per addestrare le auto a guida autonoma.

Un notevole passo in avanti

Passando dagli esempi iniziali, che riguardavano la generazione di volti e i deepfake, all'ultimo analizzato, direi che si è fatto un notevole passo avanti, arrivando a generare modelli di bambini "fittizi" utili a diagnosticare in anticipo alcune patologie rare.

Tuttavia, la base è perfettamente identica! Questo fa capire in maniera evidente che è solo l'utilizzo che l'uomo fa di queste tecnologie che è profondamente diverso. E questo concetto vale per tutte le tecnologie nate nella storia.

In realtà le macchine creative esistono? No, esistono, dietro agli algoritmi, delle persone creative, che hanno la capacità di generare nuove idee. E in tutto questo, il confronto è fondamentale.. proprio come all'interno delle reti GAN.

I sogni degli algoritmi

Come approfondimento dei concetti visti finora, consiglio la visione di un altro talk di un TEDx di Trento dal titolo "I sogni degli algoritmi", in cui Elisa Ricci racconta l'evoluzione delle reti GAN applicate anche alla sua attività di ricerca.

I sogni degli algoritmi - TEDx Trento - Elisa Ricci

Fino a dove può spingersi l'intelligenza artificiale? Negli ultimi anni gli algoritmi hanno dimostrato di "possedere creatività", generando dipinti, poesie e brani musicali. Ma si può davvero insegnare alle macchine ad immaginare? E cosa produrrà la collaborazione tra umani ed algoritmi?

Durante l'esposizione, vengono mostrati dei video estremamente realistici prodotti interamente da un algoritmo di Google partendo da una foto. I video ritraggono dei luoghi, come se venissero sorvolati da un drone.

Generazione di video di luoghi partendo da un'immagine attraverso reti GAN
Generazione di video di luoghi partendo da un'immagine attraverso reti GAN

Questo è solo un altro esempio di quello che permettono di fare oggi gli algoritmi generativi.

Elena, nel talk, racconta le due "rivoluzioni" che ha vissuto in ambito di intelligenza artificiale: l'ingresso del Deep Learning in ambito di computer vision ("machines can see") e la nascita delle reti neurali generative ("machines can imagine"). A proposito del secondo punto, spiega il funzionamento delle reti GAN con esempi efficaci.

Le reti GAN possono animare soggetti in tempo reale
Le reti GAN possono animare soggetti in tempo reale

Un aspetto molto interessante riguarda il fatto che gli algoritmi generativi possono lavorare in real-time. Quindi potrebbero essere usati, ad esempio, in sistemi di videochiamata.

Oggi, designer e artisti sono in grado di creare, grazie all'intelligenza artificiale, in modo nuovo.. più efficiente.

  • In futuro si useranno questo sistemi per creare campagne personalizzate.
  • In futuro avremo a disposizione sempre più tecnologie che ci consentiranno di indossare gli abiti che abbiamo scelto sul web virtualmente a casa nostra.
  • In futuro, in ambito formativo, si potranno usare i deepfake per generare materiale sempre più coinvolgente.. la storia potrà essere raccontata direttamente dai suoi protagonisti.

Stiamo creando strumenti che ci potenziano in quanto esseri umani creativi? O che ci sostituiscono? La mente umana è l'unica macchina realmente creativa.. realmente in grado di creare cose nuove.

Non dobbiamo avere paura, e non dobbiamo chiudere le porte all'intelligenza artificiale.

Da sempre utilizziamo la tecnologia per andare oltre i nostri limiti biologici.. abbiamo creato i telescopi per potenziare la nostra vista, gli aerei per volare, gli smartphone per aumentare le nostre capacità di comunicare a distanza. Oggi, possiamo usare l'intelligenza artificiale per potenziare le nostre capacità creative. E allora facciamolo! Per creare cose che non avremmo mai immaginato prima.

Per approfondire

Generative adversarial network - Wikipedia
Da testo a immagini attraverso l’intelligenza artificiale.. possiamo parlare di arte?
Oggi sentiamo parlare spesso di DALL·E 2 di OpenAI, DALL·E mini, e Imagen. Si tratta di algoritmi basati sull’intelligenza artificiale che vengono definiti Text-To-Image, e sono in grado di generare immagini di qualità a partire da un testo descrittivo in linguaggio naturale.
GPT-3: dialoghi con l’intelligenza artificiale di OpenAI e novità 2022
Cos’è GPT-3 di OpenAI? Si tratta di un’intelligenza artificiale molto evoluta. Dopo un lungo periodo d’attesa sono stato abilitato all’utilizzo del programma beta delle API. Come funziona? Lo vediamo insieme! Aggiornamento: 09/07/2022