Derivate, gradiente e regola della catena: come un modello capisce in quale direzione imparare
La derivata come velocità di variazione, derivate parziali, gradiente e regola della catena — e la retropropagazione dell’errore calcolata numero per numero su un singolo neurone.
Serie Basi di IA Parte 10 di 52
- Mappa dell’intelligenza artificiale: che cos’è ciascuna cosa e come si incastra tutto
- Breve storia dell’intelligenza artificiale: da Turing ai modelli linguistici
- Dati, modello, addestramento, inferenza: i concetti di base su un unico esempio
- Come leggere la notazione matematica: simboli, indici, sommatorie e quantificatori
- Insiemi e relazioni: i mattoncini con cui si costruiscono le definizioni nell’IA
- Funzioni e applicazioni: perché ogni modello di IA è una funzione
- Logica e dimostrazioni: le regole con cui si ragiona nell’IA
- Grafi e alberi: la struttura su cui poggiano la ricerca e le reti neurali
- Algebra lineare per l’apprendimento automatico: vettori, matrici e perché l’IA soprattutto moltiplica
- Derivate, gradiente e regola della catena: come un modello capisce in quale direzione imparare
- Discesa del gradiente: come impara un modello
- Che cos’è la probabilità: dal lancio di un dado agli assiomi di Kolmogorov
- Probabilità condizionata e teorema di Bayes: come cambiare una stima quando scopri qualcosa di nuovo
- Variabile aleatoria e funzione di ripartizione: una sola funzione che dice tutto sulla distribuzione
- Funzione di densità e funzione di massa: perché una variabile continua ha probabilità zero in un punto
- Valore atteso, varianza e covarianza: dove si trova una distribuzione, quanto è larga e che cosa è legato a che cosa
- Panoramica delle distribuzioni di probabilità: Bernoulli, binomiale, Poisson, uniforme, normale ed esponenziale
- Legge dei grandi numeri e teorema del limite centrale: perché le medie si comportano in modo così prevedibile
- Statistica e stima dei parametri: massima verosimiglianza, MAP e intervalli di confidenza
- Teoria dell’informazione: entropia, entropia incrociata e divergenza KL — da dove vengono le funzioni di perdita
- Ricerca nello spazio degli stati: BFS, DFS, UCS e A* con animazioni
- Giochi e avversari: minimax, potatura alfa-beta e Monte Carlo tree search
- Soddisfacimento di vincoli: backtracking, propagazione dei vincoli e AC-3 su un sudoku e una mappa delle regioni ceche
- Logica e sistemi basati sulla conoscenza: concatenazione in avanti e all’indietro, risoluzione e sistemi esperti
- Pianificazione: STRIPS, il mondo dei blocchi, euristiche dal rilassamento e pianificazione negli agenti IA
- Ricerca locale e ricottura simulata: un commesso viaggiatore tra i capoluoghi di regione cechi
- Algoritmi genetici: popolazione, incrocio, mutazione e selezione su uno zaino per l’escursione
- Strategie evolutive e programmazione genetica: dalla regola di un quinto alla legge di Keplero
- Ottimizzazione con colonie di formiche: come una traccia di feromone trova un percorso breve
- Ottimizzazione a sciame di particelle: inerzia, esperienza propria ed esperienza dello sciame
- Neuroevoluzione: evoluzione dei pesi e della forma delle reti neurali e l’algoritmo NEAT
- Insiemi fuzzy e funzioni di appartenenza: come scrivere «un po’ caldo»
- Logica fuzzy e probabilità: perché «un po’ caldo» non significa «probabilmente caldo»
- Logica fuzzy: t-norme, implicazioni e regole SE–ALLORA
- Controllo fuzzy: Mamdani e Sugeno, dal ventilatore al pendolo inverso su un carrello
- Clustering fuzzy: l’algoritmo fuzzy c-means e i punti tra i cluster
- Sistemi neuro-fuzzy (ANFIS): regole fuzzy che imparano dai dati
- Catene di Markov: matrice di transizione, distribuzione stazionaria e PageRank
- Modelli di Markov nascosti: l’algoritmo di Viterbi e il casinò disonesto
- Reti bayesiane: perché l’erba è bagnata e che cosa significa per l’irrigatore
- Filtro di Kalman: come stimare da misure imprecise dove si trova un’auto e a che velocità va
- Tipi di apprendimento automatico: supervisionato, non supervisionato, semi-supervisionato e altri
- Prompt, contesto e RAG: come dare a un modello le informazioni giuste
- Autoencoder variazionali (VAE): immagini nuove da uno spazio latente continuo
- Reti generative avversarie (GAN): il falsario contro il detective
- Modelli di diffusione: come il rumore puro diventa un’immagine
- Processi decisionali di Markov: stati, azioni, ricompense ed equazioni di Bellman
- Q-learning e DQN: imparare il valore delle azioni, dalla tabella alla rete neurale
- Policy gradient e PPO: imparare direttamente la politica
- Come funziona un agente IA: un modello linguistico in un ciclo con strumenti
- Programmare con agenti IA: incarico, test e controllo
- Valutazione e sicurezza dei sistemi di IA: come misurare e come sorvegliare
Programma completo della serie 52 di 83 argomenti pubblicati
- Che cos’è la derivata, come si calcola e perché in un minimo vale zero.
- Che cos’è il gradiente e perché indica la direzione di salita più ripida — e −∇f verso il basso.
- Come la regola della catena calcola la retropropagazione dell’errore, passo dopo passo su un singolo neurone.
Utile sapere prima: Funzioni e applicazioni: perché ogni modello di IA è una funzione, Grafi e alberi: la struttura su cui poggiano la ricerca e le reti neurali
Un modello impara modificando i propri parametri a piccoli passi. Per sapere in quale direzione modificarli, gli serve la risposta a un’unica domanda: se giro un po’ questa manopola, come cambia l’errore? A questa domanda risponde la derivata. Per milioni di manopole contemporaneamente è il gradiente. E come calcolarlo attraverso un’intera rete neurale lo dice la regola della catena.
Questa parte è l’ultimo pezzo di matematica che ti manca per capire come impara davvero una rete neurale. Si basa sulle funzioni e sul grafo computazionale di un neurone della parte sui grafi.
1. La derivata: quanto velocemente cambia una funzione
Definizione — derivata
La derivata di una funzione f nel punto x è il limite
f ′(x) = limh → 0 (f(x + h) − f(x)) / h,
se esiste. La frazione sotto il limite è la pendenza della secante al grafico tra i punti x e x + h; la derivata è la pendenza della tangente. Altra notazione: df/dx.
La derivata è una velocità. Se f descrive dove si trova un’auto all’istante x, la derivata è la velocità sul tachimetro in quel momento. Sul grafico è l’inclinazione: derivata positiva — la funzione sale; negativa — scende; zero — è in piano.
La secante al grafico di f(x) = x2 nel punto 3 ha, per h = 2, pendenza 8; per h = 1, pendenza 7; per 0,5, pendenza 6,5 e per 0,1, pendenza 6,1. Più il passo è piccolo, più la secante si avvicina alla tangente — e la derivata è f ′(3) = 6:
2. Regole e derivate delle funzioni dell’IA
In pratica le derivate non si calcolano con il limite, ma con delle regole. Le più importanti:
Regole di derivazione
(c)′ = 0, (xn)′ = nxn−1, (ex)′ = ex, (ln x)′ = 1/x
(f + g)′ = f ′ + g ′, (cf)′ = cf ′, (fg)′ = f ′g + fg ′
| Funzione | Derivata | Dove la incontrerai |
|---|---|---|
| x2 | 2x | errore quadratico medio |
| ln x | 1/x | entropia incrociata |
| σ(x) = 1/(1 + e−x) | σ(x)(1 − σ(x)) | regressione logistica, uscita della rete |
| tanh x | 1 − tanh2 x | reti ricorrenti |
| ReLU(x) = max(0, x) | 0 per x < 0, 1 per x > 0 | strati nascosti delle reti |
Nota che la derivata della sigmoide si può calcolare a partire dal solo valore della sigmoide — questo fa risparmiare lavoro, perché la rete lo ha già calcolato durante il passaggio in avanti. E la derivata di ReLU è la più semplice possibile: o 0, o 1. Anche per questo ReLU è così apprezzata.
3. La derivata indica la strada verso il minimo
Teorema — condizione necessaria di estremo
Se una funzione derivabile f ha nel punto x* un minimo o un massimo locale, allora f ′(x*) = 0. Il viceversa non vale: f ′ = 0 può verificarsi anche in un punto di flesso (x3 in zero).
In fondo a una valle il terreno è piano. In più, la derivata ti dice da che parte scendere: se è positiva, vai a sinistra; se è negativa, a destra. È esattamente ciò che fa la discesa del gradiente — solo in milioni di dimensioni contemporaneamente.
Per f(x) = x2 si ha f ′(x) = 2x, che si annulla solo nel punto 0 — e lì c’è il minimo. Per funzioni più complicate non sappiamo risolvere l’equazione f ′ = 0, e per questo il minimo si cerca passo dopo passo: un po’ nella direzione opposta alla derivata, ricalcolare, un altro po’.
4. Derivate parziali
Definizione — derivata parziale
Per f : ℝn → ℝ, la derivata parziale rispetto a xi, ∂f/∂xi, è la derivata ordinaria rispetto a xi quando tutte le altre variabili sono tenute costanti.
In una funzione con più manopole ne giri una e lasci le altre come sono. La derivata parziale dice con quanta sensibilità il risultato reagisce proprio a quella manopola.
f(x, y) = x2y
∂f/∂x = 2xy, ∂f/∂y = x2
nel punto (3, 2): ∂f/∂x = 12, ∂f/∂y = 9
5. Il gradiente: la direzione di massima salita
Definizione — gradiente
Il gradiente di una funzione f : ℝn → ℝ è il vettore di tutte le sue derivate parziali: ∇f = (∂f/∂x1, …, ∂f/∂xn).
Teorema. Il gradiente indica la direzione in cui la funzione cresce più rapidamente, e la sua lunghezza è proprio quella massima velocità di crescita. −∇f indica la direzione di massima discesa. Il gradiente è perpendicolare alla curva di livello.
Sei su un pendio nella nebbia e senti a tentoni l’inclinazione sotto i piedi. Il gradiente è la freccia che sale nel modo più ripido possibile. Chi vuole scendere va esattamente dalla parte opposta.
Per la ciotola f(x, y) = x2 + 3y2 si ha ∇f = (2x, 6y); nel punto (1, 1) vale (2, 6). Le frecce nella figura mostrano −∇f, cioè da che parte si scende — e tutte attraversano le curve di livello perpendicolarmente verso il fondo:
Le frecce non puntano dritte al centro: nella direzione y la ciotola è più ripida, quindi lì il gradiente è più grande. È proprio questo «zigzag» che poi mette in difficoltà la discesa del gradiente nelle valli strette.
6. La regola della catena
Teorema — derivata della funzione composta
Per una funzione composta h = g ∘ f, cioè h(x) = g(f(x)), vale h ′(x) = g ′(f(x)) · f ′(x).
Nella notazione di Leibniz, se y = g(u) e u = f(x): dy/dx = (dy/du) · (du/dx). In una catena più lunga si moltiplicano tutti gli anelli.
Ingranaggi: se quando la prima ruota fa un giro la seconda ne fa tre, e la terza fa due giri per ogni giro della seconda, la terza ruota fa sei giri. Le sensibilità lungo la catena si moltiplicano.
h(x) = (2x + 1)2, esterna g(u) = u2, interna u = 2x + 1
h ′(x) = 2u · 2 = 4(2x + 1), h ′(1) = 12
7. Retropropagazione dell’errore in un singolo neurone
Ora mettiamo tutto insieme. Il neurone della parte sui grafi calcola ŷ = σ(wx + b) e il suo errore è L = (ŷ − y)2. Prendiamo l’ingresso x = 2, il peso w = 0,5, il bias b = −0,5 e la risposta corretta y = 1.
Il passaggio in avanti calcola i valori da sinistra a destra: wx = 1, z = 0,5, ŷ = σ(0,5) ≈ 0,622 e l’errore L ≈ 0,143.
Il passaggio all’indietro percorre lo stesso grafo da destra a sinistra e in ogni nodo moltiplica ciò che arriva per la derivata di quell’operazione:
∂L/∂ŷ = 2(ŷ − y) ≈ −0,755
∂L/∂z = ∂L/∂ŷ · σ(z)(1 − σ(z)) ≈ −0,755 · 0,235 ≈ −0,177
∂L/∂w = ∂L/∂z · x ≈ −0,355, ∂L/∂b = ∂L/∂z · 1 ≈ −0,177
Entrambi i gradienti sono negativi. Significa che se aumentiamo un po’ sia w sia b, l’errore diminuisce — il neurone risponderà allora più vicino a uno. La discesa del gradiente fa esattamente questo: sposta i parametri di poco nella direzione opposta al gradiente. Un’intera rete neurale impara allo stesso modo, solo che al posto di un neurone ne ha milioni e il passaggio all’indietro attraversa centinaia di strati. A proposito, il risultato si può verificare con la forza bruta — spostare w di pochissimo, ricalcolare l’errore e dividere. Viene lo stesso, solo più lentamente.
8. Le derivate nell’intelligenza artificiale
- Differenziazione automatica — librerie come PyTorch e JAX durante il calcolo costruiscono un grafo computazionale e ricavano da sole il gradiente con il passaggio all’indietro. Nessuno scrive a mano le derivate di una rete.
- La differenziazione numerica (h piccolo) è troppo lenta per milioni di parametri — un calcolo in più per ogni parametro. La retropropagazione ottiene tutte le derivate parziali al costo di circa un solo passaggio in avanti.
- Gradiente evanescente — la derivata della sigmoide è al massimo 0,25. La regola della catena attraverso cinque sigmoidi di fila moltiplica al massimo per 0,255 ≈ 0,001, così gli strati profondi quasi non imparano. Per questo negli strati nascosti si è affermata ReLU, con derivata 1.
- Il gradiente rispetto all’ingresso mostra quali pixel di un’immagine hanno influito di più sulla decisione della rete — così si disegnano le «mappe di salienza» e si cercano i punti deboli dei modelli.
9. Riepilogo
- La derivata è la velocità di variazione — la pendenza della tangente a cui si avvicinano le secanti.
- In un minimo la derivata è zero, e il suo segno dice da che parte scendere.
- La derivata parziale muove una sola manopola; il gradiente è il vettore di tutte queste derivate e punta nella salita più ripida.
- La regola della catena moltiplica le derivate degli anelli di una funzione composta.
- La retropropagazione è la regola della catena applicata a un grafo computazionale — così si calcola il gradiente di un’intera rete neurale.
La vedi diversamente? Scrivi a support@coden-app.com.