Il neurone artificiale
Il neurone artificiale (perceptron) e l'unita computazionale fondamentale di ogni rete neurale. Ispirato — in modo molto semplificato — al neurone biologico, riceve un vettore di input x, calcola una somma pesata, aggiunge un bias e applica una funzione di attivazione:
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 (weights) determinano l'importanza di ciascun input. Il bias permette di spostare la soglia di attivazione. Entrambi vengono appresi durante l'addestramento. Un singolo neurone puo risolvere solo problemi linearmente separabili; e la combinazione di molti neuroni in layer a creare la potenza espressiva delle reti neurali.
Layer e architettura
I neuroni sono organizzati in layer (strati):
- Input layer: riceve i dati grezzi (es. pixel di un'immagine, valori numerici). Non esegue calcoli.
- Hidden layer: uno o piu strati intermedi dove avviene l'elaborazione. Reti con piu hidden layer sono dette deep (deep learning).
- Output layer: produce la predizione finale (es. probabilita di appartenenza a una classe).
In un layer fully connected (denso), ogni neurone e connesso a tutti i neuroni del layer precedente. Il numero di hidden layer e di neuroni per layer definiscono la capacita del modello: reti piu grandi possono apprendere pattern piu complessi, ma rischiano overfitting.
Funzioni di attivazione
Senza funzioni di attivazione non lineari, una rete profonda sarebbe equivalente a un singolo layer lineare. Le piu usate sono:
| 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 (probabilita) |
| 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 perche e computazionalmente semplice e mitiga il problema del vanishing gradient. GELU (Gaussian Error Linear Unit) e la variante preferita nei Transformer come GPT e BERT.
Backpropagation e gradient descent
L'addestramento di una rete neurale segue un ciclo iterativo:
- 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 e l'hyperparameter piu 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), finche la loss si stabilizza. Il rischio principale e l'overfitting: la rete memorizza i dati di training senza generalizzare.
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 risolvono il problema del vanishing gradient nelle 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 e l'elaborazione sequenziale: ogni token dipende dal precedente, rendendo impossibile la parallelizzazione su GPU. Questo limite 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 sono oggi alla base di praticamente tutti i modelli AI di frontiera: dai LLM per il NLP, ai Vision Transformer (ViT) per la Computer Vision, fino ai modelli multimodali. La loro scalabilita — le prestazioni migliorano prevedibilmente aumentando parametri e dati — li rende il fondamento dell'AI moderna.
Comprendere le reti neurali e 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.