Il neurone artificiale
Il neurone artificiale (perceptron) è l'unità di calcolo di cui sono fatte tutte le reti neurali. L'ispirazione al neurone biologico è lontanissima, quindi conviene togliersi subito l'immagine del cervello: qui c'è un vettore di ingresso x, una somma pesata, un termine di bias e una funzione di attivazione.
Punti chiave
- Il neurone artificiale combina input, pesi e bias e applica una funzione di attivazione non lineare.
- I neuroni si organizzano in layer (input, hidden, output): più hidden layer significano una rete deep.
- L'apprendimento avviene tramite backpropagation e gradient descent, che aggiornano pesi e bias riducendo la loss.
- Architetture specializzate risolvono problemi diversi: CNN per le immagini, RNN per le sequenze, Transformer per il linguaggio.
- I Transformer e la self-attention sono oggi il fondamento dei modelli AI di frontiera, dagli LLM ai modelli multimodali.
Formula del neurone
output = f(w1*x1 + w2*x2 + ... + wn*xn + b)
dove w = pesi, x = input, b = bias, f = funzione di attivazione
I pesi dicono quanto conta ciascun ingresso, il bias sposta la soglia oltre la quale il neurone si accende. Entrambi vengono imparati durante l'addestramento: è tutto lì il «apprendimento». Un neurone da solo separa solo cose separabili con una linea, ed è mettendone molti in strati che si ottiene la capacità di approssimare funzioni complicate.
Layer e architettura
I neuroni si organizzano in strati:
- Input layer: riceve i dati grezzi (es. pixel di un'immagine, valori numerici). Non esegue calcoli.
- Hidden layer: uno o più strati intermedi dove avviene l'elaborazione. Reti con più hidden layer sono dette deep (deep learning).
- Output layer: produce la predizione finale (es. probabilità di appartenenza a una classe).
In un layer fully connected (denso), ogni neurone è connesso a tutti i neuroni del layer precedente. Il numero di hidden layer e di neuroni per layer definisce la capacità del modello: reti più grandi possono apprendere pattern più complessi, ma rischiano overfitting. Nella pratica si parte da architetture semplici e si aumenta la profondità solo quando i dati e il problema lo giustificano.
Funzioni di attivazione
Senza funzioni di attivazione non lineari una rete profonda equivarrebbe a un solo strato lineare, quindi tutta la profondità sarebbe sprecata. Le più usate:
| Funzione | Formula | Uso tipico |
|---|---|---|
| ReLU | max(0, x) | Hidden layer (standard de facto) |
| Sigmoid | 1 / (1 + e^-x) | Output binario (0-1) |
| Softmax | e^xi / sum(e^xj) | Output multiclasse (probabilità) |
| Tanh | (e^x - e^-x) / (e^x + e^-x) | Hidden layer (range -1, 1) |
| GELU | x * Phi(x) | Transformer moderni |
ReLU domina nelle reti moderne perché è computazionalmente semplice e mitiga il problema del vanishing gradient. GELU (Gaussian Error Linear Unit) è la variante preferita nei Transformer come GPT e BERT. La scelta della funzione di attivazione nell'output layer dipende dal task: sigmoid per la classificazione binaria, softmax per quella multiclasse, nessuna attivazione (o lineare) per la regressione.
Backpropagation e gradient descent
L'addestramento gira in cerchio, e il ciclo è sempre questo:
- Forward pass: i dati attraversano la rete layer per layer, producendo una predizione.
- Calcolo della loss: una funzione di perdita (es. cross-entropy per classificazione, MSE per regressione) misura la distanza tra predizione e valore reale.
- Backward pass (backpropagation): la loss viene propagata all'indietro attraverso la rete, calcolando il gradiente della loss rispetto a ciascun peso tramite la regola della catena.
- Aggiornamento pesi (gradient descent): ogni peso viene aggiornato nella direzione che riduce la loss: w = w - learning_rate * gradiente.
Il learning rate è l'hyperparameter più critico: troppo alto e l'addestramento diverge, troppo basso e converge lentamente. Ottimizzatori moderni come Adam adattano il learning rate automaticamente per ciascun peso.
Il processo si ripete per migliaia o milioni di iterazioni (epoch), finché la loss si stabilizza. Il rischio principale è l'overfitting: la rete memorizza i dati di training senza generalizzare. Per contrastarlo si usano tecniche di regolarizzazione come dropout, early stopping e weight decay, oltre a un set di validazione che monitora le prestazioni su dati mai visti.
Reti Convoluzionali (CNN)
Le CNN (Convolutional Neural Networks) sono progettate per elaborare dati con struttura spaziale, in primis le immagini. Invece di connessioni fully connected, usano filtri convoluzionali che scorrono sull'input, rilevando pattern locali (bordi, texture, forme).
L'architettura tipica alterna layer convoluzionali (estrazione feature) e layer di pooling (riduzione dimensionale), seguiti da layer fully connected per la classificazione finale. Le CNN sono il fondamento della Computer Vision moderna: da LeNet (1998) ad AlexNet (2012), fino a ResNet e EfficientNet.
Reti Ricorrenti (RNN)
Le RNN (Recurrent Neural Networks) elaborano sequenze mantenendo uno stato nascosto (hidden state) che trasporta informazione dai passi temporali precedenti. Sono state il paradigma dominante per il NLP e le serie temporali prima dei Transformer.
Le varianti principali servono a risolvere il problema del gradiente che svanisce sulle sequenze lunghe:
- LSTM (Long Short-Term Memory): introduce gate (input, forget, output) che controllano il flusso di informazione, permettendo di ricordare dipendenze a lungo termine.
- GRU (Gated Recurrent Unit): versione semplificata dell'LSTM con due soli gate (reset, update), spesso con prestazioni comparabili.
Il limite principale delle RNN è l'elaborazione sequenziale: ogni token dipende dal precedente, rendendo impossibile la parallelizzazione su GPU. Questo limite, insieme alla difficoltà di catturare dipendenze molto lunghe, ha motivato lo sviluppo dei Transformer.
Transformer
L'architettura Transformer, introdotta nel paper "Attention Is All You Need" (Vaswani et al., 2017), ha rivoluzionato l'AI eliminando la ricorrenza in favore del meccanismo di self-attention.
La self-attention permette a ogni elemento della sequenza di "guardare" tutti gli altri elementi contemporaneamente, calcolando pesi di attenzione che determinano quanto ogni posizione sia rilevante per le altre. Questo risolve il problema delle dipendenze a lungo raggio e abilita la parallelizzazione massiva su GPU.
Architetture derivate dai Transformer
Encoder-only (BERT): eccellente per classificazione e comprensione del testo.
Decoder-only (GPT, Claude, Llama): generazione di testo autoregressiva, base dei moderni LLM.
Encoder-decoder (T5, BART): traduzione, summarization, task sequence-to-sequence.
I Transformer stanno sotto praticamente tutti i modelli di frontiera: gli LLM per il NLP, i Vision Transformer per la Computer Vision, i modelli multimodali. Il motivo per cui hanno vinto è che scalano in modo prevedibile: aggiungi parametri e dati, e le prestazioni migliorano. È una proprietà rara, ed è quella su cui è costruita l'AI di oggi.
Comprendere le reti neurali è la base per qualsiasi percorso nel deep learning. Per passare dalla teoria alla pratica, esplora gli articoli su ML Supervisionato e Non Supervisionato e su Python per l'AI.
Vuoi imparare ad applicarlo davvero?
Scopri i corsi e la formazione di Federico Boggia su AI, dati e digitale.