Una máquina de Boltzmann restringido ( RBM ) es un generador estocástico red neuronal artificial que puede aprender una distribución de probabilidad sobre su conjunto de entradas.
Los RBM fueron inventados inicialmente con el nombre de Harmonium por Paul Smolensky en 1986, [1] y cobraron prominencia después de que Geoffrey Hinton y sus colaboradores inventaran algoritmos de aprendizaje rápido para ellos a mediados de 2000. Las GBR han encontrado aplicaciones en la reducción de dimensionalidad , [2] clasificación , [3] filtrado colaborativo , [4] aprendizaje de características , [5] modelado de temas [6] e incluso en muchas mecánicas cuánticas corporales . [7] [8] Se les puede capacitar en supervisados oformas no supervisadas , 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 gráfico bipartito : un par de nodos de cada uno de los dos grupos de unidades (comúnmente conocido como "visible" y "oculto" unidades respectivamente) pueden tener una conexión simétrica entre ellos; y no hay conexiones entre nodos dentro de un grupo. Por el contrario, las máquinas 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 gradientes . [9]
Las máquinas de Boltzmann restringidas también se pueden utilizar en redes de aprendizaje profundo . En particular, las redes de creencias profundas se pueden formar "apilando" RBM y, opcionalmente, ajustando la red profunda resultante con descenso de gradiente y retropropagación . [10]
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ño . Cada elemento de peso de la matriz está asociado con la conexión entre la unidad visible (entrada) y la unidad oculta . Además, existen ponderaciones de sesgo (compensaciones) por y por . Dados 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 energética es análoga a la de una red 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 de la siguiente manera, [11]
dónde es una función de partición definida como la suma desobre todas las configuraciones posibles, que se puede interpretar 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 capas ocultas, [11]
- ,
y viceversa. Dado que la estructura gráfica subyacente de la RBM es bipartita (lo que significa que no hay conexiones entre capas), las activaciones de unidades ocultas son mutuamente independientes dadas las activaciones de unidades visibles. Por el contrario, las activaciones de unidades visibles son mutuamente independientes dadas las activaciones de unidades ocultas. [9] 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 están dadas por
- y
dónde denota el sigmoide logístico .
Las unidades visibles de la máquina de Boltzmann restringida pueden ser multinomiales , aunque las unidades ocultas son Bernoulli . [ aclaración necesaria ] En este caso, la función logística para 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 modelos de temas [6] y sistemas de recomendación . [4]
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 . [12] [13] Su modelo gráfico corresponde al del análisis factorial . [14]
Algoritmo de entrenamiento
Las máquinas de Boltzmann restringidas están capacitadas para maximizar el producto de las probabilidades asignadas a algún conjunto de capacitación. (una matriz, cada fila de la cual se trata como un vector visible ),
o de manera equivalente, para maximizar la probabilidad logarítmica esperada de una muestra de entrenamiento seleccionado al azar de : [12] [13]
El algoritmo que se utiliza con más frecuencia para entrenar las GBR, es decir, para optimizar el vector de peso. , es el algoritmo de divergencia contrastiva (CD) de Hinton , desarrollado originalmente para entrenar modelos PoE ( producto de expertos ). [15] [16] El algoritmo realiza un muestreo de Gibbs y se usa dentro de un procedimiento de descenso de gradiente (similar a la forma en que se usa la retropropagación dentro de dicho procedimiento cuando se entrena redes neuronales de alimentación anticipada) para calcular la actualización del peso.
El procedimiento básico de divergencia contrastiva de un solo paso (CD-1) para una sola muestra se puede resumir de la siguiente manera:
- Tome una muestra de entrenamiento v , calcule las probabilidades de las unidades ocultas y muestree un vector de activación oculto h de esta distribución de probabilidad.
- Calcule el producto externo de v y h y llamar a esto el gradiente positivo .
- A partir de h , muestree una reconstrucción v ' de las unidades visibles, luego vuelva a muestrear las activaciones ocultas h' a partir de esto. (Paso de muestreo de Gibbs)
- Calcule el producto externo de v ' y h' y llámelo gradiente negativo .
- Deje que la actualización a la matriz de peso sea el gradiente positivo menos el gradiente negativo, multiplicado por una tasa de aprendizaje: .
- Actualizar los sesgos una y b análoga:, .
En su página de inicio se puede encontrar una guía práctica para la formación de GBR escrita por Hinton. [11]
Ver también
- Autoencoder
- Máquina de Helmholtz
Referencias
- ^ 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 paralelo: Exploraciones en la microestructura de la cognición, Volumen 1: Fundamentos . Prensa del MIT. págs. 194-281 . ISBN 0-262-68053-X.
- ^ Hinton, GE; Salakhutdinov, RR (2006). "Reducir la dimensionalidad de los datos con redes neuronales" (PDF) . Ciencia . 313 (5786): 504–507. Código bibliográfico : 2006Sci ... 313..504H . doi : 10.1126 / science.1127647 . PMID 16873662 . S2CID 1658773 .
- ^ Larochelle, H .; Bengio, Y. (2008). Clasificación mediante máquinas de Boltzmann discriminativas restringidas (PDF) . Actas de la 25a conferencia internacional sobre aprendizaje automático - ICML '08. pag. 536. doi : 10.1145 / 1390156.1390224 . ISBN 9781605582054.
- ^ a b Salakhutdinov, R .; Mnih, A .; Hinton, G. (2007). Máquinas Boltzmann restringidas para filtrado colaborativo . Actas de la 24a conferencia internacional sobre aprendizaje automático - ICML '07. pag. 791. doi : 10.1145 / 1273496.1273596 . ISBN 9781595937933.
- ^ Coates, Adam; Lee, Honglak; Ng, Andrew Y. (2011). Un análisis de redes de una sola capa en el aprendizaje de funciones no supervisado (PDF) . Congreso Internacional de Inteligencia Artificial y Estadística (AISTATS).
- ↑ a b Ruslan Salakhutdinov y Geoffrey Hinton (2010). Softmax replicado: un modelo de tema no dirigido . Sistemas de procesamiento de información neuronal 23 .
- ^ Carleo, Giuseppe; Troyer, Matthias (10 de febrero de 2017). "Resolver el problema cuántico de muchos cuerpos con redes neuronales artificiales". Ciencia . 355 (6325): 602–606. arXiv : 1606.02318 . Código bibliográfico : 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" . Física de la naturaleza . 15 (9): 887–892. Código bibliográfico : 2019NatPh..15..887M . doi : 10.1038 / s41567-019-0545-1 . ISSN 1745-2481 .
- ^ a b Miguel Á. Carreira-Perpiñán y Geoffrey Hinton (2005). Sobre el aprendizaje por divergencia contrastiva . Inteligencia artificial y estadística .
- ^ Hinton, G. (2009). "Redes de creencias profundas" . Scholarpedia . 4 (5): 5947. Código bibliográfico : 2009SchpJ ... 4.5947H . doi : 10.4249 / scholarpedia.5947 .
- ↑ a b c Geoffrey Hinton (2010). Una guía práctica para la formación de máquinas Boltzmann restringidas . UTML TR 2010–003, Universidad de Toronto.
- ^ a b Sutskever, Ilya; Tieleman, Tijmen (2010). "Sobre las propiedades de convergencia de la divergencia contrastiva" (PDF) . Proc. 13a Conf. Internacional Sobre IA y estadística (AISTATS) . Archivado desde el original (PDF) el 10 de junio de 2015.
- ↑ a b Asja Fischer y Christian Igel. Entrenamiento de máquinas Boltzmann restringidas: una introducción Archivado el 10 de junio de 2015 en la Wayback Machine . Reconocimiento de patrones 47, págs.25-39, 2014
- ^ María Angélica Cueto; Jason Morton; Bernd Sturmfels (2010). "Geometría de la máquina de Boltzmann restringida" (PDF) . Métodos algebraicos en estadística y probabilidad . Sociedad Matemática Estadounidense. 516 . arXiv : 0908.4425 . Código Bibliográfico : 2009arXiv0908.4425A .[ enlace muerto permanente ]
- ^ Geoffrey Hinton (1999). Productos de expertos . ICANN 1999 .
- ^ Hinton, GE (2002). "Productos de formación de expertos minimizando la divergencia contrastiva" (PDF) . Computación neuronal . 14 (8): 1771-1800. doi : 10.1162 / 089976602760128018 . PMID 12180402 . S2CID 207596505 .
enlaces externos
- Introducción a las máquinas Boltzmann restringidas . Blog de Edwin Chen, 18 de julio de 2011.
- "Una guía para principiantes de máquinas Boltzmann restringidas" . Archivado desde el original el 11 de febrero de 2017 . Consultado el 15 de noviembre de 2018 .CS1 maint: bot: estado de URL original desconocido ( enlace ). Documentación de Deeplearning4j
- "Comprensión de las GBR" . Archivado desde el original el 20 de septiembre de 2016 . Consultado el 29 de diciembre de 2014 .. Documentación de Deeplearning4j
- Implementación en Python de Bernoulli RBM y tutorial
- SimpleRBM es un código RBM muy pequeño (24kB) útil para que aprenda cómo aprenden y funcionan los RBM.