Come Google Deep Dream trasforma le foto in arte allucinogena

7

I computer non dormono. Fissano semplicemente i dati finché non iniziano a sembrare qualcos’altro.

Mentre siamo offline, le nostre macchine sono impegnate a reinterpretare vecchi file e a sputare nuovo strano materiale. Il motore dietro tutto questo? Google Sogno profondo. È un programma che cerca modelli nelle immagini digitali, li altera e ci fornisce i risultati affinché possiamo giudicarli. Puoi diventare sciocco. Puoi diventare artistico. Oppure puoi diventare un incubo. Dipende da cosa gli dai da mangiare e dai parametri impostati dai dipendenti di Google.

L’unico vero modo per comprendere cosa fa Deep Dream è provarlo. Google ha aperto i suoi server al pubblico. L’obiettivo era capire come il programma classifica e indicizza le immagini. Carichi una foto. Pochi secondi dopo, ottieni un rendering fantastico basato sullo scatto originale.

Il risultato è un bizzarro ibrido. Immagina se Salvador Dalì, Hieronymus Bosch e Vincent van Gogh organizzassero una festa di pittura selvaggia che durasse tutta la notte. Questa è l’atmosfera. Le foglie si trasformano in turbinii colorati. Le rocce diventano rettangoli ripetitivi. Le montagne si dissolvono in graziose linee evidenziate.

Un paesaggio vuoto? Deep Dream lo riempie. Pagode. Automobili. Ponti. Parti del corpo umano. Vede gli animali. Molti di loro.

Carica un ritratto di Tom Cruise. Il programma rielaborerà le pieghe e gli spazi trasformandoli in teste di cane, pesci e altre creature familiari. Questi non sono animali normali. Sono ricreazioni fantastiche incrociate con un caleidoscopio sfumato di LSD. Sono stranamente evocativi. Spesso terrificante.

Google non sta organizzando rave. Non alimenta i suoi server con sostanze chimiche allucinogene. Sta guidando quei server ad analizzare le immagini e poi a rigurgitarle come nuove rappresentazioni del nostro mondo.

Il modo in cui funziona ci dice qualcosa su come costruiamo i dispositivi digitali. Mostra come le macchine digeriscono la quantità inimmaginabile di dati nel nostro mondo ossessionato dalla tecnologia.

Neuroni in bit

I computer sono macchine fredde e inorganiche. Non dormono. Certamente non sognano. O almeno così pensavamo.

Deep Dream ha cambiato quella percezione. Non si trattava di dare a un computer un subconscio. Si trattava di esporre la complessità assoluta e bizzarra che emerge quando si inseriscono i dati del mondo umano in un codice sempre più intricato.

Gli sviluppatori di Google non hanno iniziato questo progetto come un progetto artistico. Hanno creato Deep Dream per la sfida di riconoscimento visivo su larga scala di ImageNet. Questo concorso è iniziato nel 2010. Ogni anno, dozzine di squadre gareggiano per costruire i migliori classificatori automatici di immagini. L’obiettivo? Per rilevare e ordinare milioni di foto senza l’aiuto umano. Dopo ogni concorso, i perdenti (e i vincitori) modificano i loro algoritmi. Provano a farlo più velocemente. Meglio. Più accuratamente.

Ecco il problema con quella ricerca. Il riconoscimento delle immagini è in gran parte assente dal nostro toolkit Internet standard. Motori di ricerca? Amano le parole chiave. Digita “gatto” e otterrai risultati di testo. Digita “cat.jpg” e potresti ottenere un file. Ma chiedi a un motore di ricerca di capire cosa c’è in una foto? Lotta.

Tagghiamo noi stessi le nostre foto. “Casa.” “Tommy.” “Tramonto.” Lo facciamo perché i computer non sono in grado di analizzare in modo affidabile il disordine visivo. La vita reale è disordinata. Non sono vettori puliti. È rumore. E fino a poco tempo fa, le macchine trattavano quel rumore come dati spazzatura.

Deep Dream era un tentativo di rimediare a quella cecità.

Come funziona il sogno profondo

La salsa segreta? Una rete neurale artificiale (ANN).

Questo non è solo codice. È un sistema modellato sul cervello umano. Pensaci. Abbiamo più di 100 miliardi di neuroni. Lanciano impulsi. Elaborano gli input sensoriali. Ci aiutano a riconoscere un volto in una stanza affollata.

Deep Dream lo imita. Utilizza neuroni artificiali per filtrare i dati. Esegue i dati attraverso i livelli. E strati. E strati. Ancora e ancora.

L’architettura di un sogno

Per Deep Dream, la rete ha tipicamente tra 10 e 30 strati di questi neuroni artificiali. Sono molti i passaggi di elaborazione per un’immagine.

Il sistema non si limita a “vedere” un’immagine. Lo scompone. Cerca schemi. Bordi. Curve. Trame. Affina la sua interpretazione ad ogni livello. L’output finale è un’immagine. Ma non quello originale.

Il risultato è un’allucinazione.

Inserisci la foto di un parco. Il computer vede gli alberi. Vede l’erba. Ma poiché la rete neurale è iper-sintonizzata per trovare qualsiasi cosa che assomigli a un oggetto conosciuto, inizia ad amplificarne le caratteristiche.

L’erba diventa pelliccia. I rami degli alberi diventano gambe. Il cielo diventa un occhio gigante.

Perché è importante per la ricerca visiva

Questo non è solo uno screensaver stravagante. Evidenzia un cambiamento nel modo in cui elaboriamo le informazioni.

Per anni ci siamo affidati ai metadati. Abbiamo etichettato le nostre vite digitali. Ma Deep Dream ha dimostrato che le macchine possono imparare a interpretare i dati visivi senza quelle etichette.

“Deep Dream ci ha mostrato che se lasci che una macchina esamini abbastanza attentamente, troverà schemi che non esistono, o meglio, troverà schemi che noi non vediamo.”

Il computer non sogna in senso umano. Si sta ottimizzando. Sta spingendo i pixel verso ciò a cui pensa appartenga. E così facendo, rivela le lacune nella sua stessa comprensione.

Se una macchina può trasformare una bicicletta in una creatura fatta di biciclette,

Le reti neurali non sono specchi magici che si limitano a riflettere i dati. Non iniziano automaticamente a identificare modelli dal nulla. Richiedono formazione. Devi fornire loro una serie di dati da utilizzare come punti di riferimento. Senza questo lavoro pesante, si limiterebbero a vagliare ciecamente le informazioni, incapaci di dare un senso a nessuna di esse.

Secondo il blog ufficiale di Google, il processo di formazione si basa sulla ripetizione e sull’analisi. Supponiamo che tu voglia addestrare una rete neurale artificiale (ANN) per identificare una bicicletta. Non gli dici semplicemente “bicicletta”. Gli mostri milioni di immagini di biciclette. Inoltre specifichi, nel codice del computer, come appare effettivamente una bicicletta. Due ruote. Un posto. Manubrio.

Quindi i ricercatori liberano la rete per vedere cosa trovano. Farà errori. Il programma potrebbe restituire una serie di immagini che includono motociclette e ciclomotori. Quando ciò accade, i programmatori modificano il codice. Chiariscono al computer che le biciclette non hanno motore né impianto di scarico. Eseguono di nuovo il programma. E ancora. Perfezionano il software finché i risultati non sono soddisfacenti.

“Il team di Deep Dream si è reso conto che una volta che una rete riesce a identificare determinati oggetti, può anche ricrearli da sola.”

Il team di Deep Dream ha notato qualcosa di interessante. Una volta che una rete può identificare gli oggetti, può riprodurli senza ulteriori input. Una rete che riconosce una bicicletta a vista può generare un’immagine di una bicicletta da zero. L’idea è che la rete generi nuove immagini creative semplicemente perché ha la capacità di classificare e ordinare le immagini.

Sembra impressionante finché non si guarda l’output. Anche dopo aver vagliato milioni di immagini di biciclette, i computer commettono errori critici quando generano le proprie immagini. Le bici generate potrebbero presentare mani umane parziali sul manubrio. Oppure i piedi sui pedali. Ciò accade perché molte delle immagini di formazione includono persone. Il computer alla fine non riesce a discernere dove finiscono le parti della bicicletta e dove iniziano le parti umane.

Questo tipo di errori si verificano per numerose ragioni. Gli ingegneri del software non comprendono appieno ogni aspetto delle reti neurali che costruiscono. Ma sapere come funzionano ti aiuta a comprendere come si verificano questi difetti.

L’architettura dell’inceptionismo

I neuroni artificiali nella rete operano in pile. Deep Dream può utilizzare da un minimo di 10 a un massimo di 30 livelli. Ogni livello raccoglie vari dettagli di un’immagine. I livelli iniziali rilevano elementi fondamentali come bordi e bordi. Un altro livello potrebbe identificare colori e orientamenti specifici.

Altri livelli cercano forme specifiche che assomiglino a oggetti come una sedia o una lampadina. Gli strati finali reagiscono solo a oggetti più sofisticati come automobili, foglie o edifici.

Gli sviluppatori di Google chiamano questo processo inceptionismo. Si riferisce a questa particolare architettura di rete neurale. Hanno anche pubblicato una galleria pubblica per mostrare esempi del lavoro di Deep Dream. È uno sguardo su come vede la macchina.

Una volta che la rete ha individuato i vari aspetti di un’immagine, possono verificarsi numerose cose. Con Deep Dream, Google ha deciso di dire alla rete di realizzare nuove immagini. Non si limita ad analizzare. Crea.

L’oscurità al limite

Gli ingegneri di Google non hanno semplicemente lasciato che Deep Dream scegliesse quali parti di un’immagine identificare. Essenzialmente hanno detto ai computer di prendere quegli aspetti dell’immagine e di enfatizzarli.

Se Deep Dream vede la forma di un cane nel motivo del tessuto sul tuo divano, accentua i dettagli di quel cane.

Ogni strato aggiunge di più all’aspetto del cane. Pelliccia. Occhi. Il naso. Quello che una volta era un innocuo motivo cachemire sul tuo divano diventa una figura canina completa di denti e occhi.

Deep Dream ingrandisce leggermente con ogni iterazione della sua creazione. Aggiunge sempre più complessità al quadro. Pensa al cane nel cane nel cane.

Un ciclo di feedback inizia quando Deep Dream interpreta ed enfatizza eccessivamente ogni dettaglio di un’immagine. Un cielo pieno di nuvole si trasforma da una scena idilliaca in una piena di cavallette spaziali, forme psichedeliche e macchine color arcobaleno. E cani.

C’è una ragione per la sovrabbondanza di cani nei risultati di Deep Dream. Quando gli sviluppatori hanno selezionato un database per addestrare questa rete neurale, ne hanno scelto uno che includesse 120 sottoclassi di cani, tutte classificate da esperti. Quindi, quando Deep Dream va alla ricerca di dettagli, è semplicemente eccessivamente probabile vedere facce e zampe di cuccioli ovunque cerchi.

Deep Dream non ha nemmeno bisogno di un’immagine reale per creare immagini. Se gli dai un’immagine bianca vuota o piena di elettricità statica, continuerà a “vedere” parti dell’immagine, utilizzandole come elementi costitutivi per immagini sempre più strane.

È il tentativo del programma di rivelare significato e forma da dati altrimenti informi. Ciò parla dell’idea alla base dell’intero progetto: cercare di trovare modi migliori per identificare e contestualizzare il contenuto delle immagini sparse sui computer di tutto il mondo.

Quindi i computer possono mai davvero sognare? Stanno diventando troppo intelligenti per il loro bene? Oppure Deep Dream è solo un modo fantasioso di immaginare il modo in cui la nostra tecnologia elabora i dati?

È difficile sapere esattamente cosa controlla la produzione di Deep Dream. Nessuno guida specificamente il software per completare le attività preprogrammate. Si tratta di prendere istruzioni piuttosto vaghe (trovare i dettagli e sottolinearli, ancora e ancora) e completare i lavori senza una guida umana esplicita.

Le immagini risultanti sono una rappresentazione di quell’opera. Forse quelle rappresentazioni sono opere d’arte create dalla macchina. Forse è una manifestazione di sogni digitali, nati dal silicio e dai circuiti. E forse è l’inizio di un tipo di intelligenza artificiale che renderà i nostri computer meno dipendenti dalle persone.

Potresti temere l’ascesa dei computer senzienti che conquisteranno il mondo. Ma per ora, questo tipo di progetti apportano benefici diretti a chiunque utilizzi il Web. Nell’arco di pochi anni, il riconoscimento delle immagini è migliorato notevolmente, aiutando le persone a vagliare più rapidamente immagini e grafica per trovare le informazioni di cui hanno bisogno. Al ritmo attuale di progresso, puoi aspettarti presto grandi passi avanti nel riconoscimento delle immagini, in parte grazie ai computer da sogno di Google.