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]
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.
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.
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.
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:
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:
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]
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.
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 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.
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]