Auto-Encoders

Gli Auto-Encoders sono particolari tipi di reti neurali non supervisionato che cercano di approssimare le RBM addestrate con l'algoritmo di Contrastive Divergence. Un Auto-Encoders (e in questo le RBM sono una perfetta rappresentazione) permette di codificare l'ingresso $\mathbf {x}$ sotto forma di una rappresentazione $\mathbf{c}(\mathbf{x})$ in modo che comunque l'ingresso possa in qualche modo essere ricostruito, minimizzando la negative log-likelihood
\begin{displaymath}
-\log P \left(\mathbf{x} \vert \mathbf{c}(\mathbf{x}) \right)
\end{displaymath} (4.87)

È da notare che nel caso in cui la distribuzione fosse gaussiana si riotterebbe la classifica forma della regressione ai minimi quadrati (vedi sezione 2.8).

Quando invece gli ingressi $\mathbf{x}_i$ sono binari (o comunque la distribuzione è di tipo binomiale) allora la funzione costo diventa

\begin{displaymath}
-\log (P \left(\mathbf{x} \vert \mathbf{c}(\mathbf{x}) \ri...
...log \left( 1 - \mathbf{f}_i( \mathbf{c}(\mathbf{x}) ) \right)
\end{displaymath} (4.88)

dove $\mathbf{f}(\cdot)$ è il decoder associato all'encoder $\mathbf{c}(\cdot)$.

La funzione $\mathbf{c}(\mathbf{x})$ è una funzione di compressione con perdita (lossy). Tale funzione è di fatto una buona compressione solamente per i dati visti durante la fase di addestramento non supervisionato ma non lo sarà per tutti i dati in generale non coinvolti nella fase di apprendimento.

Paolo medici
2025-03-12