Cos’è una rete neurale: come funziona e perché è ovunque

Immagine realizzata con IA
Le immagini presenti nel post possono essere realizzate o elaborate con strumenti di Intelligenza Artificiale. Questa scelta nasce anche dalla necessità di prevenire le continue contestazioni e richieste economiche improprie che ricevo relative a fotografie utilizzate che sono sempre state acquistate con regolare licenza.
Contenuti dell'articolo

Una rete neurale è un modello di calcolo fatto di tante unità piccolissime che lavorano insieme. Ogni unità prende dei numeri in ingresso, li combina tra loro e passa il risultato a quelle successive. Messe in fila a migliaia, queste unità riescono a riconoscere un volto in una foto, tradurre una frase o stimare il prezzo di una casa.

Qui vediamo cosa c’è dentro una rete neurale, senza formule complicate ma senza nascondere i pezzi che contano. Alla fine saprai cosa sono pesi, bias, strati e funzioni di attivazione. Avrai anche un’idea chiara di come una macchina fa a imparare.

Perché si chiama rete e perché neurale

Il nome arriva dalla biologia, anche se il paragone va preso con le molle. Nel cervello i neuroni si scambiano segnali elettrici attraverso connessioni chiamate sinapsi. Un neurone riceve segnali da molti altri, li somma e, se la somma supera una certa soglia, “spara” a sua volta un segnale in uscita.

I primi studiosi hanno copiato questa idea in forma matematica. Nel 1943 Warren McCulloch e Walter Pitts pubblicarono un modello di neurone artificiale che si accende o resta spento a seconda degli ingressi. Nel 1958 Frank Rosenblatt costruì il perceptron, la prima unità capace di imparare dai dati invece di essere programmata a mano.

Da allora le reti neurali artificiali hanno preso una strada tutta loro. Oggi nessuno pretende che assomiglino a un cervello vero: sono strumenti matematici, ispirati alla biologia solo in superficie. La parola “neurale” è rimasta per comodità, come il nome di un quartiere che non corrisponde più al profilo demografico che vi abita.

Il neurone artificiale: cosa c’è dentro

Un neurone artificiale è una scatola con più ingressi e una sola uscita. Il suo lavoro si riduce a tre passaggi: moltiplicare, sommare, decidere.

Immagina di voler valutare se comprare una casa. Guardi tre cose: prezzo al metro quadro, distanza dal centro, anno di costruzione. Sono i tuoi ingressi. Non hanno tutti lo stesso peso nella decisione: la posizione conta molto, l’anno di costruzione un po’ meno. Questa importanza diversa è esattamente quello che nella rete si chiama peso.

I pesi: quanto conta ogni ingresso

Ogni ingresso viene moltiplicato per un numero, il suo peso.
Un peso alto significa che quell’informazione sposta molto la decisione.
Un peso vicino a zero significa che l’informazione viene quasi ignorata.

I pesi sono i parametri che la rete impara durante l’addestramento: all’inizio sono numeri casuali, alla fine raccontano cosa conta davvero per risolvere il problema.

Il bias: la soglia che sposta tutto

Dopo la somma pesata si aggiunge un altro numero, il bias. Serve a spostare la soglia di attivazione.
Se il bias è molto negativo, il neurone tende a restare spento e serve un segnale forte per accenderlo.
Se è positivo, basta poco.

Senza bias la rete sarebbe costretta a passare sempre per lo zero, un limite che renderebbe alcuni problemi impossibili da risolvere.

La funzione di attivazione: la decisione finale

Il risultato della somma più il bias passa poi in una funzione di attivazione. Questa decide quanto segnale esce dal neurone. La più famosa oggi è la ReLU, che lascia passare i numeri positivi e azzera quelli negativi. Altre, come la sigmoid e la softmax, comprimono il risultato tra 0 e 1 così da leggerlo come una probabilità.

Tip: se ti ricordi una sola frase su un neurone artificiale, ricordati questa. Un neurone è una somma pesata degli ingressi, più una soglia, passata in un filtro. Tutto il resto è ripetizione di questa stessa operazione su scala enorme.

Schema del neurone artificiale: ingressi, pesi, somma con bias, funzione di attivazione e uscita

Gli strati: input, hidden e output

Un neurone da solo può risolvere problemi piccolissimi, tipo separare due gruppi di punti con una linea retta. Per fare cose interessanti i neuroni si organizzano in strati.

Lo strato di input riceve i dati grezzi: i pixel di un’immagine, le parole di una frase, i valori di una tabella.
Gli strati nascosti, in inglese hidden layer, stanno in mezzo e fanno il lavoro pesante: combinano i segnali ricevuti e costruiscono rappresentazioni via via più astratte.
Lo strato di output restituisce la risposta finale: “gatto” oppure “cane”, un numero, una probabilità.

Ogni neurone di uno strato è collegato a tutti i neuroni dello strato successivo. Il numero di collegamenti cresce in fretta: in una rete con due strati da mille neuroni ci sono un milione di pesi da imparare.
È per questo che servono tanta memoria e tanta potenza di calcolo.

Come impara una rete neurale

Imparare, per una rete, significa trovare i valori giusti dei pesi e dei bias. Il procedimento si ripete migliaia di volte e segue sempre lo stesso ciclo.

  • Avanti. La rete riceve un esempio e produce una risposta con i pesi che ha in quel momento.
  • Confronto. La risposta viene paragonata a quella corretta. La differenza si misura con una loss function.
  • Indietro. L’errore torna indietro attraverso la rete e indica quanto ha sbagliato ogni peso. È la backpropagation.
  • Correzione. I pesi vengono spostati di poco nella direzione che riduce l’errore. Il quanto si decide con il learning rate.

Ripetendo questo ciclo su milioni di esempi, i pesi si assestano e la rete diventa brava. Nessuno le ha detto le regole: le ha dedotte dai dati.

Tip: l’addestramento non è una magia che accende la rete di colpo. È una discesa lenta lungo una superficie complicatissima, un piccolo passo alla volta, sperando di non finire in una zona dove non si impara più nulla.

I quattro passaggi con cui una rete neurale impara: avanti, confronto, errore indietro, correzione dei pesi

Da un neurone a una rete profonda

Nel 1969 Marvin Minsky e Seymour Papert mostrarono che un singolo strato non riesce a risolvere nemmeno un problema semplice come lo XOR. La strada sembrava chiusa. La soluzione arrivò negli anni Ottanta, quando la backpropagation venne applicata alle reti con più strati.

Negli anni Novanta Yann LeCun usò reti neurali convoluzionali per leggere gli assegni bancari, con risultati concreti. Poi il campo si raffreddò di nuovo per mancanza di dati e di potenza di calcolo. La svolta arriva nel 2012, quando la rete AlexNet stravince la gara di riconoscimento immagini ImageNet abbassando l’errore di parecchi punti rispetto ai metodi tradizionali. Da lì parte la corsa che conosciamo.

Oggi la differenza tra una rete “normale” e una rete profonda sta nel numero di strati nascosti. Quando gli strati diventano decine o centinaia, la rete impara a riconoscere prima i bordi, poi le forme, poi gli oggetti interi.
Questa scalabilità è il cuore del deep learning.

Un esempio concreto: riconoscere una cifra scritta a mano

Prendiamo l’esempio classico delle cifre da 0 a 9 scritte a mano. Ogni immagine è una griglia di 28 per 28 pixel, quindi 784 numeri in ingresso, uno per pixel.

La rete riceve i 784 valori nello strato di input. Negli strati nascosti, i primi neuroni imparano a riconoscere tratti semplici: linee verticali, curve, angoli. Gli strati successivi combinano questi tratti in forme più complesse, come un cerchio chiuso o una linea con un gancio. Lo strato di output ha dieci neuroni, uno per cifra. Ognuno restituisce una probabilità.

Se scrivi un “3” storto, la rete probabilmente darà all’uscita “3” un valore molto alto e alle altre valori bassi. Non c’è un archivio di modelli da confrontare: ci sono solo pesi regolati durante l’addestramento su migliaia di esempi.

Perché le reti neurali funzionano così bene

Il loro vantaggio è che non serve dire alla macchina quali caratteristiche guardare. Con i metodi tradizionali un programmatore doveva decidere a mano che un volto si riconosce dalla distanza tra gli occhi o dalla forma del naso. Con una rete profonda questa selezione emerge da sola dai dati.

C’è anche un prezzo. Una rete non ti spiega con parole semplici perché ha risposto in un certo modo. Spesso è anche difficile ricostruire il ragionamento. Questo è il problema della scatola nera, uno dei temi aperti più discussi del settore.

Gli strati di una rete neurale: input, strati nascosti e output

Domande frequenti sulle reti neurali

Una rete neurale è davvero come un cervello?

Solo in senso molto largo. Il neurone artificiale prende il nome dal neurone biologico e ne copia l’idea di base, sommare segnali e superare una soglia. Il resto è diverso: un cervello ha cento miliardi di neuroni con connessioni variabili nel tempo, una rete artificiale è una struttura matematica fissa fino al prossimo aggiornamento dei pesi.

Qual è la differenza tra rete neurale e machine learning?

Il machine learning è la categoria generale di modelli che imparano dai dati. La rete neurale è una delle famiglie possibili dentro quella categoria, insieme per esempio agli alberi decisionali e alle macchine a vettori di supporto. Quando la rete ha molti strati si parla di deep learning, che è una sottocategoria del machine learning, non una cosa separata.

Quanti strati servono perché una rete sia “profonda”?

Non esiste un numero ufficiale. Per convenzione si parla di rete profonda quando ci sono almeno due o tre strati nascosti, anche se i modelli moderni arrivano a decine o centinaia. Conta più la sostanza: la profondità serve a costruire rappresentazioni sempre più astratte.

Una rete neurale può sbagliare?

Sì. E sbaglia spesso. Può essere ingannata da esempi molto diversi da quelli visti in addestramento, può amplificare i pregiudizi presenti nei dati e può inventare risposte plausibili ma false. Per questo motivo i risultati vanno sempre controllati da una persona prima di usarli in decisioni importanti.

Serve una laurea in matematica per usarle?

No. Per usare modelli già pronti bastano curiosità e un po’ di pratica. La matematica diventa necessaria solo se vuoi progettare una rete da zero, capire a fondo perché un modello si comporta così o metterci mano dentro per migliorarlo.

Se vuoi collocare questo pezzo nel quadro generale, vale la pena rileggere cos’è un modello di machine learning e le differenze tra ML, DL e GenAI. Per capire come una rete aggiusta i propri numeri interni, la lezione su pesi e bias completa il discorso.

Newsletter settimanale con le ultime novità sull’intelligenza artificiale

Corso gratuito sull’Intelligenza Artificiale, dalle nozioni base ai concetti più complessi

Condividi:

Potrebbero interessarti