Una máquina de Boltzmann restringida (RBM) (también llamada modelo restringido de Sherrington-Kirkpatrick con campo externo o modelo estocástico restringido de Ising-Lenz-Little) es una red neuronal artificial estocástica generativa que puede aprender una distribución de probabilidad sobre su conjunto de entradas.
[1] Las RBM fueron propuestas inicialmente por Paul Smolensky en 1986 con el nombre de Harmonium,[2] y cobraron importancia después de que Geoffrey Hinton y sus colaboradores utilizaran algoritmos de aprendizaje rápido para ellos a mediados de la década de 2000.
Los RBM han encontrado aplicaciones en la reducción de la dimensionalidad,[3] la clasificación,[4] el filtrado colaborativo,[5] el aprendizaje de características,[6] el modelado de temas,[7] la inmunología[8] e incluso la mecánica cuántica de muchos cuerpos.
[9][10] Pueden entrenarse de forma supervisada o no supervisada, dependiendo de la tarea.
Como su nombre indica, las RBM son una variante de las máquinas de Boltzmann, con la restricción de que sus neuronas deben formar un grafo bipartito: En cambio, las máquinas de Boltzmann "no restringidas" pueden tener conexiones entre las unidades ocultas.
Esta restricción permite algoritmos de entrenamiento más eficientes que los disponibles para la clase general de máquinas de Boltzmann, en particular el algoritmo de divergencia contrastiva basado en el gradiente.
[11] Las máquinas de Boltzmann restringidas también pueden utilizarse en redes de aprendizaje profundo.
En concreto, las redes de creencias profundas pueden formarse "apilando" RBM y, opcionalmente, ajustando la red profunda resultante con descenso de gradiente y retropropagación.
[12] El tipo estándar de RBM tiene unidades ocultas y visibles con valores binarios (booleanos), y consiste en una matriz de pesos
de la matriz está asociada a la conexión entre la unidad visible (de entrada)
Además, hay pesos de sesgo (compensaciones)
Dados los pesos y los sesgos, la energía de una configuración (par de vectores booleanos) (v,h) se define como:
Al igual que en las máquinas de Boltzmann generales, la distribución de probabilidad conjunta para los vectores visible y oculto se define en términos de la función de energía de la siguiente manera,[13]
Dado que la estructura del grafo subyacente del RBM es bipartita (es decir, no hay conexiones intracapa), las activaciones de las unidades ocultas son mutuamente independientes dadas las activaciones de las unidades visibles y, a la inversa, las activaciones de las unidades visibles son mutuamente independientes dadas las activaciones de las unidades ocultas.
[11] Es decir, para m unidades visibles y n unidades ocultas, la probabilidad condicional de una configuración de las unidades visibles v, dada una configuración de las unidades ocultas h, es la siguiente:
A la inversa, la probabilidad condicional de h dada v es
Las probabilidades de activación individuales vienen dadas por
Las unidades visibles de la Máquina de Boltzmann Restringida pueden ser multinomiales, aunque las unidades ocultas sean Bernoulli.
En este caso, la función logística para las unidades visibles se sustituye por la función softmax.
[14][15] El modelo gráfico de los RBM se corresponde con el del análisis factorial.
[16] Las máquinas de Boltzmann restringidas se entrenan para maximizar el producto de las probabilidades asignadas a algún conjunto de entrenamiento
, (una matriz, cada fila de la cual se trata como un vector visible.
o, equivalentemente, maximizar la probabilidad logarítmica esperada de una muestra de entrenamiento 𝑣 seleccionada aleatoriamente desde
{\displaystyle \arg \max _{W}\mathbb {E} \left[\log P(v)\right]}
El algoritmo más utilizado para entrenar las RBM, es decir, para optimizar la matriz de pesos
, es el algoritmo de divergencia contrastiva (CD) de Hinton, desarrollado originalmente para entrenar modelos PoE (producto de expertos).
El procedimiento básico de divergencia contrastiva de un solo paso (CD-1) para una sola muestra puede resumirse del siguiente modo: En la página web de Hinton se puede encontrar una Guía práctica para la formación de los RBM.
Boltzmann restringido entrena una capa a la vez y aproxima el estado de equilibrio con una pasada de 3 segmentos, sin realizar retropropagación.
Boltzmann restringido utiliza tanto supervisado como no supervisado en diferentes RBM para el pre-entrenamiento para la clasificación y el reconocimiento.
El entrenamiento utiliza divergencia contrastiva con muestreo de Gibbs: Δwij = e*(pij - p'ij)