Cos'è una rete neurale?
Le reti neurali artificiali (ANN), più comunemente chiamate reti neurali (NN), sono sistemi di calcolo ispirati alle reti neurali biologiche che costituiscono il cervello umano.
Reti neurali: una breve storia
Le reti neurali possono sembrare un argomento nuovo ed entusiasmante, ma il campo stesso non è affatto nuovo. Frank Rosenblatt, psicologo americano, ha concettualizzato e cercato di costruire una macchina che risponde come la mente umana nel 1958. Ha chiamato la sua macchina "Perceptron".
Per tutti gli scopi pratici, le reti neurali artificiali imparano per esempio, in modo simile alle loro controparti biologiche. Gli input esterni sono ricevuti, elaborati ed eseguiti nello stesso modo in cui si comporta il cervello umano.
La struttura a strati delle reti neurali
Sappiamo che diverse sezioni del cervello umano sono cablate per elaborare vari tipi di informazioni. Queste parti del cervello sono disposte gerarchicamente in livelli. Quando le informazioni entrano nel cervello, ogni strato, o livello, di neuroni compie il suo particolare lavoro di elaborazione delle informazioni in arrivo, ricavandone intuizioni, e passandole allo strato successivo e più alto. Per esempio, quando passi davanti a un panificio, il tuo cervello risponderà per gradi all'aroma del pane appena sfornato:
- Inserimento dati: l'odore del pane appena sfornato
- Pensiero: questo mi ricorda la mia infanzia
- Prendere decisioni: penso che comprerò un po' di quel pane
- La memoria: ma ho già pranzato
- Ragionamento: forse potrei fare uno spuntino
- Azione: posso avere un pezzo di quel pane, per favore?
Questo è il modo in cui il cervello funziona a tappe. Le reti neurali artificiali funzionano in modo simile. Cercano di simulare questo approccio multistrato per elaborare vari input di informazione e basare le decisioni su di essi.
A livello cellulare, o di singolo neurone, le funzioni sono messe a punto. I neuroni sono le cellule nervose del cervello. Le cellule nervose hanno sottili estensioni note come dendriti. Ricevono segnali e li trasmettono al corpo cellulare. Il corpo cellulare elabora gli stimoli e prende la decisione di attivare i segnali ad altri neuroni della rete. Se la cellula decide di farlo, l'estensione sul corpo cellulare nota come assone condurrà il segnale ad altre cellule attraverso la trasmissione chimica. Il funzionamento delle reti neurali si ispira alla funzione dei neuroni nel nostro cervello, anche se il meccanismo tecnologico di azione è diverso da quello biologico.

Come le reti neurali funzionano in modo simile al cervello umano
Una rete neurale artificiale nella sua forma più elementare ha tre strati di neuroni. L'informazione scorre da uno all'altro, proprio come avviene nel cervello umano:
- Il livello di input: il punto di ingresso dei dati nel sistema.
- Lo strato nascosto: dove l'informazione viene elaborata.
- Il livello di uscita: dove il sistema decide come procedere in base ai dati.
Le reti neurali artificiali più complesse avranno più strati, alcuni nascosti.
La rete neurale funziona tramite un insieme di nodi o unità collegate, proprio come i neuroni artificiali. Questi nodi modellano liberamente la rete di neuroni nel cervello animale. Proprio come la sua controparte biologica, un neurone artificiale riceve un segnale sotto forma di stimolo, lo elabora e segnala altri neuroni ad esso collegati.
Ma le somiglianze finiscono qui.
Il funzionamento neuronale di una rete neurale artificiale
In una rete neurale artificiale, il neurone artificiale riceve uno stimolo sotto forma di un segnale che è un numero reale. Quindi:
- L'output di ogni neurone è calcolato da una funzione non lineare della somma dei suoi ingressi.
- Le connessioni tra i neuroni sono chiamate bordi.
- Sia i neuroni che i bordi hanno un peso. Questo parametro si regola e cambia man mano che l'apprendimento procede.
- Il peso aumenta o diminuisce la forza del segnale in una connessione.
- I neuroni possono avere una soglia. Un segnale viene inviato in avanti solo se il segnale aggregato supera questa soglia.
Come menzionato in precedenza, i neuroni si aggregano in strati. Strati diversi possono eseguire modifiche diverse sui loro ingressi. I segnali passano dal primo strato (lo strato di input) all'ultimo strato (lo strato di output) nel modo discusso sopra, a volte dopo aver attraversato gli strati più volte.
Le reti neurali contengono intrinsecamente un qualche tipo di regola di apprendimento, che modifica i pesi delle connessioni neurali in accordo con i modelli di input che vengono presentati, proprio come un bambino che cresce impara a riconoscere gli animali da esempi di animali.
Reti neurali e deep learning
È impossibile parlare di reti neurali senza menzionare il deep learning. I termini "reti neurali" e "deep learning" sono spesso usati in modo intercambiabile, sebbene siano distinti l'uno dall'altro. Tuttavia, i due sono strettamente connessi, poiché uno dipende dall'altro per funzionare. Se le reti neurali non esistessero, non esisterebbe nemmeno il deep learning:
- L'apprendimento profondo forma la punta di diamante di un'entità già all'avanguardia, l'intelligenza artificiale (IA).
- Il deep learning è diverso dal machine learning, che è progettato per insegnare ai computer a elaborare e imparare dai dati.
- Con il deep learning, il computer si allena continuamente per elaborare i dati, imparare da essi e costruire più capacità. I livelli multipli delle reti neurali artificiali più complesse sono ciò che rende possibile questo.
- Le reti neurali complesse contengono uno strato di input e uno strato di output proprio come le reti neurali di forma semplice, ma contengono anche più strati nascosti. Pertanto, sono chiamate reti neurali profonde e sono favorevoli al deep learning.
- Un sistema di deep learning insegna a se stesso e diventa più "esperto" man mano che va avanti, filtrando le informazioni attraverso più strati nascosti, in modo simile al cervello umano con tutte le sue complessità.
Perché il deep learning è importante per le organizzazioni
Il deep learning è come la nuova corsa all'oro o l'ultima scoperta del petrolio nel mondo della tecnologia. Il potenziale del deep learning ha suscitato l'interesse di grandi aziende affermate così come di startup nascenti e tutto ciò che sta in mezzo. Perché?
Fa parte del grande quadro guidato dai dati, in particolare, grazie all'aumento dell'importanza dei big data. Se si pensa ai dati derivati da Internet come al petrolio grezzo immagazzinato in database, data warehouse e data lake, in attesa di essere scavato con vari strumenti di data analytics, il deep learning è la raffineria di petrolio che prende i dati grezzi e li converte in prodotti finali che si possono usare.
Il deep learning è il gioco finale in un mercato inondato di strumenti analitici adagiati in una culla di dati: senza un'unità di elaborazione efficiente e all'avanguardia, estrarre qualcosa di valore non è possibile.
Il deep learning ha il potenziale per sostituire gli esseri umani automatizzando i compiti ripetitivi. Tuttavia, l'apprendimento profondo non può sostituire i processi di pensiero di uno scienziato o di un ingegnere umano che crea e mantiene applicazioni di deep learning.
Distinguere tra machine learning e altri tipi di apprendimento
Machine Learning
Quando si tratta del "come" nel machine learning, tutto ruota attorno all'addestramento degli algoritmi di apprendimento come la regressione lineare, K-means, alberi di decisione, foresta casuale, algoritmo K-nearest neighbors (KNN) e algoritmo macchina a vettori di supporto o SVM.
Questi algoritmi esaminano i set di dati, imparando man mano ad adattarsi a nuove situazioni e a cercare modelli di dati interessanti e penetranti. I dati sono il substrato chiave che consente a questi algoritmi di funzionare al meglio.
Apprendimento supervisionato
I set di dati utilizzati per l'addestramento del machine learning possono essere etichettati. Il set di dati viene fornito con una scheda di risposta per informare il computer della risposta giusta. Per esempio, un computer che scansiona una casella di posta elettronica alla ricerca di spam può fare riferimento a un set di dati etichettato per capire quali email sono spam e quali sono legittime. Questo è chiamato apprendimento supervisionato. La regressione o classificazione supervisionata è realizzata per mezzo della regressione lineare e dell'algoritmo K-nearest neighbors.
Apprendimento non supervisionato
Quando i set di dati non sono etichettati, e algoritmi come K-means sono impiegati e diretti ad aggregare modelli di cluster senza il beneficio di alcun foglio di riferimento, si chiama apprendimento non supervisionato.
Reti neurali e logica fuzzy
Per inciso, è anche importante fare la distinzione tra reti neurali e logica fuzzy. La logica fuzzy permette di prendere decisioni concrete basate su dati imprecisi o ambigui. D'altra parte, le reti neurali tentano di incorporare processi di pensiero simili a quelli umani per risolvere i problemi senza prima progettare modelli matematici.
Come differiscono le reti neurali dal calcolo convenzionale?
Per comprendere meglio come funziona l'informatica con una rete neurale artificiale, bisogna comprendere un computer convenzionale "seriale" e il suo software di elaborazione delle informazioni.
Un computer seriale ha un processore centrale che può indirizzare una serie di posizioni di memoria in cui sono memorizzati dati e istruzioni. Il processore legge le istruzioni e tutti i dati di cui l'istruzione ha bisogno dagli indirizzi di memoria. L'istruzione viene quindi eseguita e i risultati vengono salvati in una posizione di memoria specifica.
In un sistema seriale o parallelo standard, i passaggi del calcolo sono deterministici, sequenziali e logici. Inoltre, lo stato di una data variabile può essere tracciato da un'operazione all'altra.
Il funzionamento delle reti neurali
Al contrario, le reti neurali artificiali non sono né sequenziali né necessariamente deterministiche. Non contengono processori centrali complessi. Invece, sono composte da diversi processori semplici che prendono la somma ponderata dei loro input da altri processori.
Le reti neurali non eseguono istruzioni programmate. Rispondono in parallelo (in modo simulato o reale) al modello di input che viene loro presentato.
Le reti neurali non contengono indirizzi di memoria separati per la memorizzazione dei dati. Invece, l'informazione è contenuta nello stato complessivo di attivazione della rete. La conoscenza è rappresentata dalla rete stessa, che è letteralmente maggiore della somma dei suoi singoli componenti.
Vantaggi delle reti neurali rispetto alle tecniche convenzionali
Ci si può aspettare che le reti neurali si autoaddestrino in modo abbastanza efficiente nel caso di problemi in cui le relazioni sono dinamiche o non lineari. Questa capacità è ulteriormente migliorata se i modelli di dati interni sono forti. Dipende anche in una certa misura dall'applicazione stessa.
Le reti neurali sono un'alternativa analitica alle tecniche standard un po' limitate a idee come i presupposti rigorosi di linearità, normalità e indipendenza delle variabili.
La capacità delle reti neurali di esaminare una varietà di relazioni rende più facile per l'utente modellare rapidamente fenomeni che potrebbero essere abbastanza difficili, o addirittura impossibili, da comprendere altrimenti.

Limiti delle reti neurali
Ci sono alcune questioni specifiche di cui i potenziali utenti dovrebbero essere consapevoli, in particolare in relazione alle reti neurali di retropropagazione e alcuni altri tipi di reti.
Il processo non è spiegabile
Le reti neurali di retropropagazione sono state definite la scatola nera definitiva. A parte delineare l'architettura generale e possibilmente usare alcuni numeri casuali come semina, tutto ciò che l'utente deve fare è fornire l'input, tenere sotto controllo l'addestramento e poi ricevere l'output. Alcuni pacchetti software permettono agli utenti di campionare il progresso della rete nel tempo. L'apprendimento stesso in questi casi progredisce da solo.
L'output finale è una rete addestrata che è autonoma nel senso che non fornisce equazioni o coefficienti che definiscono una relazione al di là della sua stessa matematica interna. La rete stessa è l'equazione finale della relazione.
Più lento all'addestramento
Inoltre, le reti di retropropagazione tendono ad essere più lente da addestrare rispetto ad altri tipi di reti e a volte richiedono migliaia di epoche. Questo perché l'unità di elaborazione centrale della macchina deve calcolare la funzione di ogni nodo e connessione separatamente. Questo può essere molto ingombrante e causare problemi in reti molto grandi che contengono un'enorme quantità di dati. Le macchine contemporanee lavorano abbastanza velocemente da aggirare questo problema.
Applicazioni delle reti neurali
Le reti neurali sono approssimatori universali. Funzionano meglio se il sistema ha un'alta tolleranza all'errore.
Le reti neurali sono utili:
- Per capire le associazioni o scoprire elementi regolari all'interno di un insieme di modelli.
- Quando i dati sono enormi sia nel volume che nella diversità dei parametri.
- Le relazioni tra le variabili sono vagamente comprese.
- Dove gli approcci convenzionali non riescono a descrivere le relazioni.
Questo bellissimo paradigma, ispirato alla biologia, è uno degli sviluppi tecnologici più eleganti della nostra epoca.