MimìrCast: le novità sull’AI ogni giorno Ascolta il podcast ➔
Come funziona una rete neurale: la regola che nessuno le ha scritto

Come funziona una rete neurale: la regola che nessuno le ha scritto

Prova questo esercizio, richiede due minuti. Scrivi le istruzioni, precise, complete, senza «insomma, si capisce», che permettano a un computer di riconoscere un gatto in una fotografia. Non «cerca un gatto»: cerca cosa, esattamente, in quali pixel. Oppure, se preferisci il testo: scrivi la regola che distingue una recensione positiva da una negativa, e che regga anche su «non male, per il prezzo». Non ci riuscirai. Non perché sei distratto: perché quelle regole nessuno sa scriverle. Eppure la macchina le applica ogni giorno.

In questo articolo scoprirai:

  • La regola che nessuno riesce a scrivere
  • Cosa fa davvero un neurone artificiale: moltiplica, somma, decide
  • Il conto: un neurone con due ingressi, numeri alla mano
  • Cosa cambia aggiungendo strati, e cosa vuol dire «profondo» nel deep learning
  • Dove l'analogia col cervello si rompe
  • Da dove vengono davvero i pesi: nessuno li mette a mano

La regola che nessuno riesce a scrivere

Il gatto lo riconosci in un decimo di secondo e non sai dire perché. Provi con le orecchie a punta, e ti arriva un gatto visto da dietro. Provi con il pelo, e ti arriva una sfinge. Provi con i baffi, e ti arriva un tricheco. Ogni regola che scrivi ha una controprova, e ogni controprova pretende una regola nuova, finché il programma diventa un elenco di eccezioni che non finisce mai.

Questo è il muro contro cui l’informatica classica ha sbattuto per trent’anni, e ha un nome preciso: i problemi in cui sappiamo dare esempi ma non sappiamo dare istruzioni. Riconoscere una faccia, capire il tono di una frase, distinguere una firma vera da una falsa. Di esempi ne abbiamo a valanghe; di regole, zero.

La mossa che sblocca la faccenda è controintuitiva: invece di scrivere la regola, si costruisce una macchina con migliaia di manopole numeriche e si lascia che sia lei a girarle, guardando gli esempi, finché le risposte tornano. Le manopole si chiamano pesi, e sono l’unica cosa che c’è dentro la scatola. È esattamente qui che si capisce come funziona una rete neurale: non contiene una regola scritta da qualcuno, contiene una lista di numeri che, messi nell’ordine giusto, si comportano come una regola. Il primo passo per usarla è che i dati diventino numeri, è vero per i pixel, e vale anche per il linguaggio, dove serve capire come un testo diventa numeri.

Cosa fa davvero un neurone artificiale: moltiplica, somma, decide

Una rete neurale è una catena di unità che fanno tutte la stessa cosa elementare: ogni unità prende i numeri in ingresso, li moltiplica ciascuno per un proprio peso, somma i risultati insieme a un valore di correzione detto bias, e passa quel totale a una funzione di attivazione che decide se e quanto l’unità si «accende». Impilando queste unità in strati, l’uscita di uno strato diventa l’ingresso del successivo, e la combinazione di migliaia di decisioni banali produce un confine di forma qualunque fra «gatto» e «non gatto».

Non è una metafora: è letteralmente l’operazione che eseguono le librerie con cui si costruiscono questi modelli. La documentazione di Keras descrive lo strato Dense come output = activation(dot(input, kernel) + bias), prodotto fra ingressi e pesi, somma del bias, attivazione. Quella di scikit-learn lo dice a parole: ogni neurone dello strato nascosto trasforma i valori del livello precedente con «una somma lineare pesata w₁x₁ + w₂x₂ + … + wₘxₘ, seguita da una funzione di attivazione non lineare». PyTorch la scrive in una formula sola, y = xAᵀ + b: matrice dei pesi, più il bias. Sono moltiplicazioni e somme, in blocco, su matrici: per questo il motore matematico sotto tutto il deep learning è l’algebra lineare, non qualcosa di più esotico.

Un neurone da solo sa fare una cosa sola: tracciare una riga e dire da che parte cade il caso che gli hai dato. Tutto il resto, le curve, le isole, i confini contorti, nasce dal metterne molti accanto e molti in fila.

Il conto: un neurone con due ingressi, numeri alla mano

Prendiamo un neurone che deve dire se una recensione è positiva. Due ingressi soltanto: x₁ = quante parole positive contiene, x₂ = quante negative. I pesi li fissiamo noi, per vedere la macchina girare: w₁ = 0,6, w₂ = −0,9, bias b = −0,3. L’attivazione è la più usata in assoluto, la ReLU: max(0; z), cioè «se il totale è negativo esci zero, altrimenti esci il totale».

Un neurone artificiale con due ingressi: pesi 0,6 e −0,9, bias −0,3, attivazione ReLU, uscita 1,5x₁ = 3positivex₂ = 0negativew₁ = 0,6w₂ = −0,9Σ + bb = −0,3z = 1,8 + 0 − 0,3 = 1,5ReLUmax(0; z)y = 1,5

Tre casi numerici: quando il neurone di una rete neurale si accende

Ora tre casi, tutti rifacibili su un foglio.

Caso A, tre parole positive, nessuna negativa (x₁ = 3, x₂ = 0). Moltiplica: 0,6 × 3 = 1,8 e −0,9 × 0 = 0. Somma col bias: 1,8 + 0 − 0,3 = 1,5. Attiva: max(0; 1,5) = 1,5. Il neurone si accende, e forte.

Caso B, una positiva, due negative (x₁ = 1, x₂ = 2). 0,6 × 1 = 0,6; −0,9 × 2 = −1,8. Somma: 0,6 − 1,8 − 0,3 = −1,5. Attiva: max(0; −1,5) = 0. Spento.

Il confine di decisione di una rete neurale è una retta

Caso C, due positive, una negativa (x₁ = 2, x₂ = 1). 1,2 − 0,9 − 0,3 = 0 esatto. Uscita 0: siamo esattamente sul confine. E il confine, con questi tre numeri, è una retta che si scrive: x₂ = (2x₁ − 1) / 3. Con tre parole positive il neurone resta acceso finché le parole negative restano sotto 1,67; alla quarta positiva la soglia sale a 2,33. Cambia un peso e la retta ruota; cambia il bias e la retta si sposta. Tutto il «giudizio» del neurone è là dentro: tre numeri e una retta.

Cosa cambia aggiungendo strati, e cosa vuol dire «profondo» nel deep learning

Una retta però non basta quasi mai, e si dimostra con un caso minuscolo. Immagina di volere l’uscita 1 quando uno solo dei due ingressi vale 1, e 0 quando valgono entrambi 0 o entrambi 1. Prendi un foglio, segna i quattro punti, prova a separarli con una riga sola: è impossibile, i due punti «1» stanno sulle diagonali opposte. Nessuna scelta di w₁, w₂ e bias ce la fa, non è una questione di taratura, è una questione di forma.

Perché un solo strato non basta: il caso XOR, con i numeri

Aggiungi uno strato in mezzo e il muro cade. Due neuroni nascosti, tutti i pesi a 1, con bias 0 e −1, poi un’uscita che li ricombina pesandoli 1 e −2, sono esattamente i valori riportati nel capitolo sulle reti feedforward di Deep Learning di Goodfellow, Bengio e Courville. h₁ = ReLU(x₁ + x₂), h₂ = ReLU(x₁ + x₂ − 1), y = h₁ − 2h₂. Verifica: (0,0) → h₁ = 0, h₂ = 0, y = 0. (1,0) → h₁ = 1, h₂ = 0, y = 1. (0,1) → identico, y = 1. (1,1) → h₁ = 2, h₂ = 1, y = 2 − 2 = 0. Quattro casi su quattro. Lo strato in mezzo non ha aggiunto potenza di calcolo: ha cambiato le coordinate del problema, schiacciando i due casi che devono dare 1 nello stesso punto, dove una riga sola torna a bastare.

Quanti pesi ha davvero una rete profonda

«Profondo» in deep learning vuol dire solo questo: molti strati impilati, ognuno che rimappa l’uscita del precedente. Una rete da manuale per riconoscere cifre scritte a mano, 784 pixel in ingresso, 128 neuroni nascosti, 10 uscite, ha 784 × 128 + 128 = 100.480 pesi nel primo strato e 128 × 10 + 10 = 1.290 nel secondo: 101.770 numeri in tutto. La ResNet che ha vinto ILSVRC 2015 arrivava a 152 strati e 3,57% di errore su ImageNet; GPT-3, nel paper del 2020, dichiara 175 miliardi di parametri, circa 1,7 milioni di volte la reticella delle cifre. Le stesse tre operazioni, ripetute molte più volte: è su questa impalcatura che poggia come funziona un large language model. Più pesi però significa anche più modi di sbagliare per eccesso di zelo, cioè quando una rete impara troppo bene i casi che ha visto e poi crolla sui nuovi.

Dove l’analogia col cervello si rompe

Se cerchi come funziona una rete neurale, la prima pagina di Google è unanime: «rete neurale ispirata al cervello umano», con la stessa formula in IBM, Google Cloud, AWS e nella risposta generata in cima. Il paragone ha una radice storica vera, è un parallelismo che dura da più di sessant’anni, e nel 2024 il Nobel per la Fisica è andato a John Hopfield e Geoffrey Hinton proprio per le scoperte che hanno reso possibile l’apprendimento automatico con reti neurali artificiali, modelli nati guardando la neurofisiologia. Il paragone aiuta per dieci secondi. Poi ostacola, perché il conto del neurone con due ingressi dice un’altra cosa: un neurone artificiale è una moltiplicazione, una somma e una soglia. Tre numeri, non una cellula.

Ecco quando la spiegazione che hai appena letto smette di valere. Se da «funziona come il cervello» deduci che la rete capisce, che ha intenzioni, o che studiare i neuroni biologici ti dice come si comporterà, hai sbagliato strada: i neuroni veri comunicano con impulsi nel tempo, non con numeri in virgola mobile, non si azzerano con una ReLU e non imparano propagando l’errore all’indietro strato per strato. E in senso opposto: la ricostruzione «moltiplica, somma, attiva» descrive fedelmente uno strato Dense, ma non tutto quello che c’è nei modelli di oggi. Un transformer aggiunge un pezzo che questi strati non hanno, un confronto di ogni elemento con tutti gli altri, che è il meccanismo di attenzione dei transformer. Chi dice «è come il cervello» sta dando un’immagine; chi dice «è una somma pesata seguita da una soglia» sta dando il meccanismo.

I pesi non li mette nessuno a mano: da dove vengono

In questo pezzo i pesi li abbiamo scritti noi, ed è un imbroglio didattico. In una rete vera nessuno li tocca: partono da valori casuali, e vengono corretti guardando gli errori. La documentazione di scikit-learn la mette in una riga di formula: il modello «aggiorna ripetutamente i pesi partendo da un’inizializzazione casuale» secondo W ← W − ε∇Loss, dove ε è quanto ci si muove per volta e ∇Loss indica la direzione in cui l’errore cresce, quindi si va nella direzione opposta.

Tradotto: si misura di quanto la risposta ha sbagliato, si calcola per ciascuno dei 101.770 pesi se aumentarlo o diminuirlo aiuterebbe, e si fa un passo piccolo in quella direzione. Poi si ripete, milioni di volte. È l’unico punto in cui una rete «impara», e ha un nome, discesa del gradiente, con la retropropagazione che distribuisce la colpa strato per strato. È il prossimo mattone di questa rubrica, e senza di quello la scatola che hai aperto qui resta ferma: sai cosa fa, non ancora come si è tarata.

Quel che ti porti via intanto è abbastanza per non dire sciocchezze. Dentro una rete neurale non c’è una regola scritta da un programmatore, non c’è comprensione e non c’è un cervello: c’è una lunga fila di moltiplicazioni, somme e soglie, e un mucchio di numeri trovati per tentativi guidati. Il gatto nella foto lo riconosce una retta ruotata centomila volte.

Pesi, somme e soglie sono il motore, ma non sono tutta la macchina: il percorso completo di una richiesta mostra cosa arriva alla rete prima e cosa ne esce dopo.

Fonti:

Domande frequenti

Come funziona una rete neurale, in breve?

Ogni unità moltiplica i numeri in ingresso per i propri pesi, li somma insieme a un bias e passa il totale a una funzione di attivazione che decide quanto l'unità si accende. L'uscita di uno strato diventa l'ingresso del successivo. Non c'è nessuna regola scritta da un programmatore: c'è solo una lunga lista di numeri che si comporta come una regola.

Cosa sono i pesi e il bias di una rete neurale?

I pesi dicono quanto conta ciascun ingresso, il bias sposta la soglia oltre la quale il neurone si accende. Insieme definiscono il confine di decisione: cambiare un peso ruota quel confine, cambiare il bias lo trasla. In una rete vera partono da valori casuali e vengono corretti a ogni errore con la discesa del gradiente.

Cosa vuol dire «profondo» nel deep learning?

Vuol dire soltanto che gli strati impilati sono molti, ognuno che rimappa l'uscita del precedente. Una rete da manuale per le cifre scritte a mano ha 101.770 pesi; la ResNet del 2015 arriva a 152 strati e GPT-3 dichiara 175 miliardi di parametri. Le operazioni restano le stesse tre, solo ripetute molte più volte.

Una rete neurale funziona davvero come il cervello umano?

No, l'analogia regge solo per dieci secondi. Un neurone artificiale è una moltiplicazione, una somma e una soglia, mentre i neuroni biologici comunicano con impulsi nel tempo e non imparano propagando l'errore all'indietro strato per strato. Il paragone ha una radice storica reale, ma non serve a prevedere come si comporterà il modello.

Tabella dei contenuti
Articoli correlati:
Vuoi che l'AI diventi il tuo motore di valore più potente?

Ti accompagniamo noi con Mimír AI Agent.