approfondimento

Deep Neural Network: guida essenziale per l’analisi avanzata dei dati



Indirizzo copiato

Questo tipo di reti offre un’elevata precisione e ciò le rende particolarmente utili in alcuni ambiti specifici, tra i quali l’elaborazione del linguaggio naturale e la computer vision. Tra le criticità, l’impossibilità di capire come giungono a fornire un determinato output. Nel complesso, sono algoritmi imprescindibili per le intelligenze artificiali

Pubblicato il 19 feb 2024



Deep Neural Network

La definizione generica di Deep Neural Network fa espliciti riferimenti al fatto che sono algoritmi e che fanno parte del Machine learning. Per quanto corretta, necessita di qualche approfondimento. Per evitare malintesi di fondo, è utile parlare delle differenze tra le Deep Neural Network e le Artificial Neural Network. Entrambe sono algoritmi di Machine learning e questo può indurre a fare confusione.

Le Artificial Neural Network (ANN) sono un sottoinsieme del Machine learning e sono il cuore degli algoritmi di Deep learning. Sono composte da diversi livelli: un livello di input, uno o più livelli nascosti e un livello di output. Le Deep Neural Network (DNN) rappresentano i livelli nascosti (profondi) e, come tali sono una forma di ANN che fa leva su più strati nascosti tra il livello di input e quello di output.

Deep Neural Network

Per sintetizzare, sono entrambe elementi dell’apprendimento profondo (Deep learning) ma, mentre si può dire che tutte le Deep Neural Network sono Artificial Neural Network, non è corretto dire che tutte le ANN sono DNN.

La differenza sostanziale è data dal fatto che i livelli di profondità aggiuntivi corrispondono a una maggiore capacità di astrazione.

Deep Neural Network: cosa sono, come operano e in che ambiti sono utilizzate

Le Deep Neural Network (DNN), come visto, sono un tipo di rete neurale artificiale che fa leva su almeno due strati nascosti tra il livello di input e il livello di output. Sono proprio questi strati supplementari a mettere in condizione le DNN di apprendere in modo più preciso e astratto, cosa che non è nelle corde delle ANN propriamente dette giacché lavorano con un solo strato nascosto.

Le DNN hanno maggiore capacità di combinazione di input di dati e ciò consente una migliore descrizione e una più precisa classificazione di ciò che i dati contengono.

Come detto, le DNN sono parte fondante del Deep learning, oggi sempre più centrale in una variegata manifestazione di applicazioni tra le quali la cybersecurity, il riconoscimento di oggetti, le previsioni finanziarie, il marketing e, non da ultimo, cruciale per lo sviluppo delle tecniche per il linguaggio naturale e per la computer vision.

Fondamenti del Deep learning

Per afferrare meglio i fondamenti del Deep learning è opportuno definirlo, per quanto una definizione di massima sia poco esaustiva. È una sottocategoria del Machine learning che consente alle macchine di apprendere senza essere state formalmente programmate per farlo. Fa leva sulle reti neurali artificiali per svolgere compiti complessi e specifici.

Le reti neurali, cuore pulsante del Deep learning, emulano il cervello umano e si basano su più livelli di nodi interconnessi ognuno dei quali migliora i risultati del livello precedente.

Il Deep learning apprende secondo diversi metodi, i più noti e diffusi dei quali sono:

  • apprendimento supervisionato
  • apprendimento non supervisionato
  • apprendimento per rinforzo

L’apprendimento supervisionato impiega dati etichettati per categorizzarli in modo preciso o per fare previsioni. L’etichettatura è tipicamente svolta da un operatore umano.

L’apprendimento non supervisionato non necessita di set di dati etichettati ma rileva modelli (pattern) nei dati e li raggruppa in base alle caratteristiche che li contraddistinguono.

L’apprendimento per rinforzo, infine, è un processo mediante il quale un modello apprende a essere più preciso nello svolgimento dei compiti grazie a un sistema di feedback.

Pietre miliari nello sviluppo delle Deep Neural Network

La storia dello sviluppo delle DNN ha scritto il primo capitolo oltre ottant’anni fa. Nel 1943 il neurofisiologo Warren Sturgis McCulloch e il matematico Walter Harry Pitts hanno proposto il primo modello di neurone artificiale, lavorando su un’idea che McCulloch cullava già da circa due decenni.

Per seguire uno dei passi più significativi occorre fare un salto al 1958, quando lo psicologo Frank Rosenblatt ha presentato il Perceptron, una rete neurale artificiale ispirata al funzionamento dei neuroni biologici.

Durante gli anni Ottanta del secolo scorso, pur rimanendo nell’ambito delle scienze cognitive, l’occhio di bue ha illuminato le reti neurali ponendole al centro di studi che le hanno istradate verso ciò che sono oggi.

A partire dai primissimi anni Duemila, indicativamente dal 2006, lo psicologo e matematico Geoffrey Hinton ha introdotto il modello chiamato Deep belief network, facendo definitivamente uscire le reti neurali dal dominio delle neuroscienze.

L’alba delle DNN: l’anno di svolta nell’intelligenza artificiale

Ci sono molti momenti storici che potremmo prendere in considerazione ma, tirando le somme, gli episodi cruciali che meglio descrivono una svolta sono tre. I primi due sono afferenti al matematico Yann LeCun e a DeepMind che hanno presentato i risultati di modelli di apprendimento.

Il terzo momento, ancora più recente, riconduce alla fine del 2022 quando ChatGPT ha dato copro alle capacità delle Intelligenze artificiali democratizzandole nel senso più ampio possibile.

Esplorando la complessità strutturale delle Deep Neural Network

Ci sono diversi aspetti che caratterizzano le Deep Neural Network. Tra questi, i più corposi possono essere ridotti a quattro:

  • Architettura
  • Apprendimento
  • Complessità computazionale
  • Interpretabilità

Per quanto riguarda l’architettura, come abbiamo già accennato e come vedremo in seguito in modo più approfondito, le DNN sono formate da più livelli di nodi interconnessi.

Non di meno, le DNN vengono impiegate in diversi tipi di apprendimento, ognuno dei quali – come già visto – richiede una tecnica diversa per la preparazione dei dati e questa, per propria natura, può influenzare la complessità dell’addestramento.

Questo conduce alla complessità computazionale. Le DNN necessitano una grande quantità di calcoli per l’addestramento e questo è già sinonimo di “complessità” nel senso più ampio del termine, sia questo inteso come grado di difficoltà sia come grado di astrazione e, non da ultimo, nell’ottica delle risorse necessarie per l’addestramento.

Ciò che restituisce la forma plastica del senso di complessità è l’interpretabilità. È difficile, se non del tutto proibitivo, capire perché una DNN ha fatto una certa previsione. Una sorta di effetto “scatola nera” che non consente di risalire ai “perché” pur manifestando i “cosa”.

L’importanza del numero di strati in una DNN

Gli strati giocano un ruolo primarie. Più strati ci sono e più la complessità strutturale delle DNN consente di elaborare e analizzare grandi moli di dati e di assolvere compiti di alto profilo come, per esempio, tutti quelli connessi all’elaborazione del linguaggio naturale.

Deep neural Network

Un paradigma semplice vuole che all’aumentare del numero di strati corrisponda maggiore abilità nell’identificare pattern tra dati e fornire risultati più precisi.

Layer nascosti: il motore invisibile delle DNN

Come scritto sopra, svolgono un ruolo fondamentale nell’elaborare e nell’analizzare i dati.

I layer nascosti delle DNN sono strati intermedi tra l’input e l’output di una rete neurale e sono deputati all’estrazione di funzioni e funzionalità sempre più astratte dai dati in ingresso, consentendo così di modellare relazioni tra i dati stessi con beneficio per le Intelligenze artificiali in genere.

Le DNN possono essere costituite da due o più livelli nascosti. Il loro numero può essere scelto a seconda dell’entità del problema da risolvere.

Caratteristiche dei livelli nascosti nelle DNN

I livelli nascosti delle DNN hanno caratteristiche proprietarie di natura ed entità diverse. Anche in questo caso, passando in rassegna i principali, vanno citati:

  • Profondità: le DNN possono avere un numero variabili di livelli nascosti a seconda della complessità dei compiti da assolvere
  • Elaborazione: paragonando una rete neurale al cervello umano, è all’interno di ogni livello nascosto che si sviluppano le capacità di pensiero di una DNN, rendendole sempre più elevate e capaci di astrazione, livello dopo livello
  • Funzione: un livello nascosto è, di fatto, un “insieme di neuroni” deputato all’elaborazione degli input che provengono dai livelli precedenti e consegnare i risultati di tale elaborazione al livello successivo
  • Indipendenza: i livelli nascosti sono indipendenti l’uno dall’altro e i nodi che li formano possono essere di numero diverso
  • Complessità: argomento ampio che implica un lavoro di calibrazione a seconda della complessità del problema da risolvere. In assenza di una corretta taratura del problema, viene meno la maggiore accuratezza dei risultati che ci aspetta da un numero crescente di livelli nascosti.

Articoli correlati

Articolo 1 di 2