Restricted Boltzmann Machines

Figura 4.9: Restricted Boltzmann Machines.
Image fig_rbm

Il punto di rottura 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) (FH94,Smo86).

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)

Ottenere il modello $(\mathbf{a}, \mathbf{b}, \mathbf{W})$ che permetta di rappresentare tutti i valori di ingresso in addestramento è un compito tuttavia molto complesso. Una procedura molto più veloce è stata proposta da Hinton nel 2002: solo da quel momento infatti le RBM possono venire addestrate con l'algoritmo di contrastive divergence (CD) (Hin12).

Paolo medici
2025-03-12