Le reti neurali tra probabilità, teoremi di analisi matematica e teoria dell’informazione
Leggi anche
Dal teorema di approssimazione universale alla probabilità e alla teoria dell’informazione nelle reti neurali
Le reti neurali vengono spesso presentate attraverso prospettive apparentemente diverse. Da un lato, il teorema di approssimazione universale le descrive come sistemi capaci di approssimare classi estremamente ampie di funzioni. Dall’altro, nella classificazione statistica, una rete neurale viene interpretata come un modello che cerca di stimare una distribuzione condizionata del tipo
\[ P(Y\mid X=x). \]
A questo si aggiunge un terzo elemento: l’addestramento viene frequentemente effettuato minimizzando la cross-entropy, una funzione che proviene direttamente dalla teoria della probabilità e che possiede, nello stesso tempo, una profonda interpretazione nella teoria dell’informazione.
Questi tre punti di vista non sono alternativi e non sono in contraddizione. Al contrario, descrivono livelli diversi dello stesso problema. Il teorema di approssimazione universale riguarda principalmente quali funzioni una rete può rappresentare; la teoria statistica stabilisce quale funzione sarebbe desiderabile apprendere; la cross-entropy fornisce un criterio attraverso il quale i dati possono guidare la rete verso tale funzione; la teoria dell’informazione, infine, permette di interpretare lo stesso processo in termini di informazione, sorpresa, codifica e compressione.
Lo scopo di questo saggio è ricostruire in maniera unitaria questa struttura teorica.
1. Una rete neurale è innanzitutto una funzione parametrica
Consideriamo un vettore di ingresso
\[ x\in\mathbb{R}^d. \]
Una rete neurale feed-forward realizza una funzione parametrizzata dai propri pesi e bias:
\[ f_\theta(x), \]
dove \(\theta\) rappresenta collettivamente tutti i parametri della rete.
Per esempio, un semplice strato nascosto può essere scritto nella forma
\[ f_\theta(x) = \sum_{j=1}^{m} a_j\,\sigma(w_j^\top x+b_j)+c, \]
dove \(\sigma\) è una funzione di attivazione, \(m\) è il numero di unità nascoste e \(a_j,w_j,b_j,c\) sono parametri appresi.
Da questo punto di vista, addestrare una rete significa scegliere \(\theta\) in modo che la funzione \(f_\theta\) possieda determinate proprietà.
2. Il teorema di approssimazione universale
I teoremi di approssimazione universale, nelle loro diverse formulazioni, stabiliscono essenzialmente che reti neurali sufficientemente ricche, con opportune funzioni di attivazione, possono approssimare arbitrariamente bene classi molto ampie di funzioni.
In una formulazione intuitiva, data una funzione continua
\[ f:K\rightarrow\mathbb{R}, \]
definita su un insieme compatto \(K\subset\mathbb{R}^d\), e dato un errore desiderato
\[ \varepsilon>0, \]
sotto opportune ipotesi esiste una rete neurale \(f_\theta\) tale che
\[ \sup_{x\in K}|f(x)-f_\theta(x)|<\varepsilon. \]
Il significato concettuale è potente: la classe delle funzioni rappresentabili dalle reti neurali può essere estremamente ricca.
Ma è altrettanto importante comprendere che cosa il teorema non dice.
Non dice che una particolare procedura di gradient descent troverà necessariamente i parametri desiderati. Non dice quanti dati siano necessari. Non garantisce che una rete addestrata generalizzi correttamente a dati mai osservati. Non stabilisce neppure che una determinata architettura sia efficiente nel rappresentare la funzione cercata.
Il teorema riguarda principalmente la capacità rappresentativa.
Occorre quindi distinguere almeno quattro problemi:
\[ \boxed{ \text{rappresentazione} \neq \text{identificazione statistica} \neq \text{ottimizzazione} \neq \text{generalizzazione} } \]
Il teorema di approssimazione universale affronta soprattutto il primo.
3. Qual è la funzione che vogliamo approssimare?
Per collegare questa teoria alla probabilità, consideriamo un problema di classificazione binaria. Abbiamo una variabile di ingresso \(X\) e una variabile di classe
\[ Y\in\{0,1\}. \]
Supponiamo che esista una distribuzione congiunta sconosciuta
\[ P(X,Y). \]
Questa distribuzione descrive il processo probabilistico che genera i dati.
Dalla distribuzione congiunta possiamo ricavare la distribuzione condizionata
\[ P(Y\mid X=x). \]
In particolare definiamo
\[ \eta(x)=P(Y=1\mid X=x). \]
Questa è una funzione:
\[ \eta:\mathcal{X}\rightarrow[0,1]. \]
Ed ecco il primo collegamento fondamentale con l’approssimazione universale: una probabilità condizionata può essere vista come una funzione dell’input.
La rete neurale può quindi essere utilizzata come approssimatore della funzione sconosciuta
\[ x\longmapsto P(Y=1\mid X=x). \]
Possiamo scrivere:
\[ q_\theta(x)\approx P(Y=1\mid X=x). \]
La teoria probabilistica ci dice dunque quale funzione vorremmo conoscere; la capacità rappresentativa della rete ci dice che, sotto opportune condizioni, disponiamo di una classe di funzioni abbastanza ricca da poterla approssimare.
4. Perché la probabilità condizionata è importante?
Immaginiamo un sistema che debba stabilire se un’immagine contiene un gatto. Poniamo
\[ Y=1 \]
se l’immagine contiene un gatto e
\[ Y=0 \]
altrimenti.
Per una determinata immagine \(x\), il problema teorico può essere espresso come
\[ P(Y=1\mid X=x). \]
Supponiamo, idealmente, che tale probabilità sia
\[ P(Y=1\mid X=x)=0.8. \]
Una rete perfettamente calibrata rispetto alla distribuzione reale dovrebbe produrre
\[ q_\theta(x)=0.8. \]
Se vogliamo successivamente prendere una decisione binaria, possiamo introdurre una regola decisionale, per esempio classificando come \(1\) quando
\[ q_\theta(x)>0.5. \]
Ma è importante distinguere la stima probabilistica dalla decisione. La prima cerca di stimare \(P(Y\mid X)\); la seconda trasforma quella distribuzione in un’azione o in una classe.
5. La sigmoid come parametrizzazione di una probabilità
Nel caso binario, la rete può produrre inizialmente un numero reale qualsiasi, chiamato spesso logit:
\[ z=f_\theta(x)\in\mathbb{R}. \]
Applicando la funzione sigmoid
\[ \sigma(z)=\frac{1}{1+e^{-z}}, \]
otteniamo
\[ q_\theta(x)=\sigma(f_\theta(x)), \]
con
\[
0
Possiamo quindi interpretare
\[
q_\theta(x)
\]
come il parametro di una distribuzione di Bernoulli:
\[
Q_\theta(Y=1\mid x)=q_\theta(x),
\]
\[
Q_\theta(Y=0\mid x)=1-q_\theta(x).
\]
È utile usare simboli diversi: \(P\) per la distribuzione reale sconosciuta e \(Q_\theta\) per quella proposta dal modello.
L’obiettivo ideale diventa
\[
Q_\theta(Y\mid X=x)\approx P(Y\mid X=x).
\]
Se invece
\[
Y\in\{1,\ldots,K\},
\]
la rete deve produrre una distribuzione su \(K\) classi.
I logit
\[
z_1,\ldots,z_K
\]
vengono trasformati mediante la softmax:
\[
q_{\theta,k}(x)
=
\frac{e^{z_k}}
{\sum_{j=1}^{K}e^{z_j}}.
\]
In questo modo
\[
q_{\theta,k}(x)\geq0
\]
e
\[
\sum_{k=1}^{K}q_{\theta,k}(x)=1.
\]
Il vettore
\[
Q_\theta(Y\mid x)
=
\left(
q_{\theta,1}(x),\ldots,q_{\theta,K}(x)
\right)
\]
rappresenta quindi una distribuzione di probabilità condizionata proposta dalla rete.
A questo punto abbiamo due distribuzioni:
\[
P(Y\mid X=x),
\]
che rappresenta idealmente la realtà, e
\[
Q_\theta(Y\mid X=x),
\]
che rappresenta il modello.
Vorremmo scegliere \(\theta\) affinché la seconda si avvicini alla prima.
È qui che compare la cross-entropy. Per comprenderne veramente il significato, però, è utile partire dalla teoria dell’informazione.
Supponiamo che un evento \(x\) abbia probabilità
\[
P(x).
\]
Intuitivamente, osservare un evento molto improbabile fornisce più informazione che osservare un evento quasi certo.
La teoria dell’informazione quantifica questa idea attraverso la self-information, o surprisal:
\[
I(x)=-\log P(x)
=
\log\frac{1}{P(x)}.
\]
La scelta del logaritmo non è arbitraria. Una proprietà desiderabile dell’informazione è infatti l’additività.
Se \(A\) e \(B\) sono indipendenti,
\[
P(A,B)=P(A)P(B).
\]
Vogliamo allora che
\[
I(A,B)=I(A)+I(B).
\]
E infatti:
\[
-\log[P(A)P(B)]
=
-\log P(A)-\log P(B).
\]
Se utilizziamo il logaritmo in base \(2\), l’informazione viene misurata in bit. Se utilizziamo il logaritmo naturale, viene misurata in nat.
Prima di osservare \(X\), non sappiamo quale evento si verificherà. La quantità di informazione ricevuta sarà
\[
-\log P(X).
\]
Possiamo calcolarne il valore atteso:
\[
H(P)
=
\mathbb{E}_{X\sim P}[-\log P(X)].
\]
Per una variabile discreta:
\[
\boxed{
H(P)
=
-\sum_x P(x)\log P(x)
}
\]
Questa quantità è l’entropia di Shannon.
L’entropia può quindi essere interpretata come la quantità media di informazione, o di sorpresa, generata da una sorgente.
Consideriamo una moneta equilibrata:
\[
P(T)=P(C)=\frac12.
\]
Utilizzando logaritmi in base \(2\):
\[
H(P)
=
-\frac12\log_2\frac12
-\frac12\log_2\frac12
=1.
\]
L’entropia è quindi
\[
1\text{ bit}.
\]
Se invece
\[
P(T)=0.99,\qquad P(C)=0.01,
\]
l’esito è molto più prevedibile e l’entropia è inferiore a un bit.
Una distribuzione molto concentrata contiene dunque meno incertezza di una distribuzione uniforme.
Consideriamo quattro simboli equiprobabili:
\[
P(A)=P(B)=P(C)=P(D)=\frac14.
\]
Possiamo codificarli mediante
Ogni simbolo richiede due bit.
Ma:
\[
-\log_2\frac14=2.
\]
Consideriamo ora:
\[
P(A)=\frac12,\qquad
P(B)=\frac14,\qquad
P(C)=\frac18,\qquad
P(D)=\frac18.
\]
Possiamo utilizzare, per esempio, un codice prefisso:
Le lunghezze sono:
\[
1,\;2,\;3,\;3.
\]
Ed esattamente:
\[
-\log_2\frac12=1,
\]
\[
-\log_2\frac14=2,
\]
\[
-\log_2\frac18=3.
\]
Questo mostra il legame fondamentale:
\[
\boxed{
\text{lunghezza informativa di }x
\approx
-\log_2P(x)
}
\]
Gli eventi frequenti possono essere descritti mediante codici brevi; gli eventi rari richiedono codici più lunghi.
Per un singolo simbolo non possiamo generalmente utilizzare, per esempio, \(0.47\) bit. Ma considerando sequenze sufficientemente lunghe, il significato dell’entropia emerge in maniera precisa.
Supponiamo:
\[
P(1)=0.1,\qquad P(0)=0.9.
\]
L’entropia è
\[
H(X)
=
-0.9\log_2(0.9)
-0.1\log_2(0.1)
\approx0.469.
\]
Il significato non è che un singolo simbolo venga fisicamente codificato con \(0.469\) bit, ma che, utilizzando codifiche opportune su sequenze lunghe, il numero medio di bit per simbolo può avvicinarsi a
\[
0.469.
\]
Il teorema di codifica della sorgente di Shannon stabilisce, sotto precise ipotesi, che l’entropia costituisce il limite fondamentale asintotico della compressione lossless.
Possiamo quindi interpretare:
\[
\boxed{
H(P)
\approx
\text{costo informativo medio ottimale della sorgente}
}
\]
con le necessarie precisazioni legate al tipo di sorgente e alla codifica considerata.
La ragione profonda per cui ciò è possibile emerge considerando lunghe sequenze.
Per una sorgente i.i.d.,
\[
P(x_1,\ldots,x_n)
=
\prod_{i=1}^{n}P(x_i).
\]
Pertanto:
\[
-\frac1n
\log_2P(x_1,\ldots,x_n)
=
\frac1n
\sum_{i=1}^{n}
-\log_2P(x_i).
\]
Per la legge dei grandi numeri, sotto le usuali ipotesi:
\[
-\frac1n
\log_2P(X_1,\ldots,X_n)
\rightarrow H(X).
\]
Per le sequenze tipiche:
\[
P(X_1,\ldots,X_n)
\approx
2^{-nH(X)}.
\]
Il numero delle sequenze tipiche è, grossolanamente,
\[
2^{nH(X)}.
\]
Per identificarne una occorrono quindi circa
\[
\log_2 2^{nH(X)}
=
nH(X)
\]
bit.
Da qui emerge il significato operativo dell’entropia.
Introduciamo ora due distribuzioni.
La realtà genera gli eventi secondo
\[
P(x),
\]
ma il nostro modello crede che la distribuzione sia
\[
Q(x).
\]
Se conoscessimo \(P\), il costo informativo associato a \(x\) sarebbe
\[
-\log P(x).
\]
Se invece utilizziamo \(Q\), attribuiamo all’evento il costo
\[
-\log Q(x).
\]
Ma gli eventi continuano a verificarsi secondo \(P\).
Il costo medio diventa quindi:
\[
\boxed{
H(P,Q)
=
\mathbb{E}_{X\sim P}[-\log Q(X)]
}
\]
ovvero, nel caso discreto:
\[
\boxed{
H(P,Q)
=
-\sum_xP(x)\log Q(x)
}
\]
Questa è la cross-entropy.
Il termine cross riflette precisamente la presenza di due distribuzioni: gli eventi sono mediati secondo \(P\), ma il loro costo viene valutato attraverso \(Q\).
L’entropia è:
\[
H(P)
=
-\sum_xP(x)\log P(x).
\]
La cross-entropy è:
\[
H(P,Q)
=
-\sum_xP(x)\log Q(x).
\]
Nella prima, la distribuzione vera viene valutata utilizzando se stessa. Nella seconda, utilizziamo un modello differente.
La differenza tra le due conduce direttamente a un’altra quantità fondamentale.
Calcoliamo:
\[
H(P,Q)-H(P).
\]
Otteniamo:
\[
-\sum_xP(x)\log Q(x)
+
\sum_xP(x)\log P(x),
\]
e quindi:
\[
\sum_x
P(x)
\log
\frac{P(x)}{Q(x)}.
\]
Questa quantità è la divergenza di Kullback-Leibler:
\[
\boxed{
D_{\mathrm{KL}}(P\|Q)
=
\sum_xP(x)
\log
\frac{P(x)}{Q(x)}
}
\]
Pertanto:
\[
\boxed{
H(P,Q)
=
H(P)+D_{\mathrm{KL}}(P\|Q)
}
\]
Questa relazione è centrale per comprendere la cross-entropy.
La relazione
\[
H(P,Q)
=
H(P)+D_{\mathrm{KL}}(P\|Q)
\]
può essere letta come:
\[
\boxed{
\text{costo usando }Q
=
\text{costo intrinseco di }P
+
\text{costo dovuto all’errore del modello}
}
\]
Poiché
\[
D_{\mathrm{KL}}(P\|Q)\geq0,
\]
abbiamo:
\[
H(P,Q)\geq H(P).
\]
Sotto le usuali condizioni, l’uguaglianza si verifica quando
\[
P=Q.
\]
In termini di codifica, la KL divergence può essere interpretata come il costo informativo medio aggiuntivo sostenuto quando i dati sono generati secondo \(P\), ma vengono descritti mediante un codice ottimizzato per \(Q\).
Consideriamo:
\[
P(A)=0.5,\quad
P(B)=0.25,\quad
P(C)=0.125,\quad
P(D)=0.125.
\]
L’entropia in bit è:
\[
H(P)
=
0.5(1)+0.25(2)+0.125(3)+0.125(3)
=
1.75.
\]
Supponiamo però di utilizzare il modello uniforme
\[
Q(A)=Q(B)=Q(C)=Q(D)=0.25.
\]
Secondo \(Q\), ogni simbolo costa
\[
-\log_2(0.25)=2
\]
bit.
Pertanto:
\[
H(P,Q)=2.
\]
La penalità dovuta al modello sbagliato è:
\[
D_{\mathrm{KL}}(P\|Q)
=
2-1.75
=
0.25\text{ bit}.
\]
In media, stiamo utilizzando un quarto di bit in più per simbolo perché stiamo descrivendo la sorgente attraverso una distribuzione errata.
Nel problema supervisionato non abbiamo semplicemente \(P(X)\) e \(Q(X)\), ma distribuzioni condizionate:
\[
P(Y\mid X)
\]
e
\[
Q_\theta(Y\mid X).
\]
Per ogni valore di \(X=x\), possiamo considerare la cross-entropy:
\[
H\left(
P(Y\mid x),
Q_\theta(Y\mid x)
\right).
\]
Mediando rispetto alla distribuzione degli input otteniamo il rischio di log-loss:
\[
\mathcal{R}(\theta)
=
\mathbb{E}_{(X,Y)\sim P}
\left[
-\log Q_\theta(Y\mid X)
\right].
\]
Questa è la forma teorica, o population, della cross-entropy utilizzata nell’apprendimento supervisionato.
Applicando la relazione precedente condizionatamente a \(X\), otteniamo:
\[
\boxed{
\mathcal{R}(\theta)
=
H_P(Y\mid X)
+
\mathbb{E}_{X}
\left[
D_{\mathrm{KL}}
\left(
P(Y\mid X)
\|
Q_\theta(Y\mid X)
\right)
\right]
}
\]
Questa equazione contiene gran parte della teoria che ci interessa.
Il termine
\[
H_P(Y\mid X)
\]
è l’incertezza condizionata intrinseca presente nella distribuzione reale. Non dipende dai parametri \(\theta\) della rete.
Il secondo termine:
\[
\mathbb{E}_{X}
\left[
D_{\mathrm{KL}}
\left(
P(Y\mid X)
\|
Q_\theta(Y\mid X)
\right)
\right]
\]
misura invece quanto il modello probabilistico della rete differisce, mediamente, dalla distribuzione condizionata reale.
Poiché il primo termine è costante rispetto a \(\theta\), minimizzare la cross-entropy equivale, a livello di popolazione, a minimizzare:
\[
\mathbb{E}_{X}
\left[
D_{\mathrm{KL}}
\left(
P(Y\mid X)
\|
Q_\theta(Y\mid X)
\right)
\right].
\]
Consideriamo nuovamente la classificazione binaria e fissiamo un determinato \(x\).
Poniamo:
\[
p=P(Y=1\mid X=x)
\]
e indichiamo con
\[
q=Q_\theta(Y=1\mid X=x)
\]
la probabilità proposta dalla rete.
La cross-entropy condizionata è:
\[
L(q)
=
-p\log q-(1-p)\log(1-q).
\]
Derivando:
\[
\frac{dL}{dq}
=
-\frac{p}{q}
+
\frac{1-p}{1-q}.
\]
Poniamo la derivata uguale a zero:
\[
-\frac{p}{q}
+
\frac{1-p}{1-q}
=0.
\]
Quindi:
\[
\frac{p}{q}
=
\frac{1-p}{1-q}.
\]
Da cui:
\[
p(1-q)=q(1-p).
\]
Sviluppando:
\[
p-pq=q-pq
\]
e dunque:
\[
\boxed{q=p.}
\]
Pertanto il minimo teorico viene raggiunto quando:
\[
\boxed{
Q_\theta(Y=1\mid X=x)
=
P(Y=1\mid X=x)
}
\]
quando tale distribuzione è rappresentabile dal modello e valgono le opportune condizioni.
La cross-entropy non spinge quindi semplicemente il classificatore a “indovinare la classe”. A livello di rischio atteso, è una proper scoring rule: incentiva la previsione della distribuzione probabilistica reale.
Supponiamo che per un certo tipo di input la realtà sia:
\[
P(Y=1\mid X=x)=0.7.
\]
Una rete potrebbe prevedere:
\[
q=0.51.
\]
Un’altra:
\[
q=0.70.
\]
Una terza:
\[
q=0.99.
\]
Applicando semplicemente una soglia a \(0.5\), tutte e tre producono la stessa classe:
\[
\hat Y=1.
\]
Ma probabilisticamente non sono equivalenti.
Se la vera probabilità è \(0.7\), la previsione \(0.70\) rappresenta correttamente l’incertezza; \(0.51\) la sottostima, mentre \(0.99\) manifesta un’eccessiva sicurezza.
La cross-entropy distingue queste situazioni proprio perché valuta l’intera distribuzione probabilistica e non soltanto la classe scelta.
Qui emerge un’apparente difficoltà.
Abbiamo detto che vorremmo minimizzare una quantità che coinvolge:
\[
P(Y\mid X).
\]
Ma se conoscessimo già perfettamente questa distribuzione, il problema di apprendimento sarebbe in gran parte risolto.
Nella realtà possediamo soltanto un campione:
\[
D=
\{(x_1,y_1),\ldots,(x_N,y_N)\}.
\]
Sostituiamo quindi il valore atteso teorico con una media empirica:
\[
\boxed{
\widehat{\mathcal{R}}(\theta)
=
-\frac1N
\sum_{i=1}^{N}
\log Q_\theta(y_i\mid x_i)
}
\]
Questa è la negative log-likelihood media, che nel problema di classificazione coincide con la forma empirica della cross-entropy.
Per una distribuzione di Bernoulli possiamo scrivere:
\[
Q_\theta(y\mid x)
=
q_\theta(x)^y
[1-q_\theta(x)]^{1-y}.
\]
Prendiamo il logaritmo negativo:
\[
-\log Q_\theta(y\mid x)
=
-\log
\left(
q^y(1-q)^{1-y}
\right).
\]
Utilizzando le proprietà del logaritmo:
\[
\boxed{
-\log Q_\theta(y\mid x)
=
-y\log q
-(1-y)\log(1-q)
}
\]
che è precisamente la binary cross-entropy:
\[
\boxed{
\mathcal{L}_{BCE}
=
-y\log q
-(1-y)\log(1-q).
}
\]
La formula non è quindi un artificio inventato appositamente per il deep learning: deriva direttamente dalla distribuzione di Bernoulli e dalla negative log-likelihood.
Supponiamo che la classe osservata sia
\[
y=1.
\]
La loss diventa semplicemente:
\[
-\log q.
\]
Se la rete assegna alla classe corretta:
\[
q=0.9,
\]
usando il logaritmo naturale:
\[
-\ln(0.9)\approx0.105.
\]
Se assegna:
\[
q=0.5,
\]
otteniamo:
\[
-\ln(0.5)\approx0.693.
\]
Se assegna:
\[
q=0.01,
\]
otteniamo:
\[
-\ln(0.01)\approx4.605.
\]
Una previsione sbagliata ma molto sicura viene quindi penalizzata fortemente.
Nel limite:
\[
q\rightarrow0
\quad\Longrightarrow\quad
-\log q\rightarrow+\infty.
\]
Dal punto di vista informativo, il motivo è naturale: il modello aveva dichiarato quasi impossibile un evento che si è effettivamente verificato.
Nel caso multiclasse, rappresentiamo spesso l’etichetta attraverso un vettore one-hot:
\[
y=(y_1,\ldots,y_K),
\]
dove un solo elemento vale \(1\).
La categorical cross-entropy è:
\[
\boxed{
\mathcal{L}
=
-\sum_{k=1}^{K}
y_k\log q_k.
}
\]
Poiché soltanto la componente corrispondente alla classe osservata è diversa da zero, se la classe corretta è \(c\):
\[
\mathcal{L}
=
-\log q_c.
\]
Ancora una volta, la loss misura quanto il modello fosse “sorpreso” dall’evento effettivamente osservato.
Esiste ora una seconda strada teorica che conduce esattamente alla stessa funzione.
Supponiamo che il modello parametrico sia:
\[
Q_\theta(Y\mid X).
\]
Per un dataset
\[
D=\{(x_i,y_i)\}_{i=1}^{N},
\]
la likelihood condizionata, sotto le usuali assunzioni sul campionamento, è:
\[
L(\theta)
=
\prod_{i=1}^{N}
Q_\theta(y_i\mid x_i).
\]
La maximum likelihood cerca:
\[
\theta_{\mathrm{MLE}}
=
\arg\max_\theta
\prod_{i=1}^{N}
Q_\theta(y_i\mid x_i).
\]
Poiché il logaritmo è monotono crescente:
\[
\theta_{\mathrm{MLE}}
=
\arg\max_\theta
\sum_{i=1}^{N}
\log Q_\theta(y_i\mid x_i).
\]
Cambiare il segno trasforma la massimizzazione in minimizzazione:
\[
\boxed{
\theta_{\mathrm{MLE}}
=
\arg\min_\theta
\left[
-\sum_{i=1}^{N}
\log Q_\theta(y_i\mid x_i)
\right].
}
\]
Ma questa è precisamente la negative log-likelihood, cioè la cross-entropy empirica nel caso di classificazione.
Otteniamo così:
\[
\boxed{
\text{minimizzare cross-entropy}
\Longleftrightarrow
\text{minimizzare negative log-likelihood}
\Longleftrightarrow
\text{massimizzare likelihood}
}
\]
nel contesto considerato.
Questo risultato è particolarmente significativo perché la cross-entropy emerge da tre prospettive.
Dal punto di vista statistico, massimizzare la likelihood conduce alla negative log-likelihood.
Dal punto di vista probabilistico, vogliamo che:
\[
Q_\theta(Y\mid X)
\]
si avvicini a:
\[
P(Y\mid X).
\]
Dal punto di vista della teoria dell’informazione, la cross-entropy misura il costo medio sostenuto quando una sorgente governata da \(P\) viene descritta attraverso \(Q_\theta\).
Sono tre interpretazioni dello stesso oggetto matematico.
La loss per una singola osservazione è:
\[
-\log Q_\theta(y_i\mid x_i).
\]
Poiché
\[
-\log p
\]
è il surprisal, possiamo leggere l’addestramento come il tentativo di ridurre la sorpresa media del modello rispetto ai dati osservati:
\[
\boxed{
\min_\theta
\mathbb{E}_{P(X,Y)}
[-\log Q_\theta(Y\mid X)].
}
\]
Naturalmente “sorpresa” ha qui un significato tecnico, non psicologico: è semplicemente la quantità informativa \(-\log q\).
L’interpretazione diventa ancora più concreta considerando un intero dataset.
Il modello assegna probabilità:
\[
\prod_{i=1}^{N}
Q_\theta(y_i\mid x_i).
\]
La lunghezza informativa associata è:
\[
-\log_2
\prod_{i=1}^{N}
Q_\theta(y_i\mid x_i).
\]
Utilizzando il logaritmo:
\[
=
-\sum_{i=1}^{N}
\log_2Q_\theta(y_i\mid x_i).
\]
La negative log-likelihood può quindi essere interpretata, nel quadro appropriato, come una lunghezza di descrizione.
Un modello probabilistico migliore permette di descrivere più efficientemente i dati.
Questa idea conduce naturalmente al principio del Minimum Description Length (MDL).
Una formulazione intuitiva è:
\[
\boxed{
L_{\mathrm{totale}}
=
L(\text{modello})
+
L(\text{dati}\mid\text{modello})
}
\]
Il secondo termine è collegato alla negative log-likelihood:
\[
L(\text{dati}\mid\text{modello})
\sim
-\log P(D\mid\theta).
\]
Ma un modello arbitrariamente complesso potrebbe memorizzare il dataset. Per questo, in una teoria della descrizione completa, occorre considerare anche il costo della descrizione del modello.
Emergono così collegamenti profondi tra:
Ora possiamo finalmente chiudere il cerchio.
La teoria probabilistica identifica l’oggetto ideale:
\[
P(Y\mid X=x).
\]
La cross-entropy stabilisce un criterio per confrontare la distribuzione del modello:
\[
Q_\theta(Y\mid X=x)
\]
con quella reale.
La teoria dell’informazione mostra che:
\[
H(P,Q)
=
H(P)+D_{\mathrm{KL}}(P\|Q).
\]
Di conseguenza, minimizzare la cross-entropy rispetto al modello equivale idealmente a ridurre la divergenza tra la distribuzione vera e quella appresa.
Il teorema di approssimazione universale interviene su un piano differente: ci assicura, sotto opportune ipotesi, che la classe funzionale delle reti neurali può essere sufficientemente ricca da approssimare la funzione desiderata.
Possiamo rappresentare schematicamente il ragionamento:
\[
\boxed{
\text{realtà}
\rightarrow
P(X,Y)
\rightarrow
P(Y\mid X)
}
\]
\[
\Downarrow
\]
\[
\boxed{
\text{funzione probabilistica da apprendere}
}
\]
\[
\Downarrow
\]
\[
\boxed{
Q_\theta(Y\mid X)
\quad
\text{rappresentato dalla rete neurale}
}
\]
\[
\Downarrow
\]
\[
\boxed{
\text{cross-entropy}
=
-\mathbb{E}_P[\log Q_\theta(Y\mid X)]
}
\]
\[
\Downarrow
\]
\[
\boxed{
\text{minimizzazione della KL media}
}
\]
\[
\Downarrow
\]
\[
\boxed{
Q_\theta(Y\mid X)
\approx
P(Y\mid X)
}
\]
È essenziale evitare un errore concettuale.
Dal fatto che esista una rete capace di approssimare una funzione non segue che l’algoritmo di training riesca a trovarla.
Dobbiamo distinguere:
\[
\boxed{\text{errore di approssimazione}}
\]
dovuto alla capacità limitata della classe di modelli;
\[
\boxed{\text{errore di ottimizzazione}}
\]
dovuto al fatto che l’algoritmo potrebbe non trovare il miglior parametro disponibile;
e
\[
\boxed{\text{errore statistico/generalizzazione}}
\]
dovuto al fatto che lavoriamo con un campione finito invece che con l’intera distribuzione \(P(X,Y)\).
Una rete può quindi avere enorme capacità rappresentativa e, nondimeno, apprendere male.
Idealmente vorremmo minimizzare:
\[
\mathcal{R}(\theta)
=
\mathbb{E}_{P(X,Y)}
[-\log Q_\theta(Y\mid X)].
\]
Ma \(P(X,Y)\) è sconosciuta.
Disponiamo soltanto di \(N\) osservazioni e minimizziamo:
\[
\widehat{\mathcal{R}}_N(\theta)
=
-\frac1N
\sum_{i=1}^{N}
\log Q_\theta(y_i\mid x_i).
\]
Il problema della generalizzazione consiste precisamente nel comprendere in quali condizioni una buona prestazione sul campione implica una buona prestazione sulla distribuzione da cui proverranno nuovi dati.
Pertanto:
\[
\text{capacità di rappresentare }P(Y\mid X)
\]
non equivale automaticamente a
\[
\text{capacità di stimare correttamente }P(Y\mid X)
\]
da un campione finito.
La formulazione probabilistica permette anche di comprendere un punto importante: non sempre esiste una funzione deterministica capace di prevedere perfettamente \(Y\) da \(X\).
Supponiamo che:
\[
P(Y=1\mid X=x)=0.7.
\]
Anche conoscendo perfettamente \(x\), rimane incertezza.
La rete ideale non dovrebbe necessariamente produrre sempre una certezza:
\[
q_\theta(x)=1.
\]
Dovrebbe invece, se l’obiettivo è stimare la distribuzione condizionata, produrre:
\[
q_\theta(x)=0.7.
\]
L’incertezza residua è espressa dall’entropia condizionata:
\[
H(Y\mid X).
\]
Essa rappresenta l’incertezza su \(Y\) che rimane anche dopo aver osservato \(X\).
Questo conduce naturalmente a un altro concetto centrale della teoria dell’informazione: la mutual information.
Essa può essere definita come:
\[
\boxed{
I(X;Y)
=
H(Y)-H(Y\mid X)
}
\]
e misura quanto, in media, conoscere \(X\) riduca l’incertezza su \(Y\).
Se:
\[
I(X;Y)=0,
\]
allora, nel senso probabilistico pertinente, \(X\) non fornisce informazione su \(Y\); nel caso di indipendenza:
\[
P(Y\mid X)=P(Y).
\]
Se invece \(X\) contiene informazione rilevante su \(Y\), osservare \(X\) riduce l’incertezza:
\[
H(Y\mid X)
Da questa prospettiva, un sistema di classificazione cerca di sfruttare la struttura informativa presente negli input per prevedere la distribuzione delle classi.
Supponiamo che \(Y\) rappresenti la presenza di pioggia domani.
Senza alcuna informazione meteorologica possediamo soltanto la distribuzione marginale:
\[
P(Y).
\]
La nostra incertezza è:
\[
H(Y).
\]
Introduciamo ora un vettore \(X\) contenente pressione atmosferica, umidità, temperatura, vento e immagini satellitari.
Dopo aver osservato \(X\), la distribuzione diventa:
\[
P(Y\mid X).
\]
L’incertezza residua è:
\[
H(Y\mid X).
\]
La differenza:
\[
H(Y)-H(Y\mid X)
\]
misura l’informazione media che i dati meteorologici forniscono sull’evento futuro.
Un’ultima distinzione è fondamentale.
Una rete può avere una buona accuratezza di classificazione senza produrre probabilità perfettamente calibrate.
Per esempio, due reti possono scegliere quasi sempre la stessa classe corretta, ma una può assegnare probabilità sistematicamente troppo vicine a \(1\).
Se, tra tutti i casi ai quali il modello assegna probabilità circa \(0.8\), l’evento si verifica effettivamente circa nell’80% dei casi, il modello presenta una proprietà di calibrazione coerente con quella previsione.
Quindi bisogna distinguere:
\[
\boxed{
\text{classificazione corretta}
}
\]
da
\[
\boxed{
\text{buona stima di }P(Y\mid X)
}
\]
e da
\[
\boxed{
\text{calibrazione probabilistica}
}
\]
Sono concetti collegati, ma non equivalenti.
Possiamo ora riassumere l’intero percorso.
Il mondo genera osservazioni secondo una distribuzione:
\[
\boxed{P(X,Y).}
\]
Da essa deriva la distribuzione condizionata che vorremmo conoscere:
\[
\boxed{P(Y\mid X).}
\]
La rete neurale definisce una famiglia parametrica:
\[
\boxed{Q_\theta(Y\mid X).}
\]
Il teorema di approssimazione universale fornisce risultati sulla ricchezza della classe funzionale disponibile:
\[
\boxed{
\text{rete sufficientemente ricca}
\Rightarrow
\text{grande capacità di approssimazione}
}
\]
La teoria dell’informazione definisce:
\[
\boxed{
I(x)=-\log P(x)
}
\]
e quindi:
\[
\boxed{
H(P)
=
-\mathbb{E}_P[\log P(X)].
}
\]
Quando utilizziamo un modello \(Q\):
\[
\boxed{
H(P,Q)
=
-\mathbb{E}_P[\log Q(X)].
}
\]
La differenza è:
\[
\boxed{
H(P,Q)-H(P)
=
D_{\mathrm{KL}}(P\|Q).
}
\]
Nel problema supervisionato:
\[
\boxed{
\mathcal{R}(\theta)
=
\mathbb{E}_{P(X,Y)}
[-\log Q_\theta(Y\mid X)].
}
\]
E:
\[
\boxed{
\mathcal{R}(\theta)
=
H_P(Y\mid X)
+
\mathbb{E}_X
D_{\mathrm{KL}}
\left(
P(Y\mid X)
\|
Q_\theta(Y\mid X)
\right).
}
\]
Poiché \(H_P(Y\mid X)\) non dipende da \(\theta\), minimizzare il rischio di cross-entropy significa cercare, all’interno della classe rappresentabile dalla rete, una distribuzione condizionata vicina a quella reale nel senso della KL media.
Possiamo ora osservare lo stesso processo da quattro livelli.
La rete è un approssimatore:
\[
f_\theta:x\mapsto\text{output}.
\]
Il teorema di approssimazione universale riguarda la ricchezza della famiglia di tali funzioni.
L’output viene parametrizzato come:
\[
Q_\theta(Y\mid X=x),
\]
con l’obiettivo ideale:
\[
Q_\theta(Y\mid X)
\approx
P(Y\mid X).
\]
Dai dati osservati scegliamo i parametri mediante maximum likelihood:
\[
\theta_{\mathrm{MLE}}
=
\arg\max_\theta
\prod_iQ_\theta(y_i\mid x_i),
\]
equivalentemente:
\[
\theta_{\mathrm{MLE}}
=
\arg\min_\theta
\left[
-\sum_i\log Q_\theta(y_i\mid x_i)
\right].
\]
La stessa quantità:
\[
-\log Q_\theta(y_i\mid x_i)
\]
è il surprisal dell’osservazione secondo il modello ed è collegata alla lunghezza informativa necessaria a descriverla usando quel modello probabilistico.
Il teorema di approssimazione universale, la probabilità, la statistica e la teoria dell’informazione non forniscono spiegazioni concorrenti delle reti neurali. Descrivono parti differenti di una stessa architettura concettuale.
Il teorema di approssimazione universale risponde, in termini generali, alla domanda:
«La famiglia di funzioni rappresentata dalla rete è sufficientemente ricca?»
La teoria della probabilità introduce invece la quantità che, nei problemi di classificazione probabilistica, vorremmo stimare:
\[
P(Y\mid X).
\]
La statistica ci permette di passare dalla distribuzione teorica sconosciuta a un campione finito e conduce naturalmente al principio di maximum likelihood.
La teoria dell’informazione mostra perché il logaritmo della probabilità possiede un significato fondamentale e permette di interpretare:
\[
-\log Q_\theta(Y\mid X)
\]
come sorpresa informativa e, nel quadro della codifica, come lunghezza di descrizione.
La cross-entropy unisce questi mondi:
\[
\boxed{
H(P,Q)
=
H(P)
+
D_{\mathrm{KL}}(P\|Q).
}
\]
La parte \(H(P)\) rappresenta l’incertezza intrinseca della sorgente; la parte \(D_{\mathrm{KL}}(P\|Q)\) rappresenta il costo aggiuntivo introdotto dall’utilizzo di un modello che non coincide con la distribuzione reale.
Per questo, nel caso supervisionato, minimizzare idealmente la cross-entropy significa cercare una distribuzione
\[
Q_\theta(Y\mid X)
\]
che si avvicini a
\[
P(Y\mid X).
\]
La rete neurale fornisce la famiglia di funzioni con cui costruire questa approssimazione; il teorema di approssimazione universale ne giustifica la grande capacità rappresentativa; la cross-entropy fornisce il criterio statistico-informativo di apprendimento; la maximum likelihood fornisce un’interpretazione statistica equivalente sul campione; la divergenza KL misura il divario informativo tra realtà e modello.
L’intero processo può essere condensato nella catena:
\[
\boxed{
P(X,Y)
\longrightarrow
P(Y\mid X)
\longrightarrow
Q_\theta(Y\mid X)
\longrightarrow
-\log Q_\theta(Y\mid X)
\longrightarrow
\text{cross-entropy}
\longrightarrow
D_{\mathrm{KL}}
}
\]
con il teorema di approssimazione universale che interviene sulla capacità della famiglia \(Q_\theta\) di rappresentare la funzione cercata.
Da questa prospettiva, una rete neurale di classificazione può essere interpretata non semplicemente come una macchina che associa un’etichetta a un input, ma come un modello parametrico che tenta di ricostruire una struttura probabilistica condizionata. Il suo addestramento mediante cross-entropy può essere letto contemporaneamente come massimizzazione della probabilità dei dati osservati, minimizzazione di un costo informativo e, a livello di popolazione, riduzione della divergenza tra la distribuzione predittiva del modello e quella reale.
È precisamente nella convergenza di questi punti di vista — approssimazione funzionale, probabilità, statistica e informazione — che emerge una delle fondamenta teoriche più profonde delle moderne reti neurali.
6. Il caso multiclasse e la softmax
7. Il problema fondamentale: come confrontare \(P\) e \(Q_\theta\)?
8. Informazione e sorpresa
9. Dalla sorpresa all’entropia
10. Un primo esempio: una moneta
11. Perché l’informazione si misura in bit? Il problema della codifica
A → 00
B → 01
C → 10
D → 11A → 0
B → 10
C → 110
D → 11112. Entropia e compressione
13. L’insieme tipico
14. Dall’entropia alla cross-entropy
15. Entropia e cross-entropy non sono la stessa cosa
16. La divergenza di Kullback-Leibler
17. Interpretazione informativa della KL divergence
18. Un esempio numerico di cross-entropy e KL
19. Torniamo alla rete neurale
20. La decomposizione fondamentale nel caso condizionato
21. Perché il minimo teorico restituisce \(P(Y\mid X)\)
22. Un esempio importante: perché non basta predire la classe corretta?
23. Perché nella pratica non conosciamo \(P(Y\mid X)\)?
24. La cross-entropy binaria
25. Interpretazione intuitiva della binary cross-entropy
26. Cross-entropy multiclasse
27. Il collegamento con la maximum likelihood
28. Tre teorie convergono sulla stessa funzione
29. La rete come sistema che riduce la propria sorpresa
30. Cross-entropy come lunghezza di descrizione
31. Dal principio di codifica al Minimum Description Length
32. Dove entra esattamente il teorema di approssimazione universale?
33. Approssimazione universale non significa apprendimento universale
34. Rischio teorico e rischio empirico
35. Rumore irriducibile e probabilità condizionata
36. Mutual information: quanta informazione contiene \(X\) su \(Y\)?
37. Un esempio intuitivo di mutual information
38. Accuratezza, probabilità e calibrazione non sono la stessa cosa
39. La struttura teorica complessiva
40. La stessa struttura vista da quattro prospettive
Prospettiva funzionale
Prospettiva probabilistica
Prospettiva statistica
Prospettiva informativa
Conclusione
HumAI.it – Alvise Giubelli