stringtranslate.com

Máquina de Boltzmann

Una representación gráfica de un ejemplo de máquina de Boltzmann.
Representación gráfica de un ejemplo de máquina de Boltzmann. Cada arista no dirigida representa una dependencia. En este ejemplo hay 3 unidades ocultas y 4 unidades visibles. No se trata de una máquina de Boltzmann restringida.

Una máquina de Boltzmann (también llamada modelo de Sherrington-Kirkpatrick con campo externo o modelo estocástico de Ising ), llamada así en honor a Ludwig Boltzmann, es un modelo de vidrio de espín con un campo externo, es decir, un modelo de Sherrington-Kirkpatrick , [1] que es un modelo estocástico de Ising . Es una técnica de física estadística aplicada en el contexto de la ciencia cognitiva . [2] También se clasifica como un campo aleatorio de Markov . [3]

Las máquinas de Boltzmann son intrigantes en teoría debido a la localidad y la naturaleza hebbiana de su algoritmo de entrenamiento (al ser entrenadas por la regla de Hebb), y debido a su paralelismo y la semejanza de su dinámica con procesos físicos simples . Las máquinas de Boltzmann con conectividad sin restricciones no han demostrado ser útiles para problemas prácticos en aprendizaje automático o inferencia , pero si la conectividad está restringida adecuadamente, el aprendizaje puede hacerse lo suficientemente eficiente como para ser útil para problemas prácticos. [4]

Su nombre se debe a la distribución de Boltzmann en mecánica estadística , que se utiliza en su función de muestreo . Fueron muy popularizados y promovidos por Geoffrey Hinton , Terry Sejnowski y Yann LeCun en las comunidades de ciencias cognitivas, particularmente en aprendizaje automático , [2] como parte de los " modelos basados ​​en energía " (EBM), porque los hamiltonianos de los vidrios de espín como energía se utilizan como punto de partida para definir la tarea de aprendizaje. [5]

Estructura

Una representación gráfica de un ejemplo de máquina de Boltzmann con etiquetas de peso.
Representación gráfica de una máquina de Boltzmann con algunos pesos etiquetados. Cada arista no dirigida representa una dependencia y se pondera con un peso . En este ejemplo, hay 3 unidades ocultas (azules) y 4 unidades visibles (blancas). Esta no es una máquina de Boltzmann restringida.

Una máquina de Boltzmann, al igual que un modelo de Sherrington–Kirkpatrick , es una red de unidades con una "energía" total ( Hamiltoniano ) definida para la red general. Sus unidades producen resultados binarios . Los pesos de la máquina de Boltzmann son estocásticos . La energía global en una máquina de Boltzmann es idéntica en forma a la de las redes de Hopfield y los modelos de Ising :

Dónde:

A menudo, los pesos se representan como una matriz simétrica con ceros a lo largo de la diagonal.

Probabilidad del estado de la unidad

La diferencia en la energía global que resulta de una sola unidad igual a 0 (apagado) versus 1 (encendido), escrita , asumiendo una matriz simétrica de pesos, viene dada por:

Esto se puede expresar como la diferencia de energías de dos estados:

Sustituyendo la energía de cada estado por su probabilidad relativa según el factor de Boltzmann (la propiedad de una distribución de Boltzmann de que la energía de un estado es proporcional a la probabilidad logarítmica negativa de ese estado) se obtiene:

donde es la constante de Boltzmann y se absorbe en la noción artificial de temperatura . Observar que las probabilidades de que la unidad esté encendida o apagada suman permite la simplificación:

De donde la probabilidad de que la unidad -ésima esté dada por

donde el escalar se denomina temperatura del sistema. Esta relación es la fuente de la función logística que se encuentra en las expresiones de probabilidad de las variantes de la máquina de Boltzmann.

Estado de equilibrio

La red funciona eligiendo repetidamente una unidad y restableciendo su estado. Después de funcionar durante un tiempo suficiente a una determinada temperatura, la probabilidad de un estado global de la red depende únicamente de la energía de ese estado global, según una distribución de Boltzmann , y no del estado inicial desde el que se inició el proceso. Esto significa que las probabilidades logarítmicas de los estados globales se vuelven lineales en sus energías. Esta relación es cierta cuando la máquina está "en equilibrio térmico ", lo que significa que la distribución de probabilidad de los estados globales ha convergido. Al ejecutar la red a partir de una temperatura alta, su temperatura disminuye gradualmente hasta alcanzar un equilibrio térmico a una temperatura más baja. Luego puede converger a una distribución donde el nivel de energía fluctúa alrededor del mínimo global. Este proceso se llama recocido simulado .

Para entrenar la red de modo que la probabilidad de convergencia a un estado global de acuerdo con una distribución externa sobre estos estados sea la adecuada, los pesos deben establecerse de modo que los estados globales con las mayores probabilidades obtengan las energías más bajas. Esto se hace mediante el entrenamiento.

Capacitación

Las unidades en la máquina de Boltzmann se dividen en unidades 'visibles', V, y unidades 'ocultas', H. Las unidades visibles son aquellas que reciben información del 'entorno', es decir, el conjunto de entrenamiento es un conjunto de vectores binarios sobre el conjunto V. La distribución sobre el conjunto de entrenamiento se denota .

La distribución sobre los estados globales converge a medida que la máquina de Boltzmann alcanza el equilibrio térmico . Denotamos esta distribución, después de marginalizarla sobre las unidades ocultas, como .

Nuestro objetivo es aproximarnos a la distribución "real" utilizando los valores generados por la máquina . La similitud de las dos distribuciones se mide mediante la divergencia de Kullback-Leibler :

donde la suma es sobre todos los estados posibles de . es una función de los pesos, ya que determinan la energía de un estado, y la energía determina , como lo promete la distribución de Boltzmann. Un algoritmo de descenso de gradiente sobre cambia un peso dado, , restando la derivada parcial de con respecto al peso.

El entrenamiento de la máquina de Boltzmann implica dos fases alternas. Una es la fase "positiva", en la que los estados de las unidades visibles se limitan a un vector de estado binario particular muestreado del conjunto de entrenamiento (según ). La otra es la fase "negativa", en la que se permite que la red funcione libremente, es decir, solo los nodos de entrada tienen su estado determinado por datos externos, pero se permite que los nodos de salida floten. El gradiente con respecto a un peso dado, , se da mediante la ecuación: [2]

dónde:

Este resultado se deriva del hecho de que en el equilibrio térmico la probabilidad de cualquier estado global cuando la red funciona libremente viene dada por la distribución de Boltzmann.

Esta regla de aprendizaje es biológicamente plausible porque la única información necesaria para cambiar los pesos la proporciona la información "local". Es decir, la conexión ( sinapsis , biológicamente) no necesita información sobre nada más que las dos neuronas que conecta. Esto es biológicamente más realista que la información que necesita una conexión en muchos otros algoritmos de entrenamiento de redes neuronales, como la retropropagación .

El entrenamiento de una máquina de Boltzmann no utiliza el algoritmo EM , que se utiliza mucho en el aprendizaje automático . Al minimizar la divergencia KL , es equivalente a maximizar la verosimilitud logarítmica de los datos. Por lo tanto, el procedimiento de entrenamiento realiza un ascenso de gradiente sobre la verosimilitud logarítmica de los datos observados. Esto contrasta con el algoritmo EM, donde la distribución posterior de los nodos ocultos debe calcularse antes de la maximización del valor esperado de la verosimilitud de los datos completos durante el paso M.

El entrenamiento de los sesgos es similar, pero utiliza solo la actividad de un solo nodo:

Problemas

En teoría, la máquina de Boltzmann es un medio computacional bastante general. Por ejemplo, si se la entrena con fotografías, la máquina modelaría teóricamente la distribución de fotografías y podría usar ese modelo para, por ejemplo, completar una fotografía parcial.

Desafortunadamente, las máquinas de Boltzmann experimentan un serio problema práctico, a saber, que parece dejar de aprender correctamente cuando la máquina se amplía a un tamaño mayor que un tamaño trivial. [ cita requerida ] Esto se debe a efectos importantes, específicamente:

Tipos

Máquina de Boltzmann restringida

Representación gráfica de un ejemplo de máquina de Boltzmann restringida
Representación gráfica de una máquina de Boltzmann restringida. Las cuatro unidades azules representan unidades ocultas y las tres unidades rojas estados visibles. En las máquinas de Boltzmann restringidas sólo existen conexiones (dependencias) entre unidades ocultas y visibles, y ninguna entre unidades del mismo tipo (no hay conexiones ocultas-ocultas ni visibles-visibles).

Aunque el aprendizaje no es práctico en las máquinas de Boltzmann en general, se puede hacer bastante eficiente en una máquina de Boltzmann restringida (RBM) que no permite conexiones intracapa entre unidades ocultas y unidades visibles, es decir, no hay conexión entre unidades visibles y visibles y entre unidades ocultas y ocultas. Después de entrenar una RBM, las actividades de sus unidades ocultas se pueden tratar como datos para entrenar una RBM de nivel superior. Este método de apilamiento de RBM permite entrenar muchas capas de unidades ocultas de manera eficiente y es una de las estrategias de aprendizaje profundo más comunes . A medida que se agrega cada nueva capa, el modelo generativo mejora.

Una extensión de la máquina de Boltzmann restringida permite utilizar datos con valores reales en lugar de datos binarios. [6]

Un ejemplo de una aplicación práctica del RBM es el reconocimiento de voz. [7]

Máquina de Boltzmann profunda

Una máquina de Boltzmann profunda (DBM) es un tipo de campo aleatorio binario de Markov por pares ( modelo gráfico probabilístico no dirigido ) con múltiples capas de variables aleatorias ocultas . Es una red de unidades binarias estocásticas acopladas simétricamente . Comprende un conjunto de unidades visibles y capas de unidades ocultas . Ninguna conexión vincula unidades de la misma capa (como RBM ). Para la DBM , la probabilidad asignada al vector ν es

donde son el conjunto de unidades ocultas, y son los parámetros del modelo, que representan interacciones visible-oculta y oculta-oculta. [8] En una DBN solo las dos capas superiores forman una máquina de Boltzmann restringida (que es un modelo gráfico no dirigido ), mientras que las capas inferiores forman un modelo generativo dirigido. En un DBM todas las capas son simétricas y no dirigidas.

Al igual que las DBN , las DBM pueden aprender representaciones internas complejas y abstractas de la entrada en tareas como el reconocimiento de objetos o de voz , utilizando datos limitados y etiquetados para ajustar las representaciones construidas utilizando un gran conjunto de datos de entrada sensorial no etiquetados. Sin embargo, a diferencia de las DBN y las redes neuronales convolucionales profundas , persiguen el procedimiento de inferencia y entrenamiento en ambas direcciones, de abajo hacia arriba y de arriba hacia abajo, lo que permite que la DBM revele mejor las representaciones de las estructuras de entrada. [9] [10] [11]

Sin embargo, la baja velocidad de los DBM limita su rendimiento y funcionalidad. Debido a que el aprendizaje de máxima verosimilitud exacta es intratable para los DBM, solo es posible el aprendizaje de máxima verosimilitud aproximada. Otra opción es utilizar la inferencia de campo medio para estimar las expectativas dependientes de los datos y aproximar las estadísticas suficientes esperadas mediante el uso de Monte Carlo de cadena de Markov (MCMC). [8] Esta inferencia aproximada, que debe realizarse para cada entrada de prueba, es aproximadamente de 25 a 50 veces más lenta que una sola pasada ascendente en los DBM. Esto hace que la optimización conjunta sea poco práctica para grandes conjuntos de datos y restringe el uso de los DBM para tareas como la representación de características.

RBM de punta y losa

La necesidad de un aprendizaje profundo con entradas de valor real , como en los RBM gaussianos , condujo al RBM de picos y losas ( ss RBM ), que modela entradas de valor continuo con variables latentes binarias . [12] De manera similar a los RBM básicos y sus variantes, un RBM de picos y losas es un gráfico bipartito , mientras que, como los RBM G , las unidades visibles (entrada) tienen valores reales. La diferencia está en la capa oculta, donde cada unidad oculta tiene una variable de pico binaria y una variable de losa de valor real. Un pico es una masa de probabilidad discreta en cero, mientras que una losa es una densidad sobre un dominio continuo; [13] su mezcla forma un anterior . [14]

Una extensión de ss RBM llamada μ-ss RBM proporciona una capacidad de modelado adicional mediante el uso de términos adicionales en la función de energía . Uno de estos términos permite que el modelo forme una distribución condicional de las variables de pico al marginar las variables de losa dada una observación.

En matemáticas

En un contexto matemático más general, la distribución de Boltzmann también se conoce como medida de Gibbs . En estadística y aprendizaje automático, se denomina modelo log-lineal . En aprendizaje profundo, la distribución de Boltzmann se utiliza en la distribución de muestreo de redes neuronales estocásticas, como la máquina de Boltzmann.

Historia

La máquina de Boltzmann se basa en el modelo de vidrio de espín de Sherrington-Kirkpatrick de David Sherrington y Scott Kirkpatrick . [15] La publicación seminal de John Hopfield (1982) aplicó métodos de mecánica estadística, principalmente la teoría de vidrios de espín desarrollada recientemente (en la década de 1970), para estudiar la memoria asociativa (más tarde llamada "red de Hopfield"). [16]

La contribución original en la aplicación de tales modelos basados ​​en la energía en la ciencia cognitiva apareció en los artículos de Geoffrey Hinton y Terry Sejnowski . [17] [18] [19] En una entrevista de 1995, Hinton declaró que en febrero o marzo de 1983, iba a dar una charla sobre recocido simulado en redes de Hopfield, por lo que tuvo que diseñar un algoritmo de aprendizaje para la charla, lo que resultó en el algoritmo de aprendizaje automático de Boltzmann. [20]

La idea de aplicar el modelo de Ising con muestreo de Gibbs recocido se utilizó en el proyecto Copycat de Douglas Hofstadter (1984). [21] [22]

La analogía explícita que se estableció con la mecánica estadística en la formulación de la máquina de Boltzmann condujo al uso de una terminología prestada de la física (por ejemplo, "energía"), que se convirtió en la norma en el campo. La adopción generalizada de esta terminología puede haber sido alentada por el hecho de que su uso condujo a la adopción de una variedad de conceptos y métodos de la mecánica estadística. Las diversas propuestas para utilizar el recocido simulado para la inferencia fueron aparentemente independientes.

Ideas similares (con un cambio de signo en la función de energía) se encuentran en la "Teoría de la armonía" de Paul Smolensky . [23] Los modelos de Ising se pueden generalizar a los campos aleatorios de Markov , que encuentran una amplia aplicación en lingüística , robótica , visión por computadora e inteligencia artificial .

En 2024, Hopfield y Hinton recibieron el Premio Nobel de Física por sus contribuciones fundamentales al aprendizaje automático , como la máquina de Boltzmann. [24]

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. ^ abc Ackley, David H.; Hinton, Geoffrey E.; Sejnowski, Terrence J. (1985). "Un algoritmo de aprendizaje para máquinas de Boltzmann" (PDF) . Cognitive Science . 9 (1): 147–169. doi : 10.1207/s15516709cog0901_7 . Archivado desde el original (PDF) el 18 de julio de 2011.
  3. ^ Hinton, Geoffrey E. (24 de mayo de 2007). "Máquina de Boltzmann". Scholarpedia . 2 (5): 1668. Código Bibliográfico :2007SchpJ...2.1668H. doi : 10.4249/scholarpedia.1668 . ISSN  1941-6016.
  4. ^ Osborn, Thomas R. (1 de enero de 1990). "Enseñanza rápida de máquinas de Boltzmann con inhibición local". Conferencia Internacional de Redes Neuronales . Springer Netherlands. pp. 785. doi :10.1007/978-94-009-0643-3_76. ISBN 978-0-7923-0831-7.
  5. ^ Nijkamp, ​​E.; Hill, M. E; Han, T. (2020), "Sobre la anatomía del aprendizaje de máxima verosimilitud basado en MCMC de modelos basados ​​en energía", Actas de la Conferencia AAAI sobre Inteligencia Artificial , 4 (34): 5272–5280, arXiv : 1903.12370 , doi : 10.1609/aaai.v34i04.5973
  6. ^ Recent Developments in Deep Learning, 22 de marzo de 2010, archivado desde el original el 22 de diciembre de 2021 , consultado el 17 de febrero de 2020
  7. ^ Yu, Dong; Dahl, George; Acero, Alex; Deng, Li (2011). "Redes neuronales profundas preentrenadas dependientes del contexto para el reconocimiento de voz de vocabulario extenso" (PDF) . Microsoft Research . 20 .
  8. ^ ab Hinton, Geoffrey; Salakhutdinov, Ruslan (2012). "Una mejor manera de preentrenar máquinas profundas de Boltzmann" (PDF) . Advances in Neural . 3 : 1–9. Archivado desde el original (PDF) el 2017-08-13 . Consultado el 2017-08-18 .
  9. ^ Hinton, Geoffrey; Salakhutdinov, Ruslan (2009). "Aprendizaje eficiente de las máquinas profundas de Boltzmann" (PDF) . Actas de la Duodécima Conferencia Internacional sobre Inteligencia Artificial y Estadística . Vol. 3. págs. 448–455. Archivado desde el original (PDF) el 2015-11-06 . Consultado el 2017-08-18 .
  10. ^ Bengio, Yoshua; LeCun, Yann (2007). "Ampliación de los algoritmos de aprendizaje hacia la IA" (PDF) . Universidad de Montreal (preimpresión).
  11. ^ Larochelle, Hugo; Salakhutdinov, Ruslan (2010). "Aprendizaje eficiente de las máquinas profundas de Boltzmann" (PDF) . Actas de la decimotercera conferencia internacional sobre inteligencia artificial y estadística . pp. 693–700. Archivado desde el original (PDF) el 2017-08-14 . Consultado el 2017-08-18 .
  12. ^ Courville, Aaron; Bergstra, James; Bengio, Yoshua (2011). "Una máquina de Boltzmann restringida por picos y losas" (PDF) . JMLR: Workshop and Conference Proceeding . 15 : 233–241. Archivado desde el original (PDF) el 2016-03-04 . Consultado el 2019-08-25 .
  13. ^ Courville, Aaron; Bergstra, James; Bengio, Yoshua (2011). "Modelos no supervisados ​​de imágenes mediante RBM de tipo Spike-and-Slab" (PDF) . Actas de la 28.ª Conferencia Internacional sobre Aprendizaje Automático . Vol. 10. págs. 1–8. Archivado desde el original (PDF) el 2016-03-04 . Consultado el 2019-08-25 .
  14. ^ Mitchell, T; Beauchamp, J (1988). "Selección de variable bayesiana en regresión lineal". Revista de la Asociación Estadounidense de Estadística . 83 (404): 1023–1032. doi :10.1080/01621459.1988.10478694.
  15. ^ Sherrington, David; Kirkpatrick, Scott (29 de diciembre de 1975). "Modelo resoluble de un vidrio de espín". Physical Review Letters . 35 (26): 1792–1796. Código Bibliográfico :1975PhRvL..35.1792S. doi :10.1103/physrevlett.35.1792. ISSN  0031-9007.
  16. ^ Hopfield, JJ (1982). "Redes neuronales y sistemas físicos con capacidades computacionales colectivas emergentes". Actas de la Academia Nacional de Ciencias de los Estados Unidos de América . 79 (8). [sn]: 2554–8. Bibcode :1982PNAS...79.2554H. doi : 10.1073/pnas.79.8.2554 . OCLC  848771572. PMC 346238 . PMID  6953413. 
  17. ^ Hinton, Geoffery; Sejnowski, Terrence J. (mayo de 1983). Análisis de la computación cooperativa. 5.º Congreso anual de la Cognitive Science Society. Rochester, Nueva York . Consultado el 17 de febrero de 2020 .[ enlace muerto permanente ]
  18. ^ Hinton, Geoffrey E.; Sejnowski, Terrence J. (junio de 1983). Inferencia perceptual óptima . Conferencia IEEE sobre visión por computadora y reconocimiento de patrones (CVPR). Washington, DC: IEEE Computer Society. págs. 448–453.
  19. ^ Fahlman SE, Hinton GE, Sejnowski TJ. Arquitecturas masivamente paralelas para IA: máquinas NETL, Thistle y Boltzmann. En: Genesereth MR, editor. AAAI-83. Washington, DC: AAAI; 1983. págs. 109-113
  20. ^ Capítulo 16. Rosenfeld, Edward y James A. Anderson, eds. 2000. Talking Nets: An Oral History of Neural Networks . Edición reimpresa. The MIT Press.
  21. ^ Hofstadter, DR (enero de 1984). El proyecto Copycat: un experimento sobre no determinismo y analogías creativas . Centro de Información Técnica de Defensa. OCLC  227617764.
  22. ^ Hofstadter, Douglas R. (1988). "Un enfoque no determinista de la analogía, que involucra el modelo de Ising del ferromagnetismo". En Caianiello, Eduardo R. (ed.). Física de los procesos cognitivos . Teaneck, Nueva Jersey: World Scientific. ISBN 9971-5-0255-0.OCLC 750950619  .
  23. ^ Smolensky, Paul. "Procesamiento de información en sistemas dinámicos: Fundamentos de la teoría de la armonía". (1986): 194-281.
  24. ^ Johnston, Hamish (8 de octubre de 2024). «John Hopfield y Geoffrey Hinton comparten el Premio Nobel de Física 2024». Physics World . Consultado el 18 de octubre de 2024 .

Lectura adicional

Enlaces externos