
Una máquina de Boltzmann restringida ( RBM ) (también llamada modelo de Sherrington-Kirkpatrick restringido 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 bajo el nombre de Harmonium por Paul Smolensky en 1986, [ 2 ] y alcanzaron prominencia después de que Geoffrey Hinton y colaboradores utilizaran algoritmos de aprendizaje rápido para ellas a mediados de la década de 2000. Las RBM han encontrado aplicaciones en la reducción de dimensionalidad , [ 3 ] clasificación , [ 4 ] filtrado colaborativo , [ 5 ] aprendizaje de características , [ 6 ] modelado de temas , [ 7 ] inmunología , [ 8 ] e incluso mecánica cuántica de muchos cuerpos . [ 9 ] [ 10 ] [ 11 ]
Pueden recibir formación de forma supervisada o no supervisada , dependiendo de la tarea.
Como su nombre lo 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 (comúnmente denominados unidades "visibles" y "ocultas" respectivamente) pueden tener una conexión simétrica entre ellos; y
- No existen conexiones entre los nodos dentro de un grupo.
Por el contrario, las máquinas de Boltzmann "sin restricciones" pueden tener conexiones entre 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 gradiente . [ 12 ]
Las máquinas de Boltzmann restringidas también pueden utilizarse en redes de aprendizaje profundo . En particular, las redes de creencias profundas pueden formarse "apilando" RBM y, opcionalmente, ajustando la red profunda resultante con descenso de gradiente y retropropagación . [ 13 ]
Estructura
El tipo estándar de RBM tiene unidades ocultas y visibles de valor binario ( booleano ) y consta de una matriz de pesos.de tamañoCada elemento de pesode la matriz está asociada con la conexión entre la unidad visible (de entrada)y la unidad ocultaAdemás, existen ponderaciones de sesgo (desplazamientos).parayparaDados los pesos y 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 con las máquinas de Boltzmann generales, la distribución de probabilidad conjunta para los vectores visibles y ocultos se define en términos de la función de energía como sigue, [ 14 ]
dóndees una función de partición definida como la suma desobre todas las configuraciones posibles, lo que puede interpretarse como una constante de normalización para asegurar que las probabilidades sumen 1. La probabilidad marginal de un vector visible es la suma desobre todas las posibles configuraciones de la capa oculta, [ 14 ]
- ,
y viceversa. Dado que la estructura gráfica subyacente de la RBM es bipartita (lo que significa que no hay conexiones dentro de la capa), las activaciones de las unidades ocultas son mutuamente independientes dadas las activaciones de las unidades visibles. Recíprocamente, las activaciones de las unidades visibles son mutuamente independientes dadas las activaciones de las unidades ocultas. [ 12 ] 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
- .
Por el contrario, la probabilidad condicional de h dado v es
- .
Las probabilidades de activación individuales vienen dadas por
- y
dóndedenota la sigmoide logística .
Las unidades visibles de la máquina de Boltzmann restringida pueden ser multinomiales , aunque las unidades ocultas sean de Bernoulli . En este caso, la función logística para las unidades visibles se reemplaza 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 sistemas de recomendación . [ 5 ]
Relación con otros modelos
Las máquinas de Boltzmann restringidas son un caso especial de máquinas de Boltzmann y campos aleatorios de Markov . [ 15 ] [ 16 ]
El modelo gráfico de los RBM se corresponde con el del análisis factorial . [ 17 ]
Algoritmo de entrenamiento
Las máquinas de Boltzmann restringidas se entrenan para maximizar el producto de las probabilidades asignadas a un conjunto de entrenamiento.(una matriz, cada fila de la cual se trata como un vector visible)),
o, equivalentemente, para maximizar la probabilidad logarítmica esperada de una muestra de entrenamiento.seleccionado aleatoriamente de: [ 15 ] [ 16 ]
El algoritmo más utilizado para entrenar RBM, es decir, para optimizar la matriz de pesos., es el algoritmo de divergencia contrastiva (CD) debido a Hinton , desarrollado originalmente para entrenar modelos PoE ( producto de expertos ). [ 18 ] [ 19 ] El algoritmo realiza muestreo de Gibbs y se utiliza dentro de un procedimiento de descenso de gradiente (similar a la forma en que se utiliza la retropropagación dentro de dicho procedimiento cuando se entrenan redes neuronales de alimentación directa) para calcular la actualización de pesos.
El procedimiento básico de divergencia contrastiva de un solo paso (CD-1) para una sola muestra se puede resumir de la siguiente manera:
- Toma una muestra de entrenamiento v , calcula las probabilidades de las unidades ocultas y muestrea un vector de activación oculto 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 , se obtiene una reconstrucción v' de las unidades visibles y, a partir de ella, se vuelven a muestrear las activaciones ocultas h' . (Paso de muestreo de Gibbs)
- Calcula el producto exterior de v' y h' y llámalo gradiente negativo .
- Permitir la actualización de la matriz de pesosSea el gradiente positivo menos el gradiente negativo, multiplicado por alguna tasa de aprendizaje:.
- Actualizar los sesgos a y b de forma análoga:,.
Una guía práctica para el entrenamiento de RBM escrita por Hinton se puede encontrar en su página web. [ 14 ]
Máquina de Boltzmann restringida apilada
- La diferencia entre las Máquinas de Boltzmann Restringidas Apiladas (RBM) y las RBM radica en que las RBM tienen conexiones laterales dentro de una capa que están prohibidas para facilitar el análisis. Por otro lado, las Máquinas de Boltzmann Apiladas consisten en una combinación de una red de tres capas no supervisada con pesos simétricos y una capa superior supervisada y ajustada para reconocer tres clases.
- El uso de Stacked Boltzmann se centra en la comprensión del lenguaje natural , la recuperación de documentos , la generación de imágenes y la clasificación. Estas funciones se entrenan mediante preentrenamiento no supervisado y/o ajuste fino supervisado. A diferencia de la capa superior simétrica no dirigida, que utiliza una capa asimétrica bidireccional para la conexión de RBM, la conexión de Boltzmann restringida consta de tres capas con pesos asimétricos, y dos redes se combinan en una sola.
- El algoritmo Stacked Boltzmann comparte similitudes con la máquina de Boltzmann restringida (RBM). La neurona del Stacked Boltzmann es una neurona de Hopfield binaria estocástica, idéntica a la de la máquina de Boltzmann restringida. La energía tanto del algoritmo de Boltzmann restringida como de la RBM viene dada por la medida de probabilidad de Gibbs.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 un paso de 3 segmentos, sin realizar retropropagación. Boltzmann restringido utiliza tanto aprendizaje supervisado como no supervisado en diferentes RBM para el preentrenamiento para clasificación y reconocimiento. El entrenamiento utiliza divergencia contrastiva con muestreo de Gibbs: Δw ij = e*(p ij - p' ij ).
- La ventaja del algoritmo de Boltzmann restringido es que realiza una transformación no lineal, lo que facilita su expansión y permite crear una capa jerárquica de características. Su desventaja radica en la complejidad de los cálculos de neuronas con valores enteros y reales. No sigue el gradiente de ninguna función, por lo que la aproximación de la divergencia contrastiva a la máxima verosimilitud es improvisada. [ 14 ]
Literatura
- Fischer, Asja; Igel, Christian (2012), "Introducción a las máquinas de Boltzmann restringidas", Avances en reconocimiento de patrones, análisis de imágenes, visión por computadora y aplicaciones , Lecture Notes in Computer Science, vol. 7441, Berlín, Heidelberg: Springer Berlin Heidelberg, pp. 14–36 , doi : 10.1007/978-3-642-33275-3_2 , ISBN 978-3-642-33274-6
{{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace )
Véase también
Referencias
- ↑ Sherrington, David; Kirkpatrick, Scott (1975), "Solvable Model of a Spin-Glass", Physical Review Letters , 35 (35): 1792– 1796, Bibcode : 1975PhRvL..35.1792S , doi : 10.1103/PhysRevLett.35.1792
- ↑ Smolensky, Paul (1986). «Capítulo 6: Procesamiento de la información en sistemas dinámicos: Fundamentos de la teoría de la armonía» (PDF) . En Rumelhart, David E.; McLelland, James L. (eds.). Procesamiento distribuido en paralelo: Exploraciones en la microestructura de la cognición, Volumen 1: Fundamentos . MIT Press. pp. 194–281 . ISBN 0-262-68053-X.
- ↑ Hinton, GE; Salakhutdinov, RR (2006). "Reducción de la dimensionalidad de los datos con redes neuronales" ( PDF) . Science . 313 (5786): 504– 507. Bibcode : 2006Sci...313..504H . doi : 10.1126/science.1127647 . PMID 16873662. S2CID 1658773. Archivado del original (PDF) el 23-12-2015 . Recuperado el 02-12-2015 .
- ↑ Larochelle, H.; Bengio, Y. (2008). Clasificación mediante máquinas de Boltzmann restringidas discriminativas (PDF) . Actas de la 25.ª conferencia internacional sobre aprendizaje automático - ICML '08. p. 536. doi : 10.1145/1390156.1390224 . ISBN 978-1-60558-205-4.
- 1 2 Salakhutdinov, R.; Mnih, A.; Hinton, G. (2007). Máquinas de Boltzmann restringidas para filtrado colaborativo . Actas de la 24.ª conferencia internacional sobre aprendizaje automático - ICML '07. p. 791. doi : 10.1145/1273496.1273596 . ISBN 978-1-59593-793-3.
- ↑ Coates, Adam; Lee, Honglak; Ng, Andrew Y. (2011). Un análisis de redes de una sola capa en el aprendizaje de características no supervisado (PDF) . Conferencia Internacional sobre Inteligencia Artificial y Estadística (AISTATS). Archivado del original (PDF) el 20 de diciembre de 2014. Recuperado el 19 de diciembre de 2014 .
- 1 2 Ruslan Salakhutdinov y Geoffrey Hinton (2010). Softmax replicado: un modelo de tema no dirigido. Archivado el 25 de mayo de 2012 en Wayback Machine . Neural Information Processing Systems 23 .
- ↑ 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.). "Un enfoque de aprendizaje por transferencia para predecir la inmunogenicidad del antígeno y la especificidad del receptor de células T" . eLife . 12 e85126. doi : 10.7554/eLife.85126 . ISSN 2050-084X . PMC 10522340. PMID 37681658 .
- ↑ Carleo, Giuseppe; Troyer, Matthias (10 de febrero de 2017). "Resolviendo el problema cuántico de muchos cuerpos con redes neuronales artificiales". Science . 355 ( 6325): 602– 606. arXiv : 1606.02318 . Bibcode : 2017Sci...355..602C . doi : 10.1126/science.aag2302 . ISSN 0036-8075 . PMID 28183973. S2CID 206651104 .
- ↑ Melko, Roger G.; Carleo, Giuseppe; Carrasquilla, Juan; Cirac, J. Ignacio (septiembre de 2019). "Máquinas de Boltzmann restringidas en física cuántica" . Nature Physics . 15 (9): 887– 892. Bibcode : 2019NatPh..15..887M . doi : 10.1038/s41567-019-0545-1 . ISSN 1745-2481 . S2CID 256704838 .
- ↑ Pan, Ruizhi; Clark, Charles W. (2024). "Eficiencia de las representaciones de estado de redes neuronales de sistemas de espín cuántico unidimensionales". Physical Review Research . 6 (2) 023193. arXiv : 2302.00173 . Bibcode : 2024PhRvR...6b3193P . doi : 10.1103/PhysRevResearch.6.023193 .
- 1 2 Miguel Á. Carreira-Perpiñán y Geoffrey Hinton (2005). Sobre el aprendizaje de divergencia contrastiva . Inteligencia Artificial y Estadística .
- ↑ Hinton, G. (2009). "Redes de creencias profundas" . Scholarpedia . 4 (5): 5947. Bibcode : 2009SchpJ...4.5947H . doi : 10.4249/scholarpedia.5947 .
- 1 2 3 4 Geoffrey Hinton (2010). Una guía práctica para entrenar máquinas de Boltzmann restringidas . UTML TR 2010–003, Universidad de Toronto.
- 1 2 Sutskever, Ilya; Tieleman, Tijmen (2010). "Sobre las propiedades de convergencia de la divergencia contrastiva" (PDF) . Actas de la 13.ª Conferencia Internacional sobre IA y Estadística (AISTATS) . Archivado del original (PDF) el 10 de junio de 2015.
- 1 2 Asja Fischer y Christian Igel. Entrenamiento de máquinas de Boltzmann restringidas: una introducción. Archivado el 10 de junio de 2015 en Wayback Machine . Pattern Recognition 47, pp. 25-39, 2014
- ↑ María Angélica Cueto; Jason Morton; Bernd Sturmfels (2010). "Geometría de la máquina de Boltzmann restringida". Métodos algebraicos en estadística y probabilidad . 516. Sociedad Matemática Americana. arXiv : 0908.4425 . Bibcode : 2009arXiv0908.4425A .
- ↑ Geoffrey Hinton (1999). Productos de expertos . ICANN 1999 .
- ↑ Hinton, GE (2002). "Training Products of Experts by Minimizing Contrastive Divergence" ( PDF) . Neural Computation . 14 (8): 1771– 1800. doi : 10.1162/089976602760128018 . PMID 12180402. S2CID 207596505 .
Bibliografía
- Chen, Edwin (18 de julio de 2011). "Introducción a las máquinas de Boltzmann restringidas" . Blog de Edwin Chen .
- Nicholson, Chris; Gibson, Adam. "Tutorial para principiantes sobre máquinas de Boltzmann restringidas" . Documentación de Deeplearning4j . Archivado del original el 11 de febrero de 2017. Consultado el 15 de noviembre de 2018 .
{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace ) - Nicholson, Chris; Gibson, Adam. "Understanding RBMs" . Documentación de Deeplearning4j . Archivado del original el 20 de septiembre de 2016. Consultado el 29 de diciembre de 2014 .
Enlaces externos
- Implementación en Python de la RBM de Bernoulli y tutorial
- SimpleRBM es un código RBM muy pequeño (24 kB) que te resultará útil para aprender cómo aprenden y funcionan las RBM.
- Implementación en Julia de máquinas de Boltzmann restringidas: https://github.com/cossio/RestrictedBoltzmannMachines.jl
- Arquitecturas de redes neuronales
- Modelos estocásticos
- Aprendizaje supervisado
- Aprendizaje no supervisado