Ogni settimana si susseguono notizie di nuove applicazioni e risultati sconvolgenti ottenuti grazie agli algoritmi di intelligenza artificiale applicati negli ambiti più diversi. Quella a cui si sta assistendo è una delle più grandi accelerazioni nell’intera storia di questo settore e l’indiziato principale alla basa di questi importanti sviluppi è il deep learning.

 

Per deep learning si intende un vasto insieme di algoritmi che, basandosi sul concetto delle reti neurali, si espandono fino a contenere un numero enorme di nodi che sono disseminati su più livelli di profondità — da qui il nome deep learning.

Se il concetto delle reti neurali, le cosiddette Artificial Neural Network (ANN), risale alla fine degli anni ‘40, inizialmente il loro impiego è stato reso difficile a causa della necessità di ingenti risorse di potenza computazionale e della mancanza di dati su cui addestrare gli algoritmi.

La struttura caratteristica delle più semplici ANN può essere rappresentata come tre diversi strati di nodi: per primo c’è quello in cui vengono forniti i dati di input, in mezzo si trova il livello in cui vengono compiute delle operazioni di analisi dei dati, e per finire c’è lo strato di output nel quale vengono rappresentate le soluzioni e le classificazioni richieste.

Ogni strato contiene diversi nodi, che possiamo immaginare come i neuroni del nostro cervello, ed essi sono collegati fra loro per mezzo di sinapsi matematiche che possono essere considerate come dei coefficienti che segnalano la maggiore o minore importanza di un collegamento fra due neuroni. Il numero di neuroni in ogni livello può variare in base alle esigenze dell’algoritmo.

Considerando questa struttura, in passato persino i più semplici algoritmi di ANN erano onerosi da un punto di vista computazionale, anche se applicati semplicemente alla classificazione di immagini a bassa risoluzione. Immaginare quindi di poter incrementare il numero di strati intermedi — chiamati hidden layers — era un’idea impraticabile dal punto di vista tecnico.

L’introduzione della possibilità di utilizzare i processori grafici (GPU) in parallelo alla CPU per effettuare operazioni di calcolo intensive ha completamente aperto la via all’impiego del deep learning. Avendo a disposizione una maggiore potenza computazionale è stato possibile aumentare il numero di livelli intermedi permettendo così di testare gli algoritmi di deep learning e poter finalmente osservare le loro potenzialità.

 

 

Un altro importante cambiamento che ha diffuso e facilitato l’utilizzo del deep learning è la disponibilità, a basso costo, di ingenti quantità di dati. Se negli anni passati la raccolta e catalogazione di dati costituiva un processo lento, macchinoso, e certamente costoso da un punto di vista economico, l’attuale digitalizzazione delle nostre vite ha capovolto il quadro. La disponibilità di strumenti per produrre, raccogliere, e salvare dati digitali rappresenta un evento unico nella storia umana. La nostra attività online lascia traccia di bits che vengono salvati ed archiviati digitalmente, e che all’occorrenza possono essere utilizzati per addestrare gli algoritmi di deep learning.

 

Avere a disposizione un vasto e soprattutto variegato database per allenare l’algoritmo è un fattore cruciale per poter ottenere algoritmi robusti ed accurati.

Un esempio degli effetti che l’immensa disponibilità di dati, ottenibili online, ha avuto sugli algoritmi di deep learning è sicuramente il risultato ottenuto nel 2012 dal team di ricercatori del Google X Lab — noto ora con il nome di X dopo la ristrutturazione di Google in Alphabet.

I ricercatori avevano allenato il loro algoritmo raccogliendo dei frame, di dimensioni 200x200 pixels, da 10 milioni di video presenti su YouTube. Con questi dati l’algoritmo era riuscito ad individuare autonomamente dei tratti distintivi per poter rilevare la presenza di un gatto o di parti del corpo umano in un video.

Se la disponibilità di maggiore potenza computazionale fornita dall’utilizzo delle GPU e l’accesso ad un vasto database online hanno chiaramente facilitato l’impiego degli algoritmi di deep learning, il loro meccanismo di funzionamento rimane comunque uno degli elementi fondamentali alla base di questo potentissimo strumento per i ricercatori nel settore dell’intelligenza artificiale.

Quando noi forniamo un’immagine da classificare ad un algoritmo di deep learning, essa verrà suddivisa in tante parti che saranno passate ai neuroni del primo strato che a loro volta li passeranno al livello successivo e così via, fino ad ottenere il risultato finale. Durante questi passaggi, il tipo e la conformazione dei collegamenti fra i diversi neuroni, che sono caratterizzati da diversi coefficienti ottenuti nella fase di addestramento dell’algoritmo, permettono di analizzare ed individuare tratti e pattern significativi da passare al livello successivo. A questo punto, il risultato finale che si ottiene è un vettore di probabilità nel quale l’algoritmo ha assegnato, nel caso degli algoritmi di classificazione, un valore ad ognuna delle diverse categorie disponibili.

Prendiamo ad esempio un algoritmo che classifica gli appartenenti alla famiglia dei felidi: dopo esser stato allenato acquisendo enormi quantità di immagini che raffigurano felidi, l’algoritmo potrà indicare che, in una foto di un gatto, vi è con una probabilità del 2% un puma, con lo 0,01% un leone, e con il 97,99% effettivamente un gatto.

La modifica della struttura dei collegamenti fra i vari nodi produce diversi tipi di algoritmi che possono essere utilizzati in situazioni specifiche. Fra queste, alcune delle più note sono le Convolutional Neural Network e le Recurrent Neural Network, che sono impiegate rispettivamente nell’ambito del riconoscimento facciale e vocale. Assistenti vocali come Siri, Google Voice, ed Alexa, sono quindi in grado di riconoscere e comprendere la nostra voce grazie a questo tipo di algoritmi.

Viste le potenzialità e beneficiando già di alcuni eccellenti risultati ottenuti dagli algoritmi di deep learning, si può correre il rischio di credere che essi siano i soli disponibili nel mondo dell’intelligenza artificiale (IA).

Nel complesso ed esteso quadro delle IA bisogna fare attenzione a non confondere il deep learning (DL) con il machine learning (ML). Le relazioni che collegano questi tre termini vengono spesso confuse ed è quindi necessario fare ordine: l’intelligenza artificiale include al suo interno diversi ambiti e fra questi vi è quello del ML, ossia di tutte quelle tecniche che permettono ai robot di analizzare ed apprendere informazioni, a partire dai dati forniti loro, in modo automatico.

Fra tutte queste tecniche di machine learning troviamo anche il DL che quindi, al momento, avendo tutte le luci dei riflettori puntate su di sé — attenzioni chiaramente meritate grazie ai suoi successi — si trova ad essere il figlio prediletto di tutto l’ecosistema dell’intelligenza artificiale.