Auto-Encoders

Gli Auto-Encoders sono particolari tipi di reti neurali non supervisionate che mirano a codificare l'ingresso $\mathbf {x}$ in una rappresentazione compatta $\mathbf{c}(\mathbf{x})$, tale da permettere la ricostruzione dell'ingresso stesso. In questo senso, gli Auto-Encoders possono essere visti come un'alternativa alle RBM addestrate con l'algoritmo di Contrastive Divergence, con cui condividono l'obiettivo di apprendere rappresentazioni latenti significative.

La rete è composta da due parti:

L'obiettivo è minimizzare la negative log-likelihood della ricostruzione:

\begin{displaymath}
-\log P \left(\mathbf{x} \vert \mathbf{c}(\mathbf{x}) \right)
\end{displaymath} (4.87)

Nel caso in cui la distribuzione dei dati sia gaussiana, questa espressione si riduce alla classica regressione ai minimi quadrati (vedi sezione 2.8).

Se invece gli ingressi $\mathbf{x}_i$ sono binari (o seguono una distribuzione binomiale), la funzione costo diventa:

\begin{displaymath}
-\log P \left(\mathbf{x} \vert \mathbf{c}(\mathbf{x}) \rig...
...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})$ rappresenta una compressione con perdita (lossy compression). Essa è efficace nel rappresentare i dati visti durante la fase di addestramento non supervisionato, ma può risultare sub-ottimale per dati non appartenenti al dominio di addestramento.

Paolo medici
2025-10-02