- Una rete neurale profonda (DNN) è un sistema di apprendimento automatico costituito da strati di nodi connessi che apprendono modelli nei dati per fare previsioni.
- Le DNN possono adattare le loro connessioni interne in base agli errori del passato, migliorando la loro accuratezza nel tempo attraverso la retropropagazione.
- I progressi nella potenza di calcolo e l'accesso a enormi insiemi di dati hanno reso le DNN pratiche per compiti che coinvolgono dati non strutturati come testo, immagini e audio.
- Le DNN funzionano come "scatole nere" e spesso non è chiaro come arrivino alle decisioni.
Che cos'è una rete neurale profonda?
Una rete neurale profonda (DNN) è un tipo di modello di apprendimento automatico che imita il modo in cui il cervello umano elabora le informazioni. A differenza degli algoritmi tradizionali che seguono regole predefinite, le DNN sono in grado di apprendere modelli dai dati e di fare previsioni basate su esperienze precedenti, proprio come noi.
Le DNN sono alla base del deep learning e alimentano applicazioni come gli agenti di intelligenza artificiale, il riconoscimento delle immagini, gli assistenti vocali e i chatbot di intelligenza artificiale.
Il mercato globale dell'IA - comprese le applicazioni alimentate da reti neurali profonde - supererà i 500 miliardi di dollari entro il 2027.
Che cos'è l'architettura delle reti neurali?
Il termine "profondo" in DNN si riferisce alla presenza di più strati nascosti, che consentono alla rete di riconoscere modelli complessi.
Una rete neurale è composta da più strati di nodi che ricevono input da altri strati e producono un output fino a raggiungere un risultato finale.
Una rete neurale è costituita da strati di nodi (neuroni). Ogni nodo riceve un input, lo elabora e lo passa allo strato successivo.
- Livello di input: Il primo livello che raccoglie i dati grezzi (ad esempio, immagini, testo).
- Strati nascosti: Strati tra l'input e l'output che trasformano i dati e rilevano i modelli.
- Strato di uscita: Produce la previsione finale.
Le reti neurali possono avere un numero qualsiasi di strati nascosti: più strati di nodi ci sono nella rete, maggiore è la complessità. Le reti neurali tradizionali sono solitamente composte da 2 o 3 strati nascosti, mentre le reti di apprendimento profondo possono avere fino a 150 strati nascosti.
In cosa si differenziano le reti neurali dalle reti neurali profonde?

In breve: una rete neurale che va oltre i dati di ingresso e può imparare dalle esperienze precedenti diventa una rete neurale profonda.
Una rete neurale segue regole programmate per prendere decisioni basate sui dati in ingresso. Per esempio, in una partita a scacchi, una rete neurale può suggerire mosse basate su tattiche e strategie preimpostate, ma è limitata a ciò che il programmatore ha fornito.
Ma una rete neurale profonda va oltre, imparando dall'esperienza. Invece di affidarsi esclusivamente a regole preimpostate, una DNN può adattare le sue decisioni in base agli schemi che riconosce in grandi insiemi di dati.
Esempio
Immaginate di scrivere un programma per riconoscere i cani nelle foto. Una rete neurale tradizionale richiederebbe regole esplicite per identificare caratteristiche come il pelo o la coda. Una DNN, invece, imparerebbe da migliaia di immagini etichettate e migliorerebbe la sua accuratezza nel tempo, gestendo anche i casi più difficili senza bisogno di ulteriore programmazione.
Come funziona una rete neurale profonda?
In primo luogo, ogni neurone dello strato di ingresso riceve un dato grezzo, come i pixel di un'immagine o le parole di una frase, e assegna un peso a questo input, indicando quanto è rilevante per il compito.
Un peso basso (inferiore a 0,5) significa che è meno probabile che l'informazione sia rilevante. Questi input ponderati passano attraverso gli strati nascosti, dove i neuroni adattano ulteriormente le informazioni. L'operazione continua su più livelli, finché lo strato di uscita non fornisce una previsione finale.
Come fa una rete neurale profonda a sapere se ha ragione?
Una rete neurale profonda sa se ha ragione confrontando le sue previsioni con i dati etichettati durante l'addestramento. Per ogni input, la rete controlla se la sua previsione corrisponde al risultato effettivo. Se è sbagliata, la rete calcola l'errore utilizzando una funzione di perdita, che misura quanto era lontana la previsione.
La rete utilizza quindi la retropropagazione per regolare i pesi dei neuroni che hanno contribuito all'errore. Questo processo si ripete a ogni iterazione.
Quali sono i diversi tipi di reti neurali?
Come migliora una rete neurale profonda nel tempo?
Una rete neurale profonda migliora nel tempo imparando dai propri errori. Quando fa una previsione, come l'identificazione di un problema del cliente o la raccomandazione di un prodotto, controlla se aveva ragione. In caso contrario, il sistema si adatta per migliorare la prossima volta.
Ad esempio, nell'assistenza clienti, un DNN potrebbe prevedere come risolvere un ticket. Se la previsione era sbagliata, impara da quell'errore e migliora la risoluzione di ticket simili in futuro. Nelle vendite, una DNN potrebbe imparare quali sono i lead che si convertono meglio analizzando gli affari passati, migliorando le sue raccomandazioni nel tempo.
Quindi, a ogni interazione, il DNN diventa più preciso e affidabile.
Le reti neurali profonde pensano in modo diverso dagli esseri umani?
Ma i modelli di apprendimento profondo spesso funzionano come una "scatola nera", il che significa che gli esseri umani non possono interpretare facilmente il modo in cui raggiungono le loro decisioni. Come spiega la ricercatrice di IA Cynthia Rudin della Duke University, l'interpretabilità è cruciale per l'impiego etico dei sistemi di IA, soprattutto in ambienti ad alto rischio.
I ricercatori hanno cercato di visualizzare il modo in cui le reti elaborano le immagini, ma per i compiti più complessi, come le previsioni linguistiche o finanziarie, la logica rimane nascosta. Anche se questi algoritmi sembrano nuovi, molti sono stati sviluppati decenni fa. I progressi nei dati e nella potenza di calcolo sono ciò che li rende pratici oggi.
Perché le reti neurali profonde sono sempre più popolari?
1. Miglioramento della potenza di elaborazione
Una delle ragioni principali dell'aumento delle DNN è che la potenza di elaborazione è più veloce e meno costosa. La potenza di calcolo ha fatto la differenza nel raggiungimento di una rapida convergenza. "L'avvento di hardware specializzato come le unità di elaborazione grafica (GPU) e le unità di elaborazione dei tensori (TPU) ha reso possibile l'addestramento di reti con miliardi di parametri".
2. Aumento della disponibilità di set di dati
Un altro fattore chiave è la disponibilità di grandi set di dati, che le reti neurali profonde richiedono per apprendere in modo efficace. Man mano che le aziende generano più dati, le DNN possono scoprire modelli complessi che i modelli tradizionali non sono in grado di gestire.
3. Miglioramenti nell'elaborazione di dati non strutturati
La loro capacità di elaborare dati non strutturati come testo, immagini e audio ha aperto nuove applicazioni in settori come i chatbot, i sistemi di raccomandazione e l'analisi predittiva.
Le reti neurali possono lavorare con dati non strutturati?
Sì, le reti neurali possono lavorare con dati non strutturati e questo è uno dei loro maggiori punti di forza.
Le reti neurali artificiali che lavorano con dati non strutturati sono chiamate apprendimento non supervisionato. È il Santo Graal dell'apprendimento automatico ed è più simile al modo in cui gli esseri umani imparano.
Gli algoritmi di apprendimento automatico tradizionali faticano a elaborare i dati non strutturati perché richiedono l'ingegnerizzazione delle caratteristiche, ovvero la selezione e l'estrazione manuale delle caratteristiche rilevanti. Le reti neurali, invece, sono in grado di apprendere automaticamente gli schemi nei dati grezzi senza bisogno di un intervento manuale.
In che modo le reti neurali profonde utilizzano l'addestramento per imparare?
Una rete neurale profonda impara facendo previsioni e confrontandole con i risultati corretti. Ad esempio, quando elabora le foto, prevede se un'immagine contiene un cane e tiene traccia della frequenza con cui azzecca la risposta.
La rete calcola la sua accuratezza controllando la percentuale di previsioni corrette e utilizza questo feedback per migliorare. Regola i pesi dei neuroni e ripete il processo. Se l'accuratezza migliora, mantiene i nuovi pesi; in caso contrario, prova a effettuare altre regolazioni.
Questo ciclo si ripete per molte iterazioni, finché la rete non è in grado di riconoscere in modo coerente i modelli e di fare previsioni accurate. Una volta raggiunto questo punto, si dice che la rete ha convergenza ed è stata addestrata con successo.
Risparmiare tempo di codifica con risultati migliori
La rete neurale è così chiamata perché esiste una somiglianza tra questo approccio di programmazione e il modo in cui funziona il cervello.
Proprio come il cervello, gli algoritmi delle reti neurali utilizzano una rete di neuroni o nodi. E come il cervello, questi neuroni sono funzioni discrete (o piccole macchine, se preferite) che ricevono input e generano output. Questi nodi sono disposti in strati, dove le uscite dei neuroni di uno strato diventano gli input per i neuroni dello strato successivo, finché i neuroni dello strato più esterno della rete non generano il risultato finale.
Ci sono quindi strati di neuroni con ogni singolo neurone che riceve input molto limitati e genera output molto limitati, proprio come nel cervello. Il primo strato (o strato di ingresso) di neuroni riceve gli input e l'ultimo strato di neuroni (o strato di uscita) della rete produce il risultato.
È corretto chiamare questo tipo di algoritmo "rete neurale"?
Chiamare questo algoritmo "rete neurale profonda" si è dimostrato un marchio efficace, anche se può creare aspettative troppo ambiziose. Per quanto potenti, questi modelli sono ancora molto più semplici della complessità del cervello umano. Ciononostante, i ricercatori continuano a esplorare architetture neurali che mirano a un'intelligenza generale simile a quella umana.
Detto questo, c'è chi sta cercando di reingegnerizzare il cervello, utilizzando una rete neurale molto complessa, nella speranza di riuscire a replicare un'intelligenza generale simile a quella umana nello sviluppo dei robot. In che modo la rete neurale e le tecniche di apprendimento automatico possono aiutarci a risolvere il problema del riconoscimento dei cani?
Invece di definire manualmente gli attributi dei cani, un algoritmo di rete neurale profonda può identificare gli attributi importanti e gestire tutti i casi speciali senza bisogno di programmazione.
Domande frequenti
1. Quanto tempo occorre per addestrare una rete neurale profonda?
Il tempo necessario per addestrare una rete neurale profonda dipende dalle dimensioni del dataset e dalla complessità del modello. Un modello semplice può essere addestrato in pochi minuti su un computer portatile, mentre un modello su larga scala come GPT o ResNet potrebbe richiedere giorni o addirittura settimane utilizzando GPU o TPU ad alte prestazioni.
2. Posso addestrare un DNN sul mio computer?
Sì, è possibile addestrare una rete neurale profonda su un personal computer se il set di dati è piccolo e il modello è relativamente semplice. Tuttavia, per l'addestramento di modelli di grandi dimensioni o per l'utilizzo di grandi set di dati, è necessario disporre di una configurazione con GPU o di un accesso a piattaforme cloud come AWS o Azure.
3. Qual è la differenza tra una DNN utilizzata nella computer vision e una utilizzata nell'elaborazione del linguaggio naturale?
Una rete neurale profonda utilizzata nella computer vision utilizza strati convoluzionali (CNN) per elaborare i dati dei pixel, mentre i modelli NLP utilizzano architetture come trasformatori, LSTM o RNN per gestire la struttura sequenziale e semantica del linguaggio. Entrambi utilizzano il deep learning, ma sono ottimizzati per tipi di dati diversi.
4. Come si sceglie il numero di strati nascosti in una DNN?
La scelta del numero di strati nascosti in una DNN richiede una sperimentazione: un numero troppo basso di strati potrebbe non adattarsi ai dati, mentre un numero eccessivo potrebbe rallentare l'addestramento. Iniziate con 1-3 strati per compiti semplici e aumentate progressivamente, convalidando le prestazioni con la convalida incrociata o con un set di test.
5. Quali sono le prossime grandi scoperte previste nella ricerca sulle reti neurali profonde?
I progressi futuri nella ricerca sulle reti neurali profonde includono le reti neurali sparse (che riducono i costi di calcolo), il ragionamento neurosimbolico (che combina la logica con l'apprendimento profondo), tecniche di interpretabilità migliorate e architetture più efficienti dal punto di vista energetico che imitano l'efficienza del cervello umano (ad esempio, le reti neurali spiking).