Una máquina de Boltzmann (también llamada red estocástica de Hopfield con unidades ocultas o modelo de Sherrington-Kirkpatrick con campo externo o modelo estocástico de Ising-Lenz-Little ) es un tipo de red neuronal recurrente estocástica . Es un campo aleatorio de Markov . [1] Fue traducido de la física estadística para su uso en ciencia cognitiva . La máquina de Boltzmann se basa en un modelo estocástico de vidrio giratorio con un campo externo, es decir, un modelo de Sherrington-Kirkpatrick que es un modelo estocástico de Ising [2] y se aplica al aprendizaje automático.[3]
Son teóricamente intrigantes debido a la localidad y la naturaleza hebbiana de su algoritmo de entrenamiento (siendo entrenado 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 el aprendizaje automático o la inferencia, pero si la conectividad se restringe adecuadamente, el aprendizaje puede volverse lo suficientemente eficiente como para ser útil para problemas prácticos. [4]
Reciben el nombre de la distribución de Boltzmann en mecánica estadística , que se utiliza en su función de muestreo . Ésta es la razón por la que se denominan " modelos basados en energía " (MBE). Fueron muy popularizados y promovidos por Geoffrey Hinton y Terry Sejnowski en las comunidades de ciencias cognitivas y en el aprendizaje automático . [5]
Estructura
Una máquina de Boltzmann, como una red Hopfield , es una red de unidades con una "energía" ( hamiltoniana ) definida para la red general. Sus unidades producen resultados binarios . A diferencia de las redes Hopfield, las unidades de máquina de Boltzmann son estocásticas . La energía globalen una máquina de Boltzmann es idéntica en forma a la de las redes de Hopfield y los modelos de Ising :
Dónde:
- es la fuerza de conexión entre la unidad y unidad .
- es el estado, , de unidad .
- es el sesgo de la unidad en la función energética global. ( es el umbral de activación de la unidad).
A menudo los pesos se representan como una matriz simétrica con ceros a lo largo de la diagonal.
Probabilidad del estado unitario
La diferencia en la energía global que resulta de una sola unidad. igual a 0 (desactivado) versus 1 (activado), escrito , 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 con su probabilidad relativa de acuerdo con 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) da:
dónde es la constante de Boltzmann y se absorbe en la noción artificial de temperatura . Luego reorganizamos los términos y consideramos que las probabilidades de que la unidad esté encendida y apagada deben sumar uno:
Resolviendo para , la probabilidad de que el -la unidad está encendida da:
donde el escalar se conoce como la temperatura del sistema. Esta relación es la fuente de la función logística encontrada en expresiones de probabilidad en variantes de la máquina de Boltzmann.
Estado de equilibrio
La red se ejecuta eligiendo repetidamente una unidad y restableciendo su estado. Después de funcionar durante el tiempo suficiente a una determinada temperatura, la probabilidad de un estado global de la red depende solo 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. Ejecutando 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 en la que el nivel de energía fluctúe alrededor del mínimo global. Este proceso se llama recocido simulado .
Para entrenar la red de modo que la probabilidad de que converja a un estado global de acuerdo con una distribución externa sobre estos estados, los pesos deben establecerse de modo que los estados globales con las probabilidades más altas obtengan las energías más bajas. Esto se hace mediante entrenamiento.
Capacitación
Las unidades de 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 cuando la máquina de Boltzmann alcanza el equilibrio térmico . Denotamos esta distribución, después de marginarla sobre las unidades ocultas, como.
Nuestro objetivo es aproximar la distribución "real" utilizando la producido 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 posibles estados de . es una función de los pesos, ya que ellos determinan la energía de un estado, y la energía determina , según lo prometido por 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 Boltzmann consta de dos fases alternas. Una es la fase "positiva" donde los estados de las unidades visibles se sujetan a un vector de estado binario particular muestreado del conjunto de entrenamiento (de acuerdo con). La otra es la fase "negativa" en la que se permite que la red funcione libremente, es decir, ninguna unidad tiene su estado determinado por datos externos. El gradiente con respecto a un peso dado,, viene dada por la ecuación: [6]
dónde:
- es la probabilidad de que las unidades i y j estén encendidas cuando la máquina está en equilibrio en la fase positiva.
- es la probabilidad de que las unidades i y j son ambos cuando la máquina está en equilibrio en la fase negativa.
- denota la tasa de aprendizaje
Este resultado se deriva del hecho de que en 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 propagación hacia atrás .
El entrenamiento de una máquina Boltzmann no utiliza el algoritmo EM , que se usa mucho en el aprendizaje automático . Al minimizar la divergencia KL , equivale a maximizar la probabilidad logarítmica de los datos. Por lo tanto, el procedimiento de entrenamiento realiza un ascenso de gradiente sobre la probabilidad 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 probabilidad completa de los datos durante el paso M.
El entrenamiento de los sesgos es similar, pero usa 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 entrena en 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 problema práctico serio, a saber, que parece dejar de aprender correctamente cuando la máquina se escala a algo más grande que un tamaño trivial. [ cita requerida ] Esto se debe a efectos importantes, específicamente:
- el orden de tiempo requerido para recopilar estadísticas de equilibrio crece exponencialmente con el tamaño de la máquina y con la magnitud de las fortalezas de la conexión [ cita requerida ]
- Las fuerzas de conexión son más plásticas cuando las unidades conectadas tienen probabilidades de activación intermedias entre cero y uno, lo que conduce a la llamada trampa de varianza. El efecto neto es que el ruido hace que las fortalezas de la conexión sigan un recorrido aleatorio hasta que las actividades se saturen.
Tipos
Máquina de Boltzmann restringida
Aunque el aprendizaje no es práctico en las máquinas de Boltzmann en general, puede hacerse 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 a visibles y ocultas a ocultas . Después de entrenar una GBR, las actividades de sus unidades ocultas pueden tratarse como datos para entrenar una GBR de nivel superior. Este método de apilar RBM hace posible 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 de valor real en lugar de datos binarios. [7]
Un ejemplo de una aplicación práctica de RBM es el reconocimiento de voz. [8]
Máquina profunda de Boltzmann
Una máquina de Boltzmann profunda (DBM) es un tipo de campo aleatorio de Markov binario 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 enlaza unidades de la misma capa (como RBM ). Para el DBM , la probabilidad asignada al vector ν es
dónde son el conjunto de unidades ocultas, y son los parámetros del modelo, que representan interacciones visibles-ocultas y ocultas-ocultas. [9] En un 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 están dirigidas.
Al igual que DBNs , DBM pueden aprender las representaciones internas complejas y abstractas de la entrada en tareas como objeto o el reconocimiento de voz , utilizando datos etiquetados, limitados a afinar las representaciones construidas con un gran conjunto de datos de entrada sensoriales no marcadas. Sin embargo, a diferencia de las DBN y las redes neuronales convolucionales profundas , siguen 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. [10] [11] [12]
Sin embargo, la baja velocidad de los DBM limita su rendimiento y funcionalidad. Debido a que el aprendizaje de máxima probabilidad exacta es intratable para los DBM, solo es posible el aprendizaje de máxima probabilidad aproximado. 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 la cadena de Markov Monte Carlo (MCMC). [9] 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 DBM. Esto hace que la optimización conjunta no sea práctica para grandes conjuntos de datos y restringe el uso de DBM para tareas como la representación de características.
RBM de púas y losas
La necesidad de un aprendizaje profundo con entradas de valor real , como en los RBM gaussianos , llevó al RBM de pico y losa ( ss RBM ), que modela entradas de valor continuo con variables latentes binarias . [13] Similar a básicas RBM y sus variantes, un RBM punta-losa es un gráfico bipartito , mientras que como GRBMs , las unidades visibles (de entrada) son de valor real. 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; [14] su mezcla se forma a priori . [15]
Una extensión de ss RBM llamada µ-ss RBM proporciona una capacidad de modelado adicional utilizando 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 la losa dada una observación.
Historia
La máquina de Boltzmann se basa en un modelo de vidrio giratorio del modelo estocástico de Ising de Sherrington-Kirkpatrick . [dieciséis]
La contribución original en la aplicación de tales modelos basados en la energía en la ciencia cognitiva apareció en artículos de Hinton y Sejnowski. [17] [18]
La publicación seminal de John Hopfield conectó la física y la mecánica estadística, mencionando los vidrios giratorios. [19]
La idea de aplicar el modelo de Ising con recocido muestreo de Gibbs está presente en Douglas Hofstadter 's Copycat proyecto. [20] [21]
Ideas similares (con un cambio de signo en la función energética) se encuentran en la "Teoría de la armonía" de Paul Smolensky .
La analogía explícita trazada con la mecánica estadística en la formulación de la Máquina de Boltzmann llevó al uso de terminología tomada de la física (por ejemplo, "energía" en lugar de "armonía"), que se convirtió en estándar en el campo. La adopción generalizada de esta terminología puede haber sido alentada por el hecho de que su uso llevó 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 eran aparentemente independientes.
Los modelos de Ising se consideraron un caso especial de campos aleatorios de Markov , que encuentran una aplicación generalizada en lingüística , robótica , visión por computadora e inteligencia artificial .
Ver también
- Máquina de Boltzmann restringida
- Campo aleatorio de Markov
- Modelo de Ising
- Red Hopfield
- La regla de aprendizaje [22] que utiliza información "local" condicional se puede derivar de la forma inversa de,
- .
Referencias
- ↑ Hinton, Geoffrey E. (24 de mayo de 2007). "Máquina de Boltzmann" . Scholarpedia . 2 (5): 1668. Bibcode : 2007SchpJ ... 2.1668H . doi : 10.4249 / scholarpedia.1668 . ISSN 1941-6016 .
- ^ Sherrington, David; Kirkpatrick, Scott (1975), "Modelo solucionable de un vidrio giratorio", Physical Review Letters , 35 (35): 1792-1796, Bibcode : 1975PhRvL..35.1792S , doi : 10.1103 / PhysRevLett.35.1792
- ^ 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
- ^ 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 Holanda. pp. 785 . doi : 10.1007 / 978-94-009-0643-3_76 . ISBN 978-0-7923-0831-7.
- ^ 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
- ^ Ackley, David H .; Hinton, Geoffrey E .; Sejnowski, Terrence J. (1985). "Un algoritmo de aprendizaje para máquinas de Boltzmann" (PDF) . Ciencia cognitiva . 9 (1): 147-169. doi : 10.1207 / s15516709cog0901_7 . Archivado desde el original (PDF) el 18 de julio de 2011.
- ^ Desarrollos recientes en aprendizaje profundo , consultado el 17 de febrero de 2020
- ^ Yu, Dong; Dahl, George; Acero, Alex; Deng, Li (2011). "Redes neuronales profundas pre-entrenadas dependientes del contexto para el reconocimiento de voz de vocabulario grande" (PDF) . Investigación de Microsoft . 20 .
- ^ a b Hinton, Geoffrey; Salakhutdinov, Ruslan (2012). "Una mejor manera de entrenar previamente máquinas Boltzmann profundas" (PDF) . Avances en Neural . 3 : 1–9. Archivado desde el original (PDF) el 13 de agosto de 2017 . Consultado el 18 de agosto de 2017 .
- ^ Hinton, Geoffrey; Salakhutdinov, Ruslan (2009). "Aprendizaje eficiente de las máquinas Deep Boltzmann" (PDF) . 3 : 448–455. Archivado desde el original (PDF) el 6 de noviembre de 2015 . Consultado el 18 de agosto de 2017 . Cite journal requiere
|journal=
( ayuda ) - ^ Bengio, Yoshua; LeCun, Yann (2007). "Escalar los algoritmos de aprendizaje hacia la IA" (PDF) . 1 : 1-41. Cite journal requiere
|journal=
( ayuda ) - ^ Larochelle, Hugo; Salakhutdinov, Ruslan (2010). "Aprendizaje eficiente de las máquinas de Boltzmann profundas" (PDF) : 693–700. Archivado desde el original (PDF) el 14 de agosto de 2017 . Consultado el 18 de agosto de 2017 . Cite journal requiere
|journal=
( ayuda ) - ^ Courville, Aaron; Bergstra, James; Bengio, Yoshua (2011). "Una máquina de Boltzmann restringida por púas y losas" (PDF) . JMLR: Actas de talleres y conferencias . 15 : 233–241. Archivado desde el original (PDF) el 4 de marzo de 2016 . Consultado el 25 de agosto de 2019 .
- ^ Courville, Aaron; Bergstra, James; Bengio, Yoshua (2011). "Modelos no supervisados de imágenes por RBM de Spike-and-Slab" (PDF) . Actas de la 28a Conferencia Internacional sobre Aprendizaje Automático . 10 . págs. 1–8. Archivado desde el original (PDF) el 4 de marzo de 2016 . Consultado el 25 de agosto de 2019 .
- ^ 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 .
- ^ Sherrington, David; Kirkpatrick, Scott (29 de diciembre de 1975). "Modelo solucionable de un vaso giratorio". Cartas de revisión física . 35 (26): 1792-1796. Código Bibliográfico : 1975PhRvL..35.1792S . doi : 10.1103 / physrevlett.35.1792 . ISSN 0031-9007 .
- ^ Hinton, Geoffery; Sejnowski, Terrence J. (mayo de 1983). Análisis de la computación cooperativa . V Congreso Anual de la Sociedad de Ciencias Cognitivas. Rochester, Nueva York . Consultado en febrero de 2020 . Verifique los valores de fecha en:
|access-date=
( ayuda ) - ^ Hinton, Geoffrey E .; Sejnowski, Terrence J. (junio de 1983). Inferencia de percepción óptima . Conferencia IEEE sobre Visión por Computador y Reconocimiento de Patrones (CVPR). Washington, DC: Sociedad de Informática IEEE. págs. 448–453.
- ^ Hopfield, JJ (1982). "Redes neuronales y sistemas físicos con habilidades computacionales colectivas emergentes" . Actas de la Academia Nacional de Ciencias de los Estados Unidos de América . [sn] 79 (8): 2554–8. Código Bibliográfico : 1982PNAS ... 79.2554H . doi : 10.1073 / pnas.79.8.2554 . OCLC 848771572 . PMC 346238 . PMID 6953413 .
- ^ Hofstadter, DR (enero de 1984). El proyecto Copycat: un experimento de no determinismo y analogías creativas . Centro de Información Técnica de Defensa. OCLC 227617764 .
- ^ Hofstadter, Douglas R. (1988). "Un enfoque no determinista de la analogía, que implica el modelo Ising de ferromagnetismo". En Caianiello, Eduardo R. (ed.). Física de los procesos cognitivos . Teaneck, Nueva Jersey: World Scientific. ISBN 9971-5-0255-0. OCLC 750950619 .
- ^ Liou, C.-Y .; Lin, S.-L. (1989). "La otra variante de la máquina Boltzmann". Conferencia conjunta internacional sobre redes neuronales . Washington, DC, Estados Unidos: IEEE. págs. 449–454. doi : 10.1109 / IJCNN.1989.118618 .
- https://www.mis.mpg.de/preprints/2018/preprint2018_87.pdf
Otras lecturas
- Hinton, GE ; Sejnowski, TJ (1986). DE Rumelhart; JL McClelland (eds.). "Aprendizaje y reaprendizaje en máquinas de Boltzmann" (PDF) . Procesamiento distribuido paralelo: exploraciones en la microestructura de la cognición. Volumen 1: Fundaciones : 282–317. Archivado desde el original (PDF) el 2010-07-05.
- Hinton, GE (2002). "Productos de formación de expertos minimizando la divergencia contrastiva" (PDF) . Computación neuronal . 14 (8): 1771-1800. CiteSeerX 10.1.1.35.8613 . doi : 10.1162 / 089976602760128018 . PMID 12180402 . S2CID 207596505 .
- Hinton, GE ; Osindero, S .; Teh, Y. (2006). "Un algoritmo de aprendizaje rápido para redes de creencias profundas" (PDF) . Computación neuronal . 18 (7): 1527-1554. CiteSeerX 10.1.1.76.1541 . doi : 10.1162 / neco.2006.18.7.1527 . PMID 16764513 . S2CID 2309950 .
enlaces externos
- Artículo de Scholarpedia de Hinton sobre las máquinas Boltzmann
- Charla en Google por Geoffrey Hinton