Guida

Deep Neural Network, efficienti ma incomprensibili: come funzionano?

Reti neurali con uno strato nascosto composto da decine di livelli, le Deep Neural Network sono alla base del Deep Learning, quel ramo di apprendimento automatico che oggi è protagonista di una serie di applicazioni concrete e difficili da immaginare fino a qualche anno fa, applicazioni che spaziano dalla guida autonoma alla sicurezza, dal riconoscimento immagini alla produzione di suoni e testi. Secondo Gartner questa tecnologia fra massimo 5 anni raggiungerà la piena maturazione diventando un asset per tutte quelle aziende che ne sapranno riconoscere l’applicabilità e la rilevanza sul mercato

Pubblicato il 24 Ago 2021

deep neural network

È alle Deep Neural Network che dobbiamo il rapido progresso dei sistemi di analisi automatica di dati quali immagini, video, audio e serie temporali, alla base del deep learning, queste reti permettono oggi di sfidare le prestazioni degli esseri umani raggiungendo risultati inimmaginabili fino a qualche decina di anni fa.

Secondo Gartner entro massimo 5 anni le reti neurali profonde raggiungeranno il “plateau of productivity” dell’Hype Cycle dedicato alle tecnologie di intelligenza artificiale, quello stadio di piena maturazione accompagnata da un’ampia e convinta adozione sul mercato. Per ora le Deep Neural Network però compaiono nella parte di curva decrescente del “peak of inflated expectations” pronte a precipitare per qualche tempo nel “trough of disillusionment”. Per non restare un intero quinquennio in balia degli alti e bassi dell’Hype Cycle e dei sempre più numerosi rumors che si creano attorno a tutto ciò che riguarda l’intelligenza artificiale, tra entusiasti/visionari e cinici/timorosi, è bene conoscere cosa sono realmente le Deep Neural Network e come funzionano, prendendo atto di quanto già pervadono il mondo in cui siamo immersi.

Deep Neural Network: Machine Learning allo stato avanzato

Gli algoritmi che si basano sulle Deep Neural Network – quelli di Deep Learning – rappresentano una delle tante tecniche di Machine Learning che si distinguono per la loro capacità di simulare il cervello umano. Spesso i due termini vengono usati in modo interscambiabile sorvolando su delle sostanziali differenze.

Machine Learning e Deep Learning

Potendo per un attimo semplificare si può immaginare il deep learning come il ramo più avanzato del machine learning che a sua volta va inteso come un sottoinsieme di tutto ciò che definiamo intelligenza artificiale. Per cogliere appieno le opportunità delle Deep Neural Network è essenziale avere ben chiare le profonde differenze e in confini che dividono questi ambiti.

Detto anche apprendimento automatico, il machine learning è quella branca dell’intelligenza artificiale focalizzata sulla capacità delle macchine di imparare dai dati a disposizione, senza essere programmate esplicitamente, ottimizzando nel tempo gli algoritmi proprio sulla base delle informazioni man mano ricevute.

Per automatizzare la costruzione del modello analitico questa tecnologia può far uso di ricerche operative e di altri modelli statistici per identificare insights nascosti oppure basarsi su reti neurali che prendono spunto dalla struttura del cervello simulando l’interconnessione tra i suoi vari neuroni. Quando entrano in gioco le Deep Neural Network si ha a che fare proprio con delle reti neurali, con quelle caratterizzate da un gran numero di livelli, composte da tante unità di elaborazione in grado di gestire enormi moli di dati e apprendere modelli complessi sfruttando i progressi computazionali e alcune tecniche di allenamento avanzate.

Perché si punta sul Deep Learning

Il motivo per cui si finisce per confondere i due termini – machine learning e deep learning -può essere legato al fatto che, nella maggior parte dei casi, quando si parla di apprendimento automatico oggi si ha poi a che fare con le Deep Neural Network e quindi con l’apprendimento profondo. La comunità scientifica ci sta puntando molto e lo sta facendo prima di tutto perché, al contrario di ciò che accade con il tradizionale ML, con il deep learning l’algoritmo apprende in modo autonomo. Non richiedendo alcun addestramento mediante dati e risposte d’esempio, da solo è in grado di identificare correlazioni tra dati e costruire un modello esperienziale, perfezionandolo col tempo. Questa autonomia di processo si traduce in innumerevoli vantaggi pratici:

  • Dati non etichettati: gli algoritmi basati su Deep Neural Network non hanno bisogno che il data scientist applichi etichette sui dati per apprendere e questo lo libera da un’attività gravosa e time consuming.
  • Feature engineering autonomo: i modelli di deep learning sono in grado da soli di analizzare le caratteristiche che correlano i dati, il data scientist non deve intervenire e nemmeno avere conoscenze specifiche sull’argomento.
  • Qualità dei risultati: come cervelli umani ma mai stanche o distratte, le reti neurali profonde eseguono i propri compiti in un periodo di tempo molto più breve, non perdono l’attenzione anche di fronte ad attività ripetitive e non peggiorano le prestazioni nel tempo.
  • Dati non strutturati: immagini, testi, e-mail, video costituiscono ormai la maggior parte dei dati a disposizione delle aziende e, pur non essendo facili da trattare, gli algoritmi di deep learning sanno estrarne informazioni rilevanti

Deep Neural Network: reti neurali a più livelli

Le reti neurali profonde sono reti caratterizzate da una certa complessità perché costituite da almeno 2 livelli nascosti – ma che in realtà sono poi 10 o anche 20 – che abilitano l’utilizzo di una sofisticata modellazione matematica nella fase di elaborazione dati. Il deep learning quindi non fa che moltiplicare e quindi capitalizzare la potenza degli strati delle reti neurali artificiali che a loro volta si ispirano alle reti neurali biologiche cercando di superarne le performance.

Reti Neurali: come funzionano

La trasposizione in campo matematico del sistema di neuroni umano consiste in modelli statistico-informatici costituiti da interconnessioni di informazioni derivanti da neuroni artificiali e processi di calcolo basati sul “connessionismo”, ovvero sul modello delle scienze cognitive che vede il cervello in grado di elaborare le informazioni dei vari sensi in modo parallelo, senza immagazzinarle in una memoria centrale ma distribuendole in tutti i vari nodi della rete.

In base ai dati esterni e alle informazioni interne che si connettono durante la fase di apprendimento, i nodi e le interconnessioni non lineari che costituiscono la struttura di una rete neurale si modificano in risposta ai nuovi stimoli ricevuti.

Possiamo immaginarli schematizzati in tre strati, ciascuno costituito da migliaia di neuroni e decine di migliaia di connessioni

  • I- Input: nello strato degli ingressi arrivano i segnali e vengono elaborati in modo che si adattino alle richieste dei neuroni della rete
  • H – Hidden: nello strato nascosto avviene il processo di elaborazione dei dati ricevuti, può essere costituito da più livelli e in tal caso si parla di Deep Neural Network: il concetto di profondo si riferisce esattamente a questo strato e al suo “spessore”.
  • O – Output: nello strato di uscita i risultati dell’elaborazione avvenuta nello strato H vengono raccolti e adattati alle richieste del successivo blocco di rete neurale.

I 3 driver delle Deep Neural Network

Dal punto di vista tecnologico le reti neurali profonde hanno le loro radici nelle reti neurali artificiali di cui si parlava già negli anni 80 per lo meno dal punto di vista teorico. L’approccio “deep” è emerso nel 2006 con i primi discorsi su reti a più livelli da parte di Geoffrey Hinton, uno tra i ricercatori più influenti nello sviluppo dell’apprendimento profondo, e ha registrato una nuova ondata di popolarità nel 2009 con la prima reale applicazione di successo: il riconoscimento vocale.

Queste due tappe sono state fondamentali per l’avanzare delle Deep Neural Network all’interno dell’Hype Cycle di Gartner verso il ”peak of inflated expectations” ma anche altri 3 fattori hanno contribuito al loro sviluppo.

  • Aumento dei dati. Grazie ai big data ora il software di deep learning può migliorare notevolmente il suo livello di apprendimento permettendo di ottenere prestazioni di gran lunga più soddisfacenti rispetto a quelle di algoritmi più datati.
  • Aumento delle performance dei computer che, grazie allo sviluppo di sistemi di calcolo parallelo altamente performanti basati su GPU (Graphics Processing Unit), hanno consentito di ottenere risultati migliori e allo stesso tempo hanno ridotto notevolmente i tempi di calcolo.
  • Miglioramento dell’addestramento: grazie all’applicazione di metodi sempre più efficaci le reti neurali hanno aumentato la qualità delle loro performance permettendo ai ricercatori di ottenere risultati significativi.

Deep Neural Network: principali tipologie

Alla base della maggior parte dei modelli pre-addestrati nel deep learning ci sono tre importanti tipi di reti neurali che rendono possibili applicazioni come veicoli aerei senza equipaggio e auto a guida autonoma, oltre al riconoscimento vocale: le Reti Neurali Artificiali (ANN), le Reti Neurali Convoluzionali (CNN) e le Reti Neurali Ricorrenti (RNN).

Reti Neurali Artificiali (ANN)

Le ANN sono la variante più semplice, formata da un gruppo di percettori multipli o neuroni in ogni strato che trasmettono informazioni in una sola direzione, attraverso vari nodi di ingresso, fino a quando non arrivano al nodo di uscita. Vengono applicate spesso per dati tabulari, dati di immagine o di testo, tra i vantaggi hanno la memoria distribuita e la capacità di memorizzare informazioni su tutta la rete oltre che di lavorare con una conoscenza incompleta, ma non sempre hanno un comportamento facilmente spiegabile, soprattutto se costituite da più livelli nascosti, come nel caso delle Deep Neural Network

Reti Neurali Convoluzionali (CNN)

Le CNN rappresentano uno dei modelli oggi più diffusi che contiene uno o più strati convoluzionali, interamente connessi o uniti, in grado di creare mappe di caratteristiche e di registrare una regione dell’immagine poi suddivisa in rettangoli e inviata all’elaborazione non lineare. Le applicazioni più efficaci emergono nei sistemi di raccomandazione e nell’elaborazione del linguaggio naturale ma soprattutto nel riconoscimento delle immagini. In questo contesto le CNN assicurano un alto livello di precisione e la capacità di identificare autonomamente le caratteristiche significative senza alcuna supervisione umana ma richiedono una grande quantità di dati per l’addestramento, non codificano la posizione e l’orientamento dell’oggetto e non sono spazialmente invarianti ai dati di input.

Reti Neurali Ricorrenti (RNN)

Le RNN sono senza dubbio (per ora) la tipologia di reti neurali più complessa, nata nel tentativo di renderle più complete aggiungendo una componente di memoria. Non passano le informazioni in una sola direzione ma prevedono un salvataggio dell’uscita dei nodi di elaborazione e alimentano di nuovo il risultato nel modello imparando a prevedere l’esito di uno strato, anche dai propri errori, continuando poi a lavorare nella giusta direzione. Le reti neurali ricorrenti possono risolvere problemi relativi a dati di serie temporali o di testo, oppure a dati audio, hanno la capacità di ricordare ogni singola informazione nel tempo ma sono molto difficili da addestrare.

Deep Neural Network: applicazioni

Ciascuna di queste tipologie di reti neurali, con i suoi vantaggi, i suoi svantaggi e le peculiarità di applicazione, ha contribuito e sta ancora contribuendo al successo del deep learning oggi protagonista in molti campi, dalla classificazione di immagini (Computer Vision) al riconoscimento ed elaborazione del linguaggio (Natural Language Processing), dalla guida autonoma (es. riconoscimento di segnali stradali, rilevamento di pedoni) al settore Media e intrattenimento (es. traduzione in tempo reale, video captioning) fino a quello della Sicurezza (es. videosorveglianza, riconoscimento facciale). Dietro quindi alla generale crescita di popolarità dell’intelligenza artificiale ci sono sicuramente le Deep Neural Network, sempre più spesso alla base di diverse soluzioni commerciali di successo, alcune nate da zero altre semplicemente migliorate grazie ai tanti “livelli nascosti” di nodi e interconnessioni.

  • Macchine Automatiche di traduzione: già da tempo a disposizione, grazie al deep learning ora possono migliorare ulteriormente l’apprendimento delle relazioni tra più parole e operare in un numero sempre crescente di lingue.
  • Classificazione di oggetti: gli algoritmi di deep learning possono riconoscere gli oggetti di una fotografia classificandoli come parte di un insieme di oggetti precedentemente noti
  • Generazione automatica di didascalie: partendo dai modelli di riconoscimento e classificazione di oggetti all’interno di fotografie, grazie alle Deep Neural Network, si riescono a generare etichette e, da esse, delle vere e proprie didascalie. Un meccanismo applicabile anche ai video.
  • Colorazione automatica di immagini in bianco e nero: sfruttando la struttura delle Deep Neural Network un software di AI può studiare una grande quantità di immagini e capire il colore corretto da inserire. Una funziona utile sia per film in bianco e nero che per filmati di sorveglianza.
  • Aggiunta di suoni ai video muti: sempre grazie a modelli di deep learning è possibile arrivare a selezionare all’interno di un database di tracce audio pre-registrate, quella che meglio si associa a una particolare scena video.
  • Generazione automatica della scrittura a mano: imparando da una grande quantità di esempi una Deep Neural Network diventa poi facilmente in grado di generare una nuova grafia per una determinata parola o frase e di apprendere la sofisticata relazione tra movimento della penna e lettere. Così si possono creare anche nuove grafie ad hoc.
  • Riduzione dei costi di produzione: grazie al deep learning è possibile insegnare ad un sistema come identificare difetti di prodotto o di etichettatura nel settore industriale, mettendo anche in atto delle contromisure per velocizzare processi di manutenzione o d’ispezione.

Deep Neural Network e il problema della scatola nera

L’utilizzo delle Deep Neural Network permette di aumentare notevolmente l’accuratezza dei modelli di apprendimento ma ad un prezzo oggi come oggi sempre più caro, quello dell‘inspiegabilità. Con questi semplici strumenti, infatti, la possibilità di comprendere come vengono prese le decisioni da parte di un algoritmo calano notevolmente e ci si trova ad avere a che fare con modelli in grado di elaborare grandi volumi di dati, riconoscendo schemi nascosti e fornendo nuovi suggerimenti attraverso l’utilizzo di enormi basi di dati ma senza mai fornire spiegazioni in merito alle conclusioni a cui giungono che applicano.

Resta tutto memorizzato in automatico in uno strato nascosto che rappresenta a tutti gli effetti una scatola nera, le decisioni prese, incomprensibili e non trasparenti, provocano una reazione di forte diffidenza verso tutte le tecniche di AI in generale. E’ da questo problema che nasce l’esigenza di algoritmi di AI e modelli di apprendimento automatico che possano essere compresi dagli utilizzatori, è da questo problema che nasce una delle più attuali sfide in questo campo, quella dell’Explainable AI.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2