sublimina.it

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size






  research gate


omino_logo_sublomina


La Conoscenza è come una linea, dove sono i confini non ci è dato di saperlo.

Sublimina.it è un viaggio personale nel mondo del pensiero umano. Per raggiungere ogni meta c'è una via ed ogni via ha un ingresso. Questa è la mia porta personale, l'ho appena aperta. Ognuno ha la sua porta, qualche volta si ha bisogno, però, di intravedere cosa c'è al di là della porta altrui per mirare l'altrove che sta dietro la propria.  Ispirato da: Franz Kafka, Il processo (1925)


Reti Neurali Artificiali e Inceptionism, una nuova frontiera nell'arte

E-mail Stampa PDF

"Propongo di considerare questa domanda: "Le macchine sono in grado di pensare?"

Alan Turing


E pssibile fare arte con l'Intelligenza Artificiale? Le Reti Neurali Artificiali possono sognare? Come sono nate e come funzionano le reti neurali artificiali? Perché il mondo digitale ce ci circonda sta diventando sempre più smart? Che cosa è l' "Inceptionism"?


Il famoso matematico Alan Turing prognosticò che entro l’anno 2000 l’uomo sarebbe riuscito a creare macchine intelligenti con capacità cognitive pari a quelle umane. Molti sostengono che oggi, superata la fatidica soglia del millennio da quasi due decenni, siamo di gran lunga lontani da questo obiettivo. Eppure qualcosa nel campo dell’Intelligenza Artificiale (IA) sta succedendo ed in fretta. Dai laboratori Googleplex, la Google-car a guida completamente automatica è pronta, TESLA sta sfornando veicoli elettrici ad alte prestazioni pronti a disegnare il futuro mercato dell’automobile. Internet è passato dall’essere il non-luogo dei sociologi e massmediologi della prima ora alla piazza per eccellenza dove chiunque, assolutamente non esperto di informatica, può muovere i propri passi. Si suole sostenere che siamo nell’era digitale, ma anche nel secolo del cervello e della biologia. Abbiamo oggi a disposizione potenze di calcolo senza precedenti che non hanno disatteso, per ora, la legge di Moore. Solo inizialmente in maniera timida il mondo dell’open source ha conquistato fette di mercato sempre più importanti e le major anziché proteggere il segreto industriale e nascondere i propri problemi irrisolti, che rallentano i processi produttivi, pescano nel variegato mondo del web ricercatori e dilettanti capaci di risolverli sotto esiguo compenso. Nel campo della scienza i laboratori non sono più luoghi settici e gli scienziati non lavorano più soli dietro una scrivania senza dialogare con nessuno per settimane. Questo è anche il secolo della collaborazione, possibile grazie alle tecnologie di comunicazione disponibili che hanno azzerato gli spazi e i tempi e di conseguenza incrementato la creatività e la produttività. L’uso di massa delle tecnologie digitali, del web e dei social network ha fatto sì che gli utenti da passivi consumatori siano diventati essi stessi produttori di contenuti e anche driver senza alcun costo dei brand delle più disparate aziende (basta fare una foto agli occhiali da sole preferiti e postarla su Instagram). L’IA oggi ci circonda, essa è nascosta nella miriade di app del nostro smartphone, quando navighiamo attraverso Google, quando navighiamo su Facebook, postiamo foto su Instagram o cerchiamo un percorso su Google Maps. Ad esempio una delle funzioni più strabilianti, a cui ormai siamo abituati, se utenti di Facebook o utilizzatori di una fotocamera digitale, è il riconoscimento facciale. Come fa un computer a riconoscere un volto? Come fa a riconoscere che quello è proprio il nostro volto tra miliardi di volti? Dietro questa apparentemente semplice funzione si nasconde la storia del pensiero umano di cui una diramazione culmina proprio con la volontà di costruire una macchina artificiale capace di attività cognitive prossime a quelle umane. Nello specifico, nel tag automatico dei volti, o nelle app che riconoscono oggetti in una foto o in un filmato, la capacità cognitiva replicata è la visione e il riconoscimento di ricorrenze note anche come pattern. Nel campo dell’IA sono molte le strade percorribili per arrivare ad un sistema di riconoscimento e di visione artificiale, ognuna con le proprie caratteristiche e prestazioni. Se pensiamo però all’intelligenza di Google, Facebook, etc. ciò che dobbiamo sicuramente tenere presente sono le Reti Neurali Artificiali. Oggi, le prestazioni migliori nel campo del riconoscimento, specialmente nel campo delle immagini, sono dovute a questi oggetti o algoritmi capaci di replicare alcune delle funzioni cerebrali al fine di ottenere un riconoscimento o una classificazione. Ma cosa sono le RNA? Diciamo subito che sono oggetti alquanto complicati che hanno bisogno di una grande potenza di calcolo per dare il meglio di loro stessi. Quindi le RNA cercano di emulare i nostri cervelli e anche se solo abbozzatamente i nostri comportamenti, la nostra capacità di apprendere e perché no la nostra creatività, ad esempio nel produrre arte. Qualcuno potrà domandarsi la qualità delle corbellerie che sono state appena dette. In realtà anche se le funzioni espletabili tramite le RNA sono di gran lunga inferiori alle capacità di un cervello umano, esse possono essere utilizzate per fare arte e in un certo qual modo hanno anche una speciale attività onirica, ma procediamo per gradi.

La loro comparsa, come famiglia di algoritmi, deve essere necessariamente posteriore o quantomeno coeva con l’avvento dei primi calcolatori assieme alle prime ricerche sul cervello che hanno individuato nei neuroni, speciali cellule interconnesse, che si comportano come delle unità di elaborazione biologiche. Di fatto i primi passi furono mossi dal neurofisiologo Warren Sturgis McCulloch (1898 - 1969) e dal matematico Walter Pitts (1923 -1969) i quali intorno al 1943 scrissero un lavoro pionieristico nel campo dei neuroni, nello specifico nella possibilità di modellare matematicamente queste unità di calcolo biologiche e replicarle su un calcolatore sotto forma di un algoritmo. Gli scienziati sostenevano che tali unità artificiali potevano essere connesse in rete secondo un opportuno schema o topologie e potevano replicare tutte le semplici funzioni logiche di un calcolatore come AND, OR, XOR. Il fatto interessante è che tali funzioni erano calcolate attraverso uno schema “connessionistico” o non “computazionistico”. Tali terminologie sono care alla filosofia e tendono a delineare un confine tra uno schema di calcolo simile a quello del cervello (ammesso che il cervello calcoli, ma questo problema filosofico ci porterebbe lontano ora) e lo schema computazionale che è alla base dei primi calcolatori come anche di quelli moderni. Qualche anno più tardi il concetto di neurone fu ripreso dallo psicologo canadese Olding Hebb (1904 – 1985) il quale in un suo celebre libro dal titolo: “The Organization of Behavior” [1] sostenne la rivoluzionaria idea che i collegamenti tra i neuroni, noti come sinapsi, si rafforzano ogni volta che vengono utilizzati. Questo fu il primo passo verso una moderna teoria neurofisiologica dell’apprendimento e della psicologia in generale, che si contrapponeva al behaviorismo che era in voga a quei tempi. L’apprendimento è un concetto fondamentale che nella sua accezione più semplice è sicuramente a noi familiare nella vita di tutti i giorni. Tale concetto entra in gioco anche quando la nostra app dello smartphone riconosce un volto e ci suggerisce un tag con il nome corretto. Dietro queste funzioni apparentemente semplici ci sono raffinatissimi algoritmi che hanno mosso i primi passi proprio da questi studi. Dal punto di vista storico il primo a perfezionare gli studi di McCulloch e Pitts nel campo della sintesi di una macchina artificiale (leggi anche algoritmo), capace di riconoscere semplici figure in un’immagine, fu il neurobiologo Frank Roseblatt (1928 - 1971), che nel 1958 presentò il Mark I Perceptron che era fatto girare su un computer modello IBM 704 [2]. Il perceptron era un algoritmo piuttosto semplice che modellava un’altrettanto semplice rete neurale con un ingresso ed una uscita. Essa elaborava l’informazione in ingresso e tramite opportuni valori che venivano appresi (noti come pesi) era capace di fornire in output una risposta che era corretta se il processo di apprendimento era andato a buon fine. Bisogna tener presente che sebbene le RNA siano algoritmi implementati secondo un opportuno linguaggio di programmazione e fatti girare su un computer fisico, esse sono studiate tramite un modello schematico che ne definisce la topologia delle interconnessioni tra i neuroni e sono descritte tramite un opportuno modello matematico che ne permette di teorizzare e studiare il funzionamento. La storia dell’IA ci mostra che ciò di cui disponiamo oggi è frutto di piccoli passi, da modelli molto semplici a modelli sempre più complessi sia nella topologia sia nel numero di neuroni artificiali. Non solo, ma tale approccio ha ricevuto fortissime critiche e battute di arresto, sia ai primordi, per motivi teorici, sia recentemente, per la scarsa disponibilità di potenza computazionale. Si accenna alle forti critiche del matematico e grande pioniere dell’IA Marvin Minsky (1927 - 2016) il quale, come un fulmine a ciel sereno, mostrò che il perceptron così come presentato da Rosemblatt non era capace di apprendere una semplice funzione logica come lo XOR. Tali critiche, come sovente accade quando si crea qualcosa di nuovo, spinse le ricerche verso modelli che potevano oltrepassare questo limite e furono così inventate reti che oltre ad uno strato di neuroni di input ed uno di output avevano un certo numero di strati intermedi (hidden units) che arricchivano la topologia e la complessità delle stesse. Dagli anni Cinquanta dello scorso secolo fino ad oggi la ricerca sulle RNA è andata sempre più raffinandosi, con qualche rallentamento, come si diceva, dovuto a limitazioni nella velocità di calcolo e a difficoltà nel trovare un algoritmo efficiente per far apprendere a questi oggetti compiti complessi come riconoscere oggetti o animali nelle immagini. Da quel periodo se ne occupano non solo neurofisiologi, ma soprattutto matematici e ingegneri e, attraverso questi ultimi, le RNA sono diventate i metodi di elezione per risolvere problemi di riconoscimento altamente complessi anche nel mondo dell’industria e nello specifico dell’industria digitale.

Quindi una RNA è un algoritmo che gira su un computer e che processa l’informazione data in ingresso e fornisce in output una risposta. Prima però di ottenere una risposta corretta esse devono apprendere. Ciò significa che prima del vero utilizzo pratico, ad esempio nel riconoscere un volto, esse devono essere allenate a farlo e tale allenamento è operato “mostrando” alle rete tanti esempi di volti e fornendogli un’etichetta (il nome della persona) a cui appartiene il volto stesso. Questo è un esempio di “apprendimento supervisionato” poiché l’algoritmo viene allenato tramite esempi pratici e corretti. In generale più sono gli esempi e più le prestazioni sono elevate, anche se è richiesta maggiore potenza di calcolo. Inoltre oggi si è compreso che il numero di neuroni degli strati interni è cruciale per le prestazioni. Nella seconda giovinezza delle RNA che parte dagli anni Novanta dello scorso secolo esse sono state battezzate deep network e la disciplina in genere è chiamata deep learning per sottolineare duplicemente sia le capacità profonde di apprendimento sia la profondità della rete data dall’elevato numero di hidden units.



Figura 1 Schema delle connessioni di una rete neurale artificiale deep con input e output multipli

(Fonte: https://codeahoy.com/2017/07/28/ai-is-not-magic-how-neural-networks-learn/).

Un normale PC desktop sarebbe impensabile per far girare le reti di Google e Facebook, sia per la loro complessità intrinseca sia per il numero di esempi che queste major posseggono, ad esempio, esempi di immagini.  Infatti, quando viene utilizzata la funzione di suggerimento tag volto di Facebook, la deep network è fisicamente sui server dell’ azienda di Menlo Park (California) ed è stata preventivamente addestrata su potentissimi server, processando tutte le nostre immagini che sono state prima taggate manualmente o da noi o da nostri conoscenti. Per inciso, qualsiasi nostra azione su internet è una specie di tag, si pensi alle emoji che assieme al classico “mi piace” permette di associare un’emozione ad un contenuto postato da terzi. Tali “reazioni” sono memorizzate in associazione al contenuto postato e tramite algoritmi di processamento automatico del testo (o delle immagini) vengono utilizzate per apprendere modelli emozionali. In altre parole le macchine diventano capaci di apprendere le nostre reazioni emotive di fronte ad un’immagine, una notizia o un prodotto. Il motivo per cui i Social Network ci spingono all’interazione è molteplice. Sicuramente di base la non interazione porterebbe alla morte dei social per come sono concepiti, ma la non interazione genererebbe anche una mancanza di “etichette” che arresterebbe le procedure di apprendimento automatico. Gli addetti ai lavori nel campo dell’IA e nello specifico dell’apprendimento tramite macchine o machine learning, sanno bene il “costo” di ottenere un data set (insieme di dati codificati opportunamente) che sia “etichettato”,  ovvero una serie di esempi su cui si può allenare una algoritmo di apprendimento supervisionato, come appunto le RNA. Per inciso, ci sono molte tipologie di algoritmi capaci di apprendere tramite esempi ed ognuno ha una filosofia di funzionamento differente ma anche molti punti in comune.

 

Figura 2 Rete neurale biologica con sinapsi che fungono da collegamento tra le varie cellule neurali (neuroni )

(Fonte: https://researchandexploration.wordpress.com/2017/03/21/your-brain-is-awesome/)

Ora sappiamo cosa è una rete neurale artificiale, come è nata, quali sono le potenzialità e come queste vengono oggi sfruttate per fare business da miliardi di dollari da grandi aziende per lo più con sede negli USA.  In sintesi, una deep network opportunamente addestrata tramite esempi a riconoscere cani farà del suo meglio quando le passiamo in input un’immagine contenente un cane, non importa se corre o sta fermo e nella maggior parte dei casi nemmeno la razza è importante. Si precisa che tutti gli algoritmi di apprendimento hanno un margine di errore, in realtà esso se basso è necessario proprio per fornire quella capacità di generalizzazione che tali sistemi hanno. Di fatto la rete neurale da una singola posa di un cane particolare induce una categoria generica che è formata da miliardi di esempi di cane di tutti i colori possibili. Quindi il punto fondamentale di una rete neurale è la capacità di apprendimento tramite esempi e la capacità di generalizzazione o di ragionamento per induzione, skill per altro, importante per il ragionamento negli esseri umani. Esistono, come accennato, una miriade di modelli di RNA, che si differenziano per molti aspetti della loro architettura e descrizione matematica. Una famiglia molto potente nel campo della visione artificiale sono le Convolutional Neural Networks (CNN) che adottano dei metodi sviluppati nell’elaborazione automatica delle immagini (particolari filtri che sono anche alla base di Photoshop) e sono capaci di estrarre gerarchicamente le features principali da un’immagine. In più le CNN sono state sviluppate sulla base del funzionamento della corteccia visiva degli animali, con la quale condividono il concetto di campo percettivo (receptive fields) in cui neuroni corticali individuali rispondono a stimoli in zone localizzate del campo visivo.

Tutte le RNA hanno tale capacità, in linea di principio, e cioè quella di elaborare l’informazione in input costruirne un modello sempre più generale a seconda dello strato considerato: gli strati iniziali si concentreranno sui piccoli dettagli, mentre gli strati profondi codificheranno l’informazione più generale. In altre parole se gli strati iniziali sono capaci di vedere i singoli alberi, gli strati finali sono in grado di vedere l’intera foresta. I primi utilizzi delle RNA in applicazioni pratiche risalgono al riconoscimento automatico del testo (optical character recognition), che muove i primi passi negli anni Settanta, con lo scienziato Ray Kurzweil (1948) che sviluppò il software OCR omni-font, in grado di riconoscere il testo stampato in qualsiasi font. Nel riconoscere un carattere, ad esempio una “A”, una deep network si concentrerà prima sui particolari, sul triangolo superiore e sulle stanghette inferiori e poi sulla forma generale. Allo stesso modo in un’immagine di una casa la rete scoverà dapprima i piccoli dettagli, come le porte, le finestre, i cespugli, etc. e poi l’intera struttura. Ogni strato avrà una propria rappresentazione; si dice che la rappresentazione dell’informazione nella rete è distribuita e gerarchica.



Figura 3 Ogni strato di una rete neurale artificiale (Deep Belief Network) apprende un set di fetures specifiche e strati gerarchicamente superiori apprendono features generali, al contrario di quelli inferirori che si concentrano su singoli particolari di un volto

(Fonte: https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/)

Adesso viene il bello!

Le reti neurali artificiali sono bravissime a riconoscere oggetti, anche se non perfette. Possiamo utilizzarle per apprendere uno stile artistico? Ebbene sì, le deep network vengono utilizzate anche a scopo ricreativo per comporre musica o dipingere. Nello specifico possono essere adoperate per apprendere uno stile pittorico e replicarlo in una qualsiasi fotografia. Alla base della potente applicazione per smartphone di origine russa disponibile sia su telefoni Android, sia su IPhone, sia su Windows 10, chiamata PRISMA, una deep network allenata su migliaia di stili pittorici, da Van Gogh (1853 - 1890) a Piet Mondrian (1872 – 1944), da Pablo Picasso (1881 - 1973) a Roy Lichtenstein (1923 - 1997), riesce a mescolare il contenuto e la forma stilistica di un dato pittore con il contenuto di una qualsiasi fotografia ottenendo effetti sorprendenti e gradevoli alla vista.



Figura 4 Ricostruzione dello stile e del contenuto pittorico del dipinto “Starry Night” di Vincent Van

Gogh [3].


 

Figure 5 Fotografia processata con l’App PRISMA (prima, dopo).

(Fonte: https://www.dpreview.com/news/1934831860/popular-prisma-photo-app-now-available-on-android)


 

Figura 6 Fotografia processata con l’App PRISMA.

(Fonte: http://www.telefoninostop.com/prisma-le-vostre-foto-si-trasformano-quadri/)


Di fatto, la rete neurale in questo caso è capace di apprendere il contenuto stilistico di un dipinto il quale può essere trasferito ad una qualunque fotografia senza particolari artefatti ottenendo un ibrido che conserva il contenuto percepibile dal nostro cervello come appartenente alla foto originaria, e lo stile al particolare artista a cui ci siamo ispirati nell’addestrare la rete. Soffermiamoci per un attimo a meditare su questo punto. Attraverso un algoritmo di IA, una deep network, è possibile trovare un modo per apprendere come separare lo stile di una fotografia dal contenuto, il primo come un invariante e il secondo libero di essere qualsiasi cosa. Questo potrebbe aiutarci a comprendere come l’organo visivo biologico funziona, soprattutto perché la classe delle CNN è inspirata al funzionamento della retina animale. Non solo tali strumenti posso aiutare oltre che a fare arte, anche a comprendere cosa sia uno stile artistico dal punto di vista squisitamente percettivo.

Le reti neurali artificiali possono sognare?

Questa domanda potrebbe sembrare pretestuosa e, di fatto, posta in questo modo lo è. In effetti le RNA sono strumenti meccanici in linea di principio, e siamo noi, talvolta, ad attribuirgli funzioni umane ed antropomorfizzarne le capacità. Tuttavia esse possono aiutarci a capire come funziona il meccanismo della percezione ed in generale l’elaborazione dell’informazione per la costruzione di concetti complessi. In realtà, cercando di capire come una RNA memorizza l’informazione, che sappiamo essere distribuita, è stata inventata una nuova forma d’arte che gli scienziati hanno battezzato “Inceptionism” e che è basata su una tecnica usata per mostrare ciò che la rete ha appreso nei vari strati. Le immagini che saltano fuori sono davvero sorprendenti, con contenuti onirici e allucinogeni


 

Figura 7 “Inceptionism”: i sogni di una rete neurale artificiale.

(Fonte: https://photos.google.com/share/AF1QipPX0SCl7OzWilt9LnuQliattX4OUCj_8EP65_cTVnBmS1jnYgsGQAieQUc1VQWdgQ?key=aVBxWjhwSzg2RjJWLWRuVFBBZEN1d205bUdEMnhB)

Per ottenere tali immagini una deep network è stata allenata a riconoscere migliaia e migliaia di oggetti (animali, case, campanili, persone, automobili, etc.). Poi ad uno strato specifico viene dato in pasto un’immagine composta da rumore bianco (tipo il brulichio dei vecchi televisori a tubo catodico fuori sintonia) e tramite una tecnica di ottimizzazione, l’immagine di rumore diventa ciò che la rete “stava immaginando” in quelli strato. A seconda dello strato, se iniziale o gerarchicamente lontano, e di altri parametri, i “sogni” della rete neurale artificiale possono essere controllati, mostrando più o meno dettagli onirici.


Figura 8 A seconda dello strato e di altri parametri i “sogni” della rete neurale artificiale possono essere controllati.

(Fonte: https://research.googleblog.com/2015/06/inceptionism-going-deeper-into-neural.html)


Figura 9 Un altro “sogno” di una rete neurale artificiale. La tecnica per estrarre tali rappresentazioni dalle immagini è soprannominata “Inceptionism”.

(Fonte: https://research.googleblog.com/2015/06/inceptionism-going-deeper-into-neural.html)


E’ davvero strabiliante come l’IA moderna sia capace di penetrare in moltissimi campi del sapere. Questa sezione ha mostrato come fare arte con le reti neurali artificiali e come studiare da un punto di vista del tutto nuovo uno stile pittorico. Come accennato in precedenza, le RNA sono utilizzate per comporre e studiare la musica, per riconoscere oggetti, il testo ed il parlato e la musica stessa (non dimentichiamo l’app Shazam). Esse sono strumenti molto versatili, come abbiamo visto. Uno dei problemi da affrontare è la forte richiesta di potenza di calcolo che fa sì che un utilizzo a pieno regime può essere effettuato solo da coloro che posseggono ingenti somme da investire in giganteschi data center, anche se alcuni passi si stanno muovendo nella direzione giusta. Ad  esempio, oggi attraverso il calcolo parallelo, e l’utilizzo delle schede grafiche (GPU) come potenti unità di calcolo parallelo, RNA di dimensioni modeste possono essere allenate su grandi data set con prestazioni soddisfacenti. Del resto sono cinquanta anni che si lavora su questi oggetti e solo da pochi anni si hanno capacità computazionali degne di nota. Date queste premesse, staremo a vedere cosa succederà nel prossimo decennio.


Per approfondire.

Un "social network" dove creare e condividere immagini generate con la rete neurale deep dream è qui.

Un articolo molto interessante con ulteriore bibliografia è qui.





[1] Hebb, D. O. (1949). The organization of behavior

[2] Bertuglia, C. S., & Vaio, F. (2011). Complessità e modelli. Un nuovo quadro interpretativo per la modellizzazione nelle scienze della natura e della società. Bollati Boringhieri, Torino.

[3] Gatys, L. A., Ecker, A. S., & Bethge, M. (2015). A neural algorithm of artistic style. arXiv preprint arXiv:1508.06576.

Aggiungi commento


Codice di sicurezza
Aggiorna

Hanno detto..

You are here: L'ingegnere Errante Reti Neurali Artificiali e Inceptionism, una nuova frontiera nell'arte