Macchine di Boltzmann ristrette – Semplificate
Cosa sono le Macchine di Boltzmann ristrette?
Le RBM sono una rete neurale artificiale a due strati con capacità generative. Hanno la capacità di imparare una distribuzione di probabilità sul suo set di input. Le RBM sono state inventate da Geoffrey Hinton e possono essere utilizzate per la riduzione della dimensionalità, la classificazione, la regressione, il filtraggio collaborativo, l’apprendimento di caratteristiche e la modellazione di argomenti.
Le RBM sono una classe speciale di macchine di Boltzmann e sono limitate in termini di connessioni tra le unità visibili e nascoste. Questo rende facile la loro implementazione rispetto alle Macchine di Boltzmann. Come detto prima, sono una rete neurale a due strati (uno è lo strato visibile e l’altro è lo strato nascosto) e questi due strati sono collegati da un grafo completamente bipartito. Questo significa che ogni nodo nello strato visibile è connesso ad ogni nodo nello strato nascosto, ma nessun nodo nello stesso gruppo è connesso all’altro. Questa restrizione permette algoritmi di addestramento più efficienti di quelli disponibili per la classe generale delle macchine di Boltzmann, in particolare l’algoritmo di divergenza contrastiva basato sul gradiente.
Una Restricted Boltzmann Machine ha questo aspetto:
Come funzionano le Restricted Boltzmann Machines?
In una RBM, abbiamo un grafo bipartito simmetrico dove non sono connesse due unità dello stesso gruppo. RBM multiple possono anche essere stacked
e possono essere messe a punto attraverso il processo di discesa del gradiente e back-propagation. Una tale rete è chiamata Deep Belief Network. Anche se le RBM sono usate occasionalmente, la maggior parte delle persone nella comunità dell’apprendimento profondo ha iniziato a sostituire il loro uso con Reti Adversariali Generali o Autocodificatori Variazionali.
RBM è una Rete Neurale Stocastica, il che significa che ogni neurone avrà un comportamento casuale quando attivato. Ci sono altri due strati di unità di bias (bias nascosto e bias visibile) in una RBM. Questo è ciò che rende le RBM diverse dagli autocodificatori. Il bias nascosto RBM produce l’attivazione nel passaggio in avanti e il bias visibile aiuta RBM a ricostruire l’input durante un passaggio all’indietro. L’input ricostruito è sempre diverso dall’input reale poiché non ci sono connessioni tra le unità visibili e quindi, nessun modo di trasferire informazioni tra di loro.
L’immagine sopra mostra il primo passo nell’addestramento di una RBM con più input. Gli ingressi sono moltiplicati per i pesi e poi aggiunti al bias. Il risultato viene poi passato attraverso una funzione di attivazione sigmoide e l’uscita determina se lo stato nascosto viene attivato o meno. I pesi saranno una matrice con il numero di nodi di input come numero di righe e il numero di nodi nascosti come numero di colonne. Il primo nodo nascosto riceverà la moltiplicazione vettoriale degli ingressi moltiplicata per la prima colonna di pesi prima che gli venga aggiunto il termine di bias corrispondente.
E se vi state chiedendo cos’è una funzione sigmoide, ecco la formula:
Quindi l’equazione che otteniamo in questo passo sarebbe,
dove h(1) e v(0) sono i vettori corrispondenti (matrici di colonne) per gli strati nascosto e visibile con l’apice come iterazione (v(0) significa l’input che forniamo alla rete) e a è il vettore bias dello strato nascosto.
(Nota che qui abbiamo a che fare con vettori e matrici e non con valori unidimensionali.)
Ora questa immagine mostra la fase inversa o fase di ricostruzione. È simile al primo passaggio ma nella direzione opposta. L’equazione risulta essere:
Leave a Reply