Restricted Boltzmann Machines

Figura 4.9: Restricted Boltzmann Machines.
Image fig_rbm

Il punto di svolta tra le tecniche non profonde e le tecniche profonde di addestramento è considerato il 2006 quando Hinton e altri all'University of Toronto introducono le Deep Belief Networks (DBNs) (HOT06), un algoritmo che “avidamente” addestra una struttura a strati addestrando uno strato alla volta sfruttando un algoritmo di addestramento non-supervisionato. La peculiarità delle DBN consiste nel fatto che gli strati sono costituiti da Restricted Boltzmann Machine (RBM) (Smo86,FH94).

Sia $\mathbf{v} \in \{0,1\}^{n}$ una variabile stocastica binaria associata allo stato visibile e $\mathbf{h} \in \{0,1\}^{m}$ una variabile stocastica binaria associata allo stato nascosto. Dato uno stato $(\mathbf{v}, \mathbf{h})$ l'energia della configurazione degli strati visibili e nascosti è data da (Hop82)

\begin{displaymath}
E(\mathbf{v}, \mathbf{h} ) = - \sum_{i=1}^{n} a_i v_i - \...
...}^{m} b_j h_j - \sum_{i=1}^{n} \sum_{j=1}^{m} w_{i,j} v_i h_j
\end{displaymath} (4.82)

dove $v_i$ e $h_j$ sono gli stati binari dello strato visibile e dello strato nascosto rispettivamente mentre $a_i$, $b_j$ sono i pesi e $w_{i,j}$ sono i pesi associati tra di loro. Una Boltzmann Machine è simile ad una rete di Hopfield, con la differenza che tutti gli output sono stocastici. Si può pertanto definire la Boltzmann Machine come un caso speciale di modello di Ising che a sua volta è un caso particolare di Markov Random Field. Allo stesso modo le RBM possono essere interpretate come reti neurali stocastiche dove i nodi e le connessioni corrispondono ai neuroni e alle sinapsi, rispettivamente.

La probabilità della configurazione congiunta $(\mathbf{a}, \mathbf{b}, \mathbf{W})$ è data dalla distribuzione di Boltzmann:

\begin{displaymath}
P(\mathbf{v}, \mathbf{h} ) = \frac{1}{Z(\cdot)} e^{-E(\mathbf{v}, \mathbf{h}) }
\end{displaymath} (4.83)

dove la funzione di partizionamento $Z$ è data da
\begin{displaymath}
Z=\sum_{\mathbf{v}, \mathbf{h}} e^{-E(\mathbf{v}, \mathbf{h}) }
\end{displaymath} (4.84)

somma delle energie di tutte le possibili coppie di stati visibili e nascosti.

La parola restricted fa riferimento al fatto che non sono ammesse interazioni diretta tra le unità appartenenti allo stesso strato ma solo tra strati limitrofi.

Dato un input $\mathbf{v}$, lo stato binario nascosto $h_j$ viene attivato con probabilità:

\begin{displaymath}
p(h_j = 1 \vert \mathbf{v}) = \sigma \left( b_j + \sum_i v_i w_{i,j} \right)
\end{displaymath} (4.85)

dove $\sigma(x)$ è la funzione logistica $1 / (1 + exp(-x) )$. Allo stesso modo è facile ottenere lo stato visibile dato lo stato nascosto:
\begin{displaymath}
p(v_i = 1 \vert \mathbf{h}) = \sigma \left( a_i + \sum_j h_i w_{i,j} \right)
\end{displaymath} (4.86)

Stimare i parametri del modello $(\mathbf{a}, \mathbf{b}, \mathbf{W})$ in modo da modellare correttamente la distribuzione dei dati di addestramento è un compito computazionalmente oneroso. Tuttavia, nel 2002 Hinton propose l'algoritmo di Contrastive Divergence (CD), che permette un addestramento molto più efficiente delle RBM, rendendole finalmente utilizzabili su larga scala. Una descrizione dettagliata e pratica dell'addestramento delle RBM si può trovare in (Hin12).

Paolo medici
2025-10-02