Deep Learning

Come fa un computer a riconoscere un viso in una fotografia? O a stabilire che la foto che ha davanti ha come soggetto un cane o un gatto? Di fronte a un PC che riconosce l’immagine di una moto da quella di un’automobile, non ci stupiamo più. Eppure, quello che oggi ci sembra scontato e normale, fino a qualche decennio fa era semplicemente impensabile. Il salto evolutivo è stato compiuto da una delle metodologie più interessanti e ricche di sviluppi dell’Intelligenza Artificiale: il deep learning.

Cos’è il deep learning?

Deep LearningLa traduzione strettamente letterale di questo termine, di chiara matrice anglosassone, è apprendimento approfondito. Ed è proprio questo il centro del suo significato, perché il deep learning, sottocategoria del Machine Learning, non fa altro che creare modelli di apprendimento su più livelli. Il concetto è molto semplice. Immaginiamo di esporre una nozione. La apprendiamo e subito dopo ne esponiamo un’altra. Il nostro cervello raccoglie l’input della prima e la elabora insieme alla seconda, trasformandola e astraendola sempre di più. Scientificamente, è corretto definire l’azione del deep learning come l’apprendimento di dati che non sono forniti dall’uomo, ma sono appresi grazie all’utilizzo di algoritmi di calcolo statistico. Questi algoritmi hanno uno scopo: comprendere il funzionamento del cervello umano e come riesca ad interpretare le immagini e linguaggio. L’apprendimento così realizzato ha la forma di una piramide: i concetti più alti sono appresi a partire dai livelli più bassi.

Il deep learning ha compiuto passi da gigante, ottenendo risultati che, fino a qualche decennio fa, erano pura utopia. Tale successo è dovuto alle numerose conquiste in campo informatico, relative soprattutto alla sfera dell’hardware. Abbiamo visto come sia importante portare il calcolatore a fare esperienza su un quantitativo sempre maggiore di dati sensibili e come, fino a poco tempo fa, il tempo per ottenere tale addestramento fosse abbastanza elevato. Oggi, grazie all’introduzione delle GPUs, ovvero nuove unità che concorrono all’elaborazione dati, questo processo è diventato molto più snello. Un altro importante aiuto è derivato dalla facilità di trovare numerose collezioni di dati (dataset) fondamentali per allenare il sistema. Il deep learning fa una cosa fondamentale: ci regala la rappresentazione dei dati, ma lo fa a livello gerarchico e soprattutto a livelli diversi tra loro, riuscendo a elaborarli e a trasformarli. Questa trasformazione è stupefacente perché ci consente di assistere ad una macchina che riesce a classificare i dati in entrata (input) e quelli in uscita (output), evidenziando quelli importanti ai fini della risoluzione del problema e scartando quelli che non servono. La rivoluzione apportata dal deep learning è tutta nella capacità, simile a quella umana, di elaborare i dati, le proprie conoscenze a livelli che non sono affatto lineari. Grazie a questa facoltà, la macchine apprende e perfeziona funzionalità sempre più complesse.

Un po’ di storia

Rosenblatt - Perceptron
Frank Rosenblatt

Nel 1958 lo psicologo Rosemblatt presentò al mondo accademico il famoso Perceptron, una rete neurale artificiale, alimentata da un computer che aveva le stesse dimensioni di una stanza. Un evento che suscitò l’entusiasmo dei media, tanto da portare un giornalista del New York Times a scrivere che presto l’umanità avrebbe assistito alla nascita di personal computer in grado di camminare, parlare e addirittura avere coscienza di sé. Perceptron, in effetti, aveva svolto con successo il compito che gli era stato affidato: distinguere, dopo 50 tentativi, le tessere contrassegnate a destra da quelle a sinistra. A causa dei limiti del single layer, Perceptron si fermò, incoraggiando però la ricerca a fare ulteriori passi in avanti. Fu lo scienziato Minsky a spegnere, con le sue teorie e i modi abbastanza rudi, l’entusiasmo iniziale. Il sogno di Rosemblatt riprese vigore nei primi anni Ottanta grazie a Hinton e LeCun, i quali pubblicarono uno studio attraverso il quale veniva proposto un percorso per insegnare alle reti neurali a correggere gli errori. La tecnologia di quegli anni però non era sufficientemente elaborata per permettere di vedere dei miglioramenti. Occorre arrivare ai giorni nostri per vedere sviluppi significativi e validi, grazie anche all’intervento di colossi del settore dell’informatica, che iniziano ad inserire il deep learning nei propri programmi commerciali.

ImageNet, Hinton e il successo del deep learning

Il 2012 è una data fondamentale nel cammino impervio del deep learning. In quell’anno vengono presentati gli straordinari risultati ottenuti in un esperimento condotto dal professor Hinton a Toronto, durante il contest ImageNet. L’esperimento era volto al riconoscimento visivo, effettuato tramite software prova (benchmark), in un settore fino ad allora arduo e mai esplorato: la capacità di distinguere 1000 categorie visive. Hinton, in un colpo solo, ottenne un miglioramento epocale: il 10% in una volta sola. Nel corso di questo esperimento, il pool di studiosi presentò questa nuova tecnologia che aveva consentito alla macchina di riconoscere uomini e animali tramite il confronto con milioni di altre immagini, senza il bisogno di un intervento codificato da parte dell’uomo. Un dato unico e importante che testimonia come il deep learning si sia evoluto nel corso degli anni.

Microsoft e il livello di astrazione

Imagenet torna e nel 2015 provoca un terremoto tra i sostenitori del deep learning. Il colosso informatico presenta i clamorosi risultati di una ricerca incredibile. Nei loro laboratori sono riusciti a creare un deep learning su 152 livelli di astrazione. Un risultato notevole se confrontato con i 30 livelli sui quali ci si basava prima di questa ricerca.

Il concetto di livello di astrazione è di facile comprensione. Se il deep learning utilizza un solo algoritmo per volta vuol dire che ha un solo livello di astrazione e così via. Microsoft è riuscita a ad effettuare 152 operazioni diverse sulla stessa immagine. Da questi concetti è facilmente deducibile una verità fondamentale. Più sono i livelli di astrazione, più la macchina ha una grande capacità di apprendimento. In parole povere? È più intelligente.

Il cuore del deep learning: le reti neurali artificiali

Reti neurali artificialiPer comprendere il raggio d’azione del deep learning occorre chiarire un concetto fondamentale ovvero quello relativo alle reti neurali. Immaginiamo un comando vocale. La stessa parola, ripetuta da persone diverse, può avere sfumature e inflessioni che cambiano in base all’individuo che la pronuncia. Come fa il PC a riconoscere il suono, a identificarlo? È ovvio che, da un punto di vista strettamente scientifico, un algoritmo sequenziale non può fornire il giusto supporto.

Occorre fare un passo indietro. Nell’annosa diatriba relativa alla supremazia tra intelligenza artificiale debole e forte, abbiamo visto come si sia insinuato un nuovo ed elaborato concetto. Una macchina non sarà mai veramente intelligente se non riuscirà a riprodurre un sistema di ragionamento che sia biologicamente ispirato al cervello dell’uomo. La macchina deve poter offrire un valido paradigma, ovvero offrire un modo di “pensare”, simile al funzionamento dei neuroni umani.

Umano o artificiale: l’importanza del neurone

Cos’è un neurone? Il neurone è il cuore del sistema nervoso umano. È una cellula che raccoglie, conduce gli impulsi nervosi e si divide in neuroni sensori, motori e intermedi, ovvero correlati ai primi due e ad altri neuroni che concorrono alla raccolta dati e alla loro trasmissione. Ce ne sono più di 100.000 nel nostro sistema nervoso e sono fondamentali per ricevere e trasmettere segnali.

Il neurone umano è il paradigma computazionale che nutre il deep learning e lo fa attraverso le famose Reti Neurali Artificiali. Comprendere il loro significato è molto semplice. Una rete neurale cerca di riprodurre il funzionamento del neurone umano, ovvero tutti quei processi che avvengono nel cervello durante la fase di apprendimento e quella successiva del riconoscimento.

Il punto di partenza è una domanda semplicissima: la logica è sempre necessaria per comprendere? Immaginiamo un bambino di pochi mesi. Se la mamma gli sorride, lui risponde con un altro sorriso proprio perché ha capito che la madre sta sorridendo. Nessuna glielo ha insegnato, ha semplicemente imparato, nel corso del tempo, a riconoscerlo e a riprodurlo. Qual è il fattore che interviene in questo processo? La pura e semplice esperienza che guida l’apprendimento e offre al cervello i dati necessari per comprendere. L’esperienza è una costante nello sviluppo dell’apprendimento infantile. Il bambino, tramite la pratica, impara a riconoscere un tono di voce imperativo da uno dolce, impara a compiere una determinata azione così via.

Reti neuraliNei software “neuronali” tale processo umano avviene in questa maniera. Il programmatore immette dei dati conosciuti nella macchina. Conosce bene il risultato che vuole ottenere e modifica i parametri di riferimento di quel neurone per ottenere quel preciso risultato. Cosa sta facendo il programmatore? Inserisce l’esperienza nella macchina in modo tale da consentirle di rispondere in modo corretto anche quando si troverà davanti dei dati totalmente nuovi.

Siamo arrivati al punto fondamentale che spiega il concetto dell’apprendimento approfondito offerto del deep learning. La rete neurale apprende grazie all’esperienza, legge i dati, costruendo architetture gerarchiche e fornendo livelli avanzati di input-output. Il clamoroso salto in avanti compiuto dalle ricerche è tutto qui: il PC non viene programmato quanto piuttosto addestrato (tramite l’apprendimento supervisionato, non supervisionato e per rinforzo).

Il Deep Learning e la visione artificiale

Il computer ci guarda, ci osserva, ci scruta. Un azzardo linguistico o un’utopia in puro stile Asimoviano? Nient’affatto. Nel campo della visione artificiale il deep learning ha fatto passi da gigante offrendoci scenari considerati puramente fantascientifici fino a qualche anno fa. Il PC comprende, in maniera del tutto automatica, un’immagine e riconosce tutti gli elementi che fanno parte di essa. Da un punto vista strettamente letterario, il computer guarda e osserva il mondo circostante esattamente come l’uomo.

E se il concetto della computer vision può sembrare ancora un’entità astratta, basta dare un’occhiata alla realtà nella quale viviamo per accorgerci che la visione artificiale fa parte del nostro quotidiano. Twitter ha la capacità di riconoscere le immagini pornografiche, eliminandole all’istante, senza la necessità di un supervisore umano. Google, nella sezione dedicata alle foto, cataloga le immagina, inserendole nelle categorie adatte. Oppure Facebook con la capacità di riconoscere i visi e taggarli, dimostra come la computer vision sia la nostra realtà, nella quale ci muoviamo più o meno consapevolmente.

Applicazioni del deep learning

Dopo aver compreso come agisce il deep learning e i successi ottenuti nel corso degli anni da parte degli studiosi, sorge spontaneo il quesito relativo ai vari campi di applicazione di questo sistema di approfondimento. Dove e in quale misura il deep learning può migliorarci la vita?

Deep Learning in medicinaUn campo dove tale metodologia può dare risultati importanti è senza dubbio quello della diagnostica medica. L’applicazione del concetto delle reti neurali in tale ambito è molto semplice perché i medici, molto spesso, si servono già degli algoritmi, soprattutto in ambito specialistico. Quando un dottore formula una diagnosi lo fa basandosi sulle sue conoscenze e sull’esperienza, ovvero quel bagaglio culturale accumulato negli anni. Il deep learning potrebbe intervenire con successo proprio in questo punto, ampliando e migliorando l’ambito delle conoscenze del medico. L’applicazione dell’apprendimento approfondito spazia con successo dai programmi finalizzati alla diagnostica medica fino al controllo di qualità nelle produzioni farmaceutiche.

Un campo affascinante relativo alla possibile applicazione del deep learning è quello relativo alla guida automatica. Siamo ancora molto lontani dalla commercializzazione di automobili completamente automatiche ma i prototipi elaborati fanno ben sperare. La guida automatica consente di riconoscere gli ostacoli in entrambi i lati della carreggiata, grazie all’ausilio di sensori e telecamere in grado di elaborare le immagini. La computer vision in questo caso riproduce la vista umana, riconoscendo l’ambito nel quale si sta muovendo e fornendo tutte le indicazioni utili per muoversi in sicurezza. La spinta in avanti per la realizzazione di automobili automatiche è stata data dalla possibilità, offerta dal deep learning, di elaborare ben 20 miliardi di operazioni al secondo.

Immaginiamo una grande azienda che produce un quantitativo considerevole di prodotti sui quali ha bisogno di effettuare un controllo di qualità. Nella piccola distribuzione il sistema è semplice: l’operatore umano, attraverso il tatto e la vista, controlla i vari prodotti. Nella grande distribuzione, dove il ritmo è alto e i quantitativi da controllare enormi, il deep learning può essere l’arma vincente. Le reti neurali permettono di passare al vaglio dell’Intelligenza artificiale qualità, difetti, standard sbagliati e così via in un lasso di tempo molto breve.

Facebook e il deep learning

Ogni giorno, sul famoso social network di Zuckerberg, vengono caricate oltre 350 milioni di foto. L’analisi di queste immagini è fondamentale per carpire gli interessi dell’utente e per proporgli, a scopo pubblicitario, prodotti o servizi che siano in stretta sintonia con i suoi interessi. Non a caso, la società che fa a capo al social network, ha aperto un laboratorio scientifico, a Parigi, interamente dedicato allo sviluppo del deep learning. La conoscenza approfondita è utile anche in campo semantico. Infatti, scopo di Zuckerberg e dei suoi soci è quello di arrivare a comprendere nell’immediato un linguaggio non consono e violento, con l’eliminazione immediata del post sospetto.

Google - Deep LearningNon soltanto Facebook incentiva la ricerca e lo sviluppo relativo al deep learning e all’Intelligenza artificiale. Colossi come Google, Yahoo o Microsoft sono impegnati nella conquista di frontiere sempre nuove e a fornire l’utente di possibilità sempre più tecnologiche. Un esempio su tutti: Inbox di Google. L’ultima app del colosso statunitense offre la possibilità di rilevare, tra le varie mail, la presenza di una richiesta o di una domanda e ci avvisa. Semplice vero?

Uno spiraglio sul quale si dovrà ancora lavorare a lungo è quello offerto da Siri, un’applicazione dell’Iphone. Siri offre la possibilità di conversare con un’assistente vocale, come se fosse realmente una persona. Bastano però pochi attimi per comprendere che in realtà, aldilà del telefono, siamo in contatto con una macchina. Una tecnologia agli albori, senza dubbio, ma non per questo meno interessante o ricca di sviluppi sorprendenti.

Il deep learning e il futuro

Prendiamo un mouse e una tastiera. Riflettendo sulle funzioni svolte, possiamo ragionevolmente affermare che sono due strumenti che permettono, seppur in modo rudimentale, l’interazione tra uomo e macchina. Il futuro del deep learning è tutto in questa possibilità: offrire all’uomo la capacità di essere capito dalla macchina, attraverso la comprensione del linguaggio orale e dei gesti. Lo studio e lo sviluppo degli algoritmi intelligenti è finalizzato alla creazione di macchine pensanti, con le quali poter interagire senza bisogno di mouse e tastiera e che serviranno a semplificare la vita in tutti i suoi aspetti quotidiani.

La ricerca si sta spingendo fino allo studio e alla realizzazione di modelli che possano consentire alla macchina di comprendere i processi cerebrali dell’uomo, fino alla frontiera più emozionante di tutte: la comprensione del pensiero umano e dello stato d’animo. Una conquista che comporterebbe nuovi scenari soprattutto in ambito medico. Pensiamo alla meravigliosa opportunità di comprendere e diagnosticare patologie di difficile diagnosi, come la depressione.

Deep Learning - FuturoSiamo sulle soglie di un’evoluzione storica. Startup, giganti del settore informatico, pool di scienziati al lavoro: il deep learning è il futuro e l’Intelligenza artificiale il contesto del quale non si potrà più fare a meno. Anche se ancora numerosi sono gli step necessari al raggiungimento dei vari obiettivi, si può ragionevolmente affermare che l’apprendimento approfondito non può far altro che migliorare la vita di ciascun individuo. Dal microcosmo individuale al macrocosmo delle industrie, l’automazione intelligente è un contributo essenziale, da gestire con attenzione, per rendere più semplice e intuitiva l’interazione umana con la realtà che lo circonda.