Articulo de referencia

Máquina de Boltzmann restringida

Diagrama de una máquina de Boltzmann restringida con tres unidades visibles y cuatro unidades ocultas (sin unidades de polarización) Una máquina de Boltzmann restringida ( RBM )...

Diagrama de una máquina de Boltzmann restringida con tres unidades visibles y cuatro unidades ocultas (sin unidades de polarización)

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]

Los RBM fueron propuestos inicialmente bajo el nombre de Harmonium por Paul Smolensky en 1986, [2] y cobraron importancia después de que Geoffrey Hinton y sus colaboradores usaran 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 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 ser entrenados de manera supervisada o no supervisada , dependiendo de la tarea. [ cita requerida ]

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 denominados unidades "visibles" y "ocultas", 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 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 gradientes . [12]

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" máquinas de Boltzmann restringidas y, opcionalmente, ajustando la red profunda resultante con descenso de gradiente y retropropagación . [13]

Estructura

El tipo estándar de RBM tiene unidades visibles y ocultas con valores binarios ( booleanos ) 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 (de entrada) y la unidad oculta . Además, hay pesos de sesgo (desplazamientos) para y para . Dados los pesos y sesgos, la energía de una configuración (par de vectores booleanos) ( v , h ) se define como W {\displaystyle W} m × n {\displaystyle m\times n} ( w i , j ) {\displaystyle (w_{i,j})} v i {\displaystyle v_{i}} h j {\displaystyle h_{j}} a i {\displaystyle a_{i}} v i {\displaystyle v_{i}} b j {\displaystyle b_{j}} h j {\displaystyle h_{j}}

E ( v , h ) = i a i v i j b j h j i j v i w i , j h j {\displaystyle E(v,h)=-\sum _{i}a_{i}v_{i}-\sum _{j}b_{j}h_{j}-\sum _{i}\sum _{j}v_{i}w_{i,j}h_{j}}

o, en notación matricial,

E ( v , h ) = a T v b T h v T W h . {\displaystyle E(v,h)=-a^{\mathrm {T} }v-b^{\mathrm {T} }h-v^{\mathrm {T} }Wh.}

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 de la siguiente manera: [14]

P ( v , h ) = 1 Z e E ( v , h ) {\displaystyle P(v,h)={\frac {1}{Z}}e^{-E(v,h)}}

donde es una función de partición definida como la suma de todas las configuraciones posibles, que puede interpretarse como una constante normalizadora para garantizar que las probabilidades sumen 1. La probabilidad marginal de un vector visible es la suma de todas las configuraciones posibles de la capa oculta, [14] Z {\displaystyle Z} e E ( v , h ) {\displaystyle e^{-E(v,h)}} P ( v , h ) {\displaystyle P(v,h)}

P ( v ) = 1 Z { h } e E ( v , h ) {\displaystyle P(v)={\frac {1}{Z}}\sum _{\{h\}}e^{-E(v,h)}} ,

y viceversa. Dado que la estructura gráfica subyacente del RBM es bipartita (lo que significa que no hay conexiones intracapa), las activaciones de las unidades ocultas son mutuamente independientes dadas las activaciones de las unidades visibles. A la inversa, 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

P ( v | h ) = i = 1 m P ( v i | h ) {\displaystyle P(v|h)=\prod _{i=1}^{m}P(v_{i}|h)} .

Por el contrario, la probabilidad condicional de h dado v es

P ( h | v ) = j = 1 n P ( h j | v ) {\displaystyle P(h|v)=\prod _{j=1}^{n}P(h_{j}|v)} .

Las probabilidades de activación individuales están dadas por

P ( h j = 1 | v ) = σ ( b j + i = 1 m w i , j v i ) {\displaystyle P(h_{j}=1|v)=\sigma \left(b_{j}+\sum _{i=1}^{m}w_{i,j}v_{i}\right)} y P ( v i = 1 | h ) = σ ( a i + j = 1 n w i , j h j ) {\displaystyle \,P(v_{i}=1|h)=\sigma \left(a_{i}+\sum _{j=1}^{n}w_{i,j}h_{j}\right)}

donde denota el sigmoide logístico . σ {\displaystyle \sigma }

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

P ( v i k = 1 | h ) = exp ( a i k + Σ j W i j k h j ) Σ k = 1 K exp ( a i k + Σ j W i j k h j ) {\displaystyle P(v_{i}^{k}=1|h)={\frac {\exp(a_{i}^{k}+\Sigma _{j}W_{ij}^{k}h_{j})}{\Sigma _{k'=1}^{K}\exp(a_{i}^{k'}+\Sigma _{j}W_{ij}^{k'}h_{j})}}}

donde K es el número de valores discretos que tienen los valores visibles. Se aplican en modelado de temas, [7] y 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 de los campos aleatorios de Markov . [15] [16]

El modelo gráfico de los RBM corresponde al 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 ), V {\displaystyle V} v {\displaystyle v}

arg max W v V P ( v ) {\displaystyle \arg \max _{W}\prod _{v\in V}P(v)}

o equivalentemente, maximizar la probabilidad logarítmica esperada de una muestra de entrenamiento seleccionada aleatoriamente de : [15] [16] v {\displaystyle v} V {\displaystyle V}

arg max W E [ log P ( v ) ] {\displaystyle \arg \max _{W}\mathbb {E} \left[\log P(v)\right]}

El algoritmo más utilizado para entrenar RBM, es decir, para optimizar la matriz de peso , es el algoritmo de divergencia contrastiva (CD) debido a Hinton , desarrollado originalmente para entrenar modelos PoE ( producto de expertos ). [18] [19] El algoritmo realiza un 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 propagación hacia adelante) para calcular la actualización de peso. W {\displaystyle W}

El procedimiento básico de divergencia contrastiva de un solo paso (CD-1) para una sola muestra se puede resumir de la siguiente manera:

  1. 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.
  2. Calcule el producto externo de v y h y llámelo gradiente positivo .
  3. A partir de h , muestre una reconstrucción v' de las unidades visibles y luego vuelva a muestrear las activaciones ocultas h' a partir de esto. (Paso de muestreo de Gibbs)
  4. Calcule el producto externo de v' y h' y llámelo gradiente negativo .
  5. Sea la actualización de la matriz de peso el gradiente positivo menos el gradiente negativo, multiplicado por una tasa de aprendizaje: . W {\displaystyle W} Δ W = ϵ ( v h T v h T ) {\displaystyle \Delta W=\epsilon (vh^{\mathsf {T}}-v'h'^{\mathsf {T}})}
  6. Actualice los sesgos a y b de forma análoga: , . Δ a = ϵ ( v v ) {\displaystyle \Delta a=\epsilon (v-v')} Δ b = ϵ ( h h ) {\displaystyle \Delta b=\epsilon (h-h')}

En la página de inicio de Hinton se puede encontrar una guía práctica para la formación de RBM escrita por Hinton. [14]

Máquina de Boltzmann restringida apilada

  • La diferencia entre las máquinas de Boltzmann restringidas apiladas y las RBM es que las RBM tienen conexiones laterales dentro de una capa que están prohibidas para que el análisis sea manejable. Por otro lado, la Boltzmann apilada consiste 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 Boltzmann apilado es para comprender lenguajes naturales , recuperar documentos , generar imágenes y clasificar. Estas funciones se entrenan con un preentrenamiento no supervisado y/o un 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 tiene tres capas con pesos asimétricos y se combinan dos redes en una.
  • Stacked Boltzmann comparte similitudes con RBM, la neurona de Stacked Boltzmann es una neurona de Hopfield binaria estocástica, que es la misma que la de la máquina de Boltzmann restringida. La energía tanto de Restricted Boltzmann como de RBM está dada por la medida de probabilidad de Gibbs: . El proceso de entrenamiento de Restricted Boltzmann es similar a RBM. Restricted Boltzmann entrena una capa a la vez y se aproxima al estado de equilibrio con un pase de 3 segmentos, sin realizar retropropagación. Restricted Boltzmann utiliza tanto supervisión como no supervisión en diferentes RBM para el preentrenamiento para la clasificación y el reconocimiento. El entrenamiento utiliza divergencia contrastiva con muestreo de Gibbs: Δw ij = e*(p ij - p' ij ) E = 1 2 i , j w i j s i s j + i θ i s i {\displaystyle E=-{\frac {1}{2}}\sum _{i,j}{w_{ij}{s_{i}}{s_{j}}}+\sum _{i}{\theta _{i}}{s_{i}}}
  • La fortaleza del modelo de Boltzmann restringido es que realiza una transformación no lineal, por lo que es fácil de expandir y puede dar una capa jerárquica de características. La debilidad es que tiene cálculos complicados de neuronas de valores reales y enteros. 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 artificial y aplicaciones , Lecture Notes in Computer Science, vol. 7441, Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 14–36, doi : 10.1007/978-3-642-33275-3_2 , ISBN 978-3-642-33274-6

Véase también

Referencias

  1. ^ Sherrington, David; Kirkpatrick, Scott (1975), "Modelo resoluble de un vidrio de espín", Physical Review Letters , 35 (35): 1792–1796, Bibcode :1975PhRvL..35.1792S, doi :10.1103/PhysRevLett.35.1792
  2. ^ 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 . MIT Press. págs. 194–281. ISBN. 0-262-68053-X.
  3. ^ 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 desde el original (PDF) el 23 de diciembre de 2015 . Consultado el 2 de diciembre de 2015 .
  4. ^ 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ág. 536. doi :10.1145/1390156.1390224. ISBN 978-1-60558-205-4.
  5. ^ ab 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ág. 791. doi :10.1145/1273496.1273596. ISBN 978-1-59593-793-3.
  6. ^ 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 desde el original (PDF) el 2014-12-20 . Consultado el 19 de diciembre de 2014 .
  7. ^ ab Ruslan Salakhutdinov y Geoffrey Hinton (2010). Softmax replicado: un modelo de tema no dirigido Archivado el 25 de mayo de 2012 en Wayback Machine . Sistemas de procesamiento de información neuronal 23 .
  8. ^ Bravi, Barbara; Di Gioacchino, Andrea; Fernandez-de-Cossio-Diaz, Jorge; Walczak, Aleksandra M; Mora, Thierry; Cocco, Simona; Monasson, Rémi (8 de septiembre de 2023). Bitbol, ​​Anne-Florence; Eisen, Michael B (eds.). "Un enfoque de aprendizaje por transferencia para predecir la inmunogenicidad de antígenos y la especificidad del receptor de células T". eLife . 12 : e85126. doi : 10.7554/eLife.85126 . ISSN  2050-084X. PMC 10522340 . PMID  37681658. 
  9. ^ Carleo, Giuseppe; Troyer, Matthias (10 de febrero de 2017). "Resolución del 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.
  10. ^ 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.
  11. ^ Pan, Ruizhi; Clark, Charles W. (2024). "Eficiencia de las representaciones de estados de redes neuronales de sistemas de espín cuántico unidimensionales". Physical Review Research . 6 : 023193. arXiv : 2302.00173 . doi :10.1103/PhysRevResearch.6.023193.
  12. ^ ab Miguel Á. Carreira-Perpiñán y Geoffrey Hinton (2005). Sobre el aprendizaje de divergencia contrastiva. Inteligencia Artificial y Estadística .
  13. ^ Hinton, G. (2009). "Redes de creencias profundas". Scholarpedia . 4 (5): 5947. Bibcode :2009SchpJ...4.5947H. doi : 10.4249/scholarpedia.5947 .
  14. ^ abcd Geoffrey Hinton (2010). Una guía práctica para el entrenamiento de máquinas de Boltzmann restringidas . UTML TR 2010–003, Universidad de Toronto.
  15. ^ ab 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 desde el original (PDF) el 10 de junio de 2015.
  16. ^ de 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 . Reconocimiento de patrones 47, págs. 25-39, 2014
  17. ^ 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 . American Mathematical Society. arXiv : 0908.4425 . Código Bibliográfico :2009arXiv0908.4425A.
  18. ^ Geoffrey Hinton (1999). Productos de expertos. ICANN 1999 .
  19. ^ Hinton, GE (2002). "Productos de entrenamiento de expertos minimizando la divergencia contrastiva" (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. "Un tutorial para principiantes sobre máquinas de Boltzmann restringidas". Documentación de Deeplearning4j . Archivado desde el original el 2017-02-11 . Consultado el 2018-11-15 .{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  • Nicholson, Chris; Gibson, Adam. "Understanding RBMs" (Comprensión de los RBM). Documentación de Deeplearning4j . Archivado desde el original el 20 de septiembre de 2016. Consultado el 29 de diciembre de 2014 .
  • Implementación de Bernoulli RBM en Python y tutorial
  • SimpleRBM es un código RBM muy pequeño (24 kB) que le permitirá aprender cómo aprenden y funcionan los RBM.
  • Implementación de Julia de máquinas de Boltzmann restringidas: https://github.com/cossio/RestrictedBoltzmannMachines.jl
Retrieved from "https://en.wikipedia.org/w/index.php?title=Restricted_Boltzmann_machine&oldid=1255756168"