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.
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.
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.
"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.
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..
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..
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.
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).
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ù..
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.
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"
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.
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.
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.
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.
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.