Máquina de Boltzmann restringida
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:
- 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
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Restricted_Boltzmann_machine.svg/220px-Restricted_Boltzmann_machine.svg.png)
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
y
donde denota el sigmoide logístico.
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]
Relación con otros modelos
Las máquinas de Boltzmann restringidas son un caso especial de las máquinas de Boltzmann y los campos aleatorios de Markov.[14][15]
El modelo gráfico de los RBM se corresponde con el del análisis factorial.[16]
Algoritmo de formación
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.
- Calcula el producto exterior de v y h y llámalo gradiente positivo.
- 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]
Máquina de Boltzmann restringida y apilada
- 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, ISBN 978-3-642-33274-6 .
Véase también
- Autocodificador
- Máquina de Helmholtz
Referencias
- ↑ Sherrington, David; Kirkpatrick, Scott (1975). «"Solvable Model of a Spin-Glass"». Physical Review Letters. doi:10.1103/PhysRevLett.35.1792.
- ↑ Smolensky, Paul (1986). «"Chapter 6: Information Processing in Dynamical Systems: Foundations of Harmony Theory». In Rumelhart, David E.; McLelland, James L. (eds.). Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Volume 1: Foundations. MIT Press. ISBN 0-262-68053-X.
- ↑ Hinton, G. E.; Salakhutdinov, R. R. (2006). «"Reducing the Dimensionality of Data with Neural Networks». Science. PMID 16873662. doi:10.1126/science.1127647. Archivado desde el original el 23 de diciembre de 2015. Consultado el 5 de abril de 2024.
- ↑ Larochelle, H.; Bengio, Y. (2008). «Classification using discriminative restricted Boltzmann machines». Proceedings of the 25th international conference on Machine learning - ICML '08. ISBN 978-1-60558-205-4. doi:10.1145/1390156.1390224.
- ↑ a b Salakhutdinov, R.; Mnih, A.; Hinton, G. (2007). «Restricted Boltzmann machines for collaborative filtering». Proceedings of the 24th international conference on Machine learning - ICML '07. ISBN 978-1-59593-793-3. doi:10.1145/1273496.1273596.
- ↑ Coates, Adam; Lee, Honglak; Ng, Andrew Y. (2011). «An analysis of single-layer networks in unsupervised feature learning». International Conference on Artificial Intelligence and Statistics (AISTATS). Archivado desde el original el 20 de diciembre de 2014. Consultado el 5 de abril de 2024.
- ↑ a b Ruslan Salakhutdinov and Geoffrey Hinton (2010). «Replicated softmax: an undirected topic model». Neural Information Processing Systems. Archivado desde el original el 25 de mayo de 2012. Consultado el 5 de abril de 2024.
- ↑ Bravi, Barbara; Di Gioacchino, Andrea; Fernandez-de-Cossio-Diaz, Jorge; Walczak, Aleksandra M; Mora, Thierry; Cocco, Simona; Monasson, Rémi (2023-09-08). Bitbol, Anne-Florence; Eisen, Michael B (eds.) (2023). «"A transfer-learning approach to predict antigen immunogenicity and T-cell receptor specificity». eLife. PMID 37681658. doi:10.7554/eLife.85126.
- ↑ Carleo, Giuseppe; Troyer, Matthias (2017). «"Solving the quantum many-body problem with artificial neural networks"». Science. PMID 28183973. doi:10.1126/science.aag2302.
- ↑ Melko, Roger G.; Carleo, Giuseppe; Carrasquilla, Juan; Cirac, J. Ignacio (2019). «"Restricted Boltzmann machines in quantum physics"». Nature Physics. ISSN 1745-2481. doi:10.1038/s41567-019-0545-1.
- ↑ a b Miguel Á. Carreira-Perpiñán and Geoffrey Hinton (2005). «On contrastive divergence learning». Artificial Intelligence and Statistics.
- ↑ Hinton, Geoffrey E. (31 de mayo de 2009). «Deep belief networks». Scholarpedia (en inglés) 4 (5): 5947. ISSN 1941-6016. doi:10.4249/scholarpedia.5947. Consultado el 5 de abril de 2024.
- ↑ a b c Geoffrey Hinton (2010). «A Practical Guide to Training Restricted Boltzmann Machines». UTML TR 2010–003, University of Toronto.
- ↑ Sutskever, Ilya; Tieleman, Tijmen (2010). «On the convergence properties of contrastive divergence». Proc. 13th Int'l Conf. On AI and Statistics (AISTATS). Archivado desde el original el 10 de junio de 2015. Consultado el 5 de abril de 2024.
- ↑ Asja Fischer and Christian Igel (2015). «Training Restricted Boltzmann Machines: An Introduction». Pattern Recognition 47. Archivado desde el original el 10 de junio de 2015. Consultado el 5 de abril de 2024.
- ↑ 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.
- ↑ Geoffrey Hinton (1999). «Products of Experts». ICANN 1999.
- ↑ Hinton, G. E. (2002). «Training Products of Experts by Minimizing Contrastive Divergence». Neural Computation. PMID 12180402. doi:10.1162/089976602760128018.
Bibliografía
- Chen, Edwin (18 de julio de 2011). «Introduction to Restricted Boltzmann Machines». Edwin Chen's blog.
- Nicholson, Chris; Gibson, Adam. «A Beginner's Tutorial for Restricted Boltzmann Machines». Deeplearning4j Documentation. Archivado desde el original el 11 de febrero de 2017. Consultado el 15 de noviembre de 2018.
- 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.
Enlaces externos
- Python implementation of Bernoulli RBM and tutorial
- SimpleRBM is a very small RBM code (24kB) useful for you to learn about how RBMs learn and work.
- Julia implementation of Restricted Boltzmann machines: https://github.com/cossio/RestrictedBoltzmannMachines.jl
Datos: Q7316287