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 artificialestocástica generativa que puede aprender una distribución de probabilidad sobre su conjunto de entradas.[1]
un par de nodos de cada uno de los dos grupos de unidades (denominados comúnmente unidades "visibles" y "ocultas", respectivamente) pueden tener una conexión simétrica entre ellos; y
no hay conexiones entre los nodos de un grupo.
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]
Estructura
El tipo estándar de RBM tiene unidades ocultas y visibles con valores binarios (booleanos), y consiste en una matriz de pesos del tamaño . Cada elemento de peso de la matriz está asociada a la conexión entre la unidad visible (de entrada) y la unidad oculta . Además, hay pesos de sesgo (compensaciones) para y para . Dados los pesos y los sesgos, la energía de una configuración (par de vectores booleanos) (v,h) se define como:
o, en notación matricial
Esta función de energía es análoga a la de una red de Hopfield. 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]
donde y viceversa. 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.
donde K es el número de valores discretos que tienen los valores visibles. Se aplican en el modelado de temas[7] y en los sistemas de recomendación.[5]
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 :
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).[17][18] El algoritmo realiza un muestreo de Gibbs y se utiliza dentro de un procedimiento de descenso de gradiente (de forma similar a como se utiliza la retropropagación dentro de un procedimiento de este tipo cuando se entrenan redes neuronales feedforward) para calcular la actualización de pesos.
El procedimiento básico de divergencia contrastiva de un solo paso (CD-1) para una sola muestra puede resumirse del siguiente modo:
Toma una muestra de entrenamiento v, calcula las probabilidades de las unidades ocultas y muestrea un vector de activación oculta h a partir de esta distribución de probabilidad.
A partir de h, muestrea una reconstrucción v' de las unidades visibles y, a continuación, vuelve a muestrear las activaciones ocultas h' a partir de ella. (Paso de muestreo de Gibbs)
Calcula el producto exterior de v' y h' y llámalo gradiente negativo.
Que la actualización de la matriz de pesos el gradiente positivo menos el gradiente negativo, multiplicado por una tasa de aprendizaje:
Actualice los sesgos a y b de forma análoga ,
En la página web de Hinton se puede encontrar una Guía práctica para la formación de los RBM.[13]
La diferencia entre las máquinas de Boltzmann restringidas apiladas y las RBM es que estas últimas tienen conexiones laterales dentro de una capa que están prohibidas para que el análisis sea manejable. Por otro lado, la Máquina de Boltzmann restringida y apilada (Stacked Boltzmann) consiste en una combinación de una red no supervisada de tres capas con pesos simétricos y una capa superior supervisada de ajuste fino para reconocer tres clases.
El uso de la Máquina de Boltzmann restringida y apilada es comprender lenguajes naturales, recuperar documentos, generación de imágenes y clasificación. Estas funciones se entrenan con preentrenamiento no supervisado y/o ajuste fino supervisado. A diferencia de la capa superior simétrica no dirigida, con una capa asimétrica bidireccional para la conexión para RBM. La conexión de Boltzmann restringida es de tres capas con pesos asimétricos, y dos redes se combinan en una.
Stacked Boltzmann comparte similitudes con RBM, la neurona para Stacked Boltzmann es una neurona estocástica binaria Hopfield, que es la misma que la Máquina de Boltzmann Restringida. La energía tanto de la Boltzmann restringida como de la RBM viene dada por la medida de probabilidad de Gibb:
El proceso de entrenamiento de Boltzmann restringido es similar al de 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)
El punto fuerte del Boltzmann restringido es que realiza una transformación no lineal, por lo que es fácil de ampliar, y puede dar una capa jerárquica de características. La debilidad es que tiene cálculos complicados de neuronas enteras y de valor real. No sigue el gradiente de ninguna función, por lo que se improvisa la aproximación de la divergencia contrastiva a la máxima verosimilitud.[13]
Literatura
Fischer, Asja; Igel, Christian (2012), «An Introduction to Restricted Boltzmann Machines», Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications, Lecture Notes in Computer Science (Berlin, Heidelberg: Springer Berlin Heidelberg) 7441: 14-36, ISBN978-3-642-33274-6.
↑ abSalakhutdinov, R.; Mnih, A.; Hinton, G. (2007). «Restricted Boltzmann machines for collaborative filtering». Proceedings of the 24th international conference on Machine learning - ICML '07. ISBN978-1-59593-793-3. doi:10.1145/1273496.1273596.
↑María Angélica Cueto; Jason Morton; Bernd Sturmfels (2010). «"Geometry of the restricted Boltzmann machine"». Algebraic Methods in Statistics and Probability. 516. American Mathematical Society.
Nicholson, Chris; Gibson, Adam. «Understanding RBMs». Deeplearning4j Documentation. Archivado desde el original el 20 de septiembre de 2016. Consultado el 29 de diciembre de 2014.