Máquina de Boltzmann

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Tipo de red neuronal recidivante estocástica
A graphical representation of an example Boltzmann machine.
Representación gráfica de un ejemplo de máquina Boltzmann. Cada borde no dirigido representa dependencia. En este ejemplo hay 3 unidades ocultas y 4 unidades visibles. Esto no es una máquina Boltzmann restringida.

Una máquina de Boltzmann (también llamada modelo Sherrington-Kirkpatrick con campo externo o modelo estocástico de Ising-Lenz-Little), que lleva el nombre de Ludwig. Boltzmann es un modelo especial basado en la energía. Es 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. Es una técnica de física estadística aplicada en el contexto de la ciencia cognitiva. También se clasifica como campo aleatorio de Markov.

Las máquinas de Boltzmann son teóricamente intrigantes debido a la localidad y la naturaleza hebbiana de su algoritmo de entrenamiento (entrenados según la regla de Hebb), y por su paralelismo y la semejanza de su dinámica con procesos físicos simples. No se ha demostrado que las máquinas de Boltzmann con conectividad sin restricciones sean útiles para problemas prácticos en aprendizaje automático o inferencia, pero si la conectividad se restringe adecuadamente, el aprendizaje puede volverse lo suficientemente eficiente como para ser útil para problemas prácticos.

Llevan el nombre de 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 y en el aprendizaje automático. Como clase más general dentro del aprendizaje automático, estos modelos se denominan "modelos basados en energía" (EBM), porque los hamiltonianos de los vasos giratorios se utilizan como punto de partida para definir la tarea de aprendizaje.

Estructura

A graphical representation of an example Boltzmann machine with weight labels.
Representación gráfica de una máquina Boltzmann con algunos pesos etiquetados. Cada borde no dirigido representa dependencia y pesa con peso wij{displaystyle w_{ij}. En este ejemplo hay 3 unidades ocultas (azul) y 4 unidades visibles (blancas). Esto no es una máquina Boltzmann restringida.

Una máquina Boltzmann, como un modelo Sherrington-Kirkpatrick, es una red de unidades con una "energía" total (Hamiltonian) definida para la red general. Sus unidades producen resultados binarios. Los pesos de la máquina Boltzmann son estocásticos. La energía mundial E{displaystyle E} en una máquina Boltzmann es idéntica en forma a la de las redes de Hopfield y modelos de Ising:

<math alttext="{displaystyle E=-left(sum _{iE=− − (). . ic)jwijsisj+. . iSilencio Silencio isi){displaystyle E=-left(sum _{i donej}w_{ij},s_{i},s_{j}+sum _{i}theta ¿Por qué?<img alt="E=-left(sum _{{i

Dónde:

  • wij{displaystyle w_{ij} es la fuerza de conexión entre unidad j{displaystyle j} y unidad i{displaystyle i}.
  • si{displaystyle S_{i} es el estado, si▪ ▪ {}0,1}{displaystyle s_{i}in {0,1}, de unidad i{displaystyle i}.
  • Silencio Silencio i{displaystyle theta _{i} es el sesgo de la unidad i{displaystyle i} en la función energética global. ()− − Silencio Silencio i{displaystyle -theta _{i} es el umbral de activación para la unidad.)

A menudo los pesos wij{displaystyle w_{ij} están representados como una matriz simétrica W=[wij]{displaystyle ¿Qué? con ceros en la diagonal.

Probabilidad de estado unitario

La diferencia en la energía global que resulta de una sola unidad i{displaystyle i} equivalente a 0 (off) versus 1 (on), escrito Δ Δ Ei{displaystyle Delta E_{i}}, asumiendo una matriz simétrica de pesos, se da por:

i}w_{ij},s_{j}+sum _{jΔ Δ Ei=. . j■iwijsj+. . jc)iwjisj+Silencio Silencio i{displaystyle Delta E_{i}=sum ¿Por qué? - ¿Por qué? ¿Qué?i}w_{ij},s_{j}+sum _{j

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

Δ Δ Ei=Ei=off− − Ei=on{displaystyle Delta E_{i}=E_{i=off}-E_{i=on}}

Sustituyendo la energía de cada estado con 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:

Δ Δ Ei=− − kBTIn⁡ ⁡ ()pi=off)− − ()− − kBTIn⁡ ⁡ ()pi=on)){displaystyle Delta E_{i}=-k_{B},Tln(p_{text{i=off})-(-k_{B},Tln(p_{text{i=on})}

Donde kB{displaystyle K_{B} es la constante de Boltzmann y se absorbe en la noción artificial de la temperatura T{displaystyle T}. Luego reorganizamos los términos y consideramos que las probabilidades de la unidad en y fuera deben resumir a uno:

Δ Δ EiT=In⁡ ⁡ ()pi=on)− − In⁡ ⁡ ()pi=off){displaystyle {frac {Delta E_{i}}=ln(p_{text{i=on})-ln(p_{text{i=off})}
Δ Δ EiT=In⁡ ⁡ ()pi=on)− − In⁡ ⁡ ()1− − pi=on){displaystyle {frac {Delta ¿Por qué? }
Δ Δ EiT=In⁡ ⁡ ()pi=on1− − pi=on){displaystyle {frac {Delta E_{i}{T}=ln left({frac {p_{text{i=on}}{1-p_{text{i=on}right)}} {fnMicrosoft Sans Serif}
− − Δ Δ EiT=In⁡ ⁡ ()1− − pi=onpi=on){displaystyle -{frac {Delta E_{i}{T}=ln left({frac {1-p_{i=on} {p_{text{i=on}}right)}
− − Δ Δ EiT=In⁡ ⁡ ()1pi=on− − 1){displaystyle -{frac {Delta E_{i}{T}=ln left({frac {1}{p_{i=on}}}}-1right)}
exp⁡ ⁡ ()− − Δ Δ EiT)=1pi=on− − 1{displaystyle exp left(-{frac {Delta E_{i} {T}right)={frac {1}{p_{i=on}}}-1}

Solving for pi=on{displaystyle ¿Por qué?, la probabilidad de que i{displaystyle i}-la unidad está en da:

pi=on=11+exp⁡ ⁡ ()− − Δ Δ EiT){displaystyle ¿Por qué? {1}{1+exp(-{frac {Delta E_{i} {T}}}}

donde el escalar T{displaystyle T} 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 Boltzmann.

Estado de equilibrio

La red se ejecuta 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 sólo 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 operar la red partiendo 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 para que la probabilidad de que converja a un estado global de acuerdo con una distribución externa sobre estos estados, se deben establecer los pesos de manera que los estados globales con las mayores probabilidades obtengan las energías más bajas. Esto se hace mediante entrenamiento.

Entrenamiento

Las unidades de la máquina Boltzmann se dividen en unidades "visibles", V, y unidades "hidden", H. Las unidades visibles son aquellas que reciben información del 'ambiente', 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 P+()V){displaystyle P^{+}(V)}.

La distribución sobre los estados globales converge a medida que la máquina Boltzmann alcanza el equilibrio térmico. Denotamos esta distribución, después de que la marginamos sobre las unidades ocultas, como P− − ()V){displaystyle P^{-}(V)}.

Nuestro objetivo es aproximar la distribución "real" P+()V){displaystyle P^{+}(V)} usando el P− − ()V){displaystyle P^{-}(V)} producido por la máquina. La similitud de las dos distribuciones se mide por la divergencia Kullback-Leibler, G{displaystyle G.:

G=. . vP+()v)In⁡ ⁡ ()P+()v)P− − ()v)){displaystyle G=sum ¿Por qué?

donde la suma está sobre todos los estados posibles V{displaystyle V}. G{displaystyle G. es una función de los pesos, ya que determinan la energía de un estado, y la energía determina P− − ()v){displaystyle P^{-}(v)}, como prometió la distribución Boltzmann. Un algoritmo de descenso gradiente sobre G{displaystyle G. cambia un peso dado, wij{displaystyle w_{ij}, restando el derivado parcial de G{displaystyle G. con respecto al peso.

El entrenamiento de máquinas Boltzmann implica 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 (según P+{displaystyle P^{+}). La otra es la fase "negativa" donde se permite que la red funcione libremente, es decir, sólo los nodos de entrada tienen su estado determinado por datos externos, pero los nodos de salida se permiten flotar. El gradiente con respecto a un peso dado, wij{displaystyle w_{ij}, se da por la ecuación:

∂ ∂ G∂ ∂ wij=− − 1R[pij+− − pij− − ]{fnMicrosoft {fnMicrosoft {fnMicrosoft {fnMicrosoft {fnMicrosoft {\fnMicrosoft} {G}{partial} {fnK}}=-{fnMic} {cHFF} {cHFF} {cH00}} {cHFF}} {cHFF}}}

donde:

  • pij+{displaystyle ¿Qué? es la probabilidad de que las unidades i y j están ambos en cuando la máquina está en equilibrio en la fase positiva.
  • pij− − {displaystyle ¿Qué? es la probabilidad de que las unidades i y j están ambos en cuando la máquina está en equilibrio en la fase negativa.
  • R{displaystyle R. denota la tasa de aprendizaje

Este resultado se debe al hecho de que en el equilibrio térmico la probabilidad P− − ()s){displaystyle P^{-}(s)} de cualquier estado global s{displaystyle s} cuando la red es de gestión libre es dada por la distribución 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" información. Es decir, la conexión (sinapsis, biológicamente) no necesita información de nada más que de 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 Boltzmann no utiliza el algoritmo EM, que se utiliza mucho en el aprendizaje automático. 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 en 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 maximizar el valor esperado de la probabilidad de los datos completos durante el paso M.

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

∂ ∂ G∂ ∂ Silencio Silencio i=− − 1R[pi+− − pi− − ]{fnMicrosoft {fnMicrosoft {fnMicrosoft {fnMicrosoft {fnMicrosoft {\fnMicrosoft} {G}{partial {theta ¿Qué? {} {fn} {fn}} {fn}}} {fn}}}} {fn}}

Problemas

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

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

  • el orden de tiempo requerido para recoger estadísticas de equilibrio crece exponencialmente con el tamaño de la máquina, y con la magnitud de las fortalezas de conexión
  • Las fortalezas 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 una llamada trampa de varianza. El efecto neto es que el ruido hace que las fuerzas de conexión sigan un paseo aleatorio hasta que las actividades estén saturadas.

Tipos

Máquina Boltzmann restringida

Graphical representation of an example restricted Boltzmann machine
Representación gráfica de una máquina Boltzmann restringida. Las cuatro unidades azules representan unidades ocultas, y las tres unidades rojas representan estados visibles. En máquinas Boltzmann restringidas sólo hay conexiones (dependencias) entre unidades ocultas y visibles, y ninguna entre unidades del mismo tipo (sin conexiones ocultas, ni conexiones visibles visibles).

Aunque el aprendizaje no es práctico en las máquinas Boltzmann generales, puede hacerse bastante eficiente en una máquina Boltzmann restringida (RBM) que no permite conexiones intracapa entre unidades ocultas y unidades visibles, es decir, no hay conexión entre lo visible y lo visible y lo oculto. a unidades ocultas. Después de entrenar un RBM, las actividades de sus unidades ocultas pueden tratarse como datos para entrenar un RBM de nivel superior. Este método de apilar 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 restringida de Boltzmann permite utilizar datos de valor real en lugar de datos binarios.

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

Máquina Boltzmann profunda

Una máquina profunda Boltzmann (DBM) es un tipo de campo aleatorio pareado binario Markov (modelo gráfico probabilístico no dirigido) con múltiples capas de variables aleatorias ocultas. Es una red de unidades binarias simétricamente acopladas. Comprende un conjunto de unidades visibles . . ▪ ▪ {}0,1}D{displaystyle {boldsymbol {nu}in {0,1}{D}} {cH00} y capas de unidades ocultas h()1)▪ ▪ {}0,1}F1,h()2)▪ ▪ {}0,1}F2,... ... ,h()L)▪ ▪ {}0,1}FL{fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {cH} {cH} {cH} {cH} {cH}ccH}in,1} {cH00}} {cH00}ccH00} {cH00}cH00} {cH00}}cH00}}}}}}cH00}}}cH00}}}cH00}}cH00}cH00} {cccH00}}cH00}cccH00}cH00}ccccH00}}cH00}}cH00}cccH00}cH00}ccH00}cH00}cH00}cH00}cH00}}cH00}cH00}}}}}}}cH00. No hay unidades de conexión de la misma capa (como RBM). Para el DBM, la probabilidad asignada al vector . es

p(). . )=1Z. . he. . ijWij()1). . ihj()1)+. . jlWjl()2)hj()1)hl()2)+. . lmWlm()3)hl()2)hm()3),{displaystyle p({boldsymbol {nu })={frac {1}{Z}sum _{h}e^{sum _{ij}W_{ij}{{}{{}{}{}{}}}nu} ¿Por qué? }

Donde h={}h()1),h()2),h()3)}{\fnMicrosoft Sans Serif} {fnh} {fnh} {fnh} {fnh}} {fnunci}}} {cH}}} {cH}}}}} {f}}}}}}}}} son el conjunto de unidades ocultas, y Silencio Silencio ={}W()1),W()2),W()3)}{displaystyle theta {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} son los parámetros modelo, representando interacciones visibles ocultas y ocultas ocultas. En un DBN sólo las dos capas superiores forman una máquina 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 los DBN, los 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 afinar las representaciones creadas utilizando un gran conjunto de datos de entrada sensoriales 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 al DBM revelar mejor las representaciones de las estructuras de entrada.

Sin embargo, la baja velocidad de los DBM limita su rendimiento y funcionalidad. Debido a que el aprendizaje exacto de máxima probabilidad es intratable para los DBM, sólo es posible un aprendizaje aproximado de máxima probabilidad. 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). 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 de abajo hacia arriba en los 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.

Máquina Boltzmann profunda multimodal

Las máquinas multimodales profundas Boltzmann se utilizan con éxito en la clasificación y recuperación de datos perdidos. La precisión de clasificación de las máquinas multimodales profundas Boltzmann soporta máquinas vectoriales, asignación de Dirichlet latente y red de creencias profundas, cuando los modelos se prueban en datos con modalidades de imagen-texto o con una modalidad única. Multimodal profunda máquina Boltzmann también es capaz de predecir las modalidades perdidas dadas las observadas con precisión razonablemente buena. Self Supervised Aprender trae un modelo más interesante y poderoso para la multimodalidad. OpenAI desarrolló modelos CLIP y DALL-E que revolucionaron la multimodalidad.

El aprendizaje profundo multimodal se utiliza para la detección del cáncer – al menos un sistema en desarrollo integra tales tipos de datos.

RBM de púas y losa

La necesidad de un aprendizaje profundo con entradas de valor real, como en los RBM gaussianos, llevó al RBM de punta y losa (ssRBM), que modela entradas de valores continuos con variables binarias latentes. . Al igual que los RBM básicos y sus variantes, un RBM de púas y losas es un gráfico bipartito, mientras que, al igual que los GRBM, las unidades visibles (entrada) tienen un 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 en un dominio continuo; su mezcla forma un prior.

Una extensión de ssRBM llamada µ-ssRBM proporciona 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 losa dada una observación.

En Matemáticas

En un entorno 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 le llama modelo log-lineal. En el 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 un modelo de vidrio giratorio del modelo estocástico de Ising de Sherrington-Kirkpatrick.

La contribución original en la aplicación de dichos modelos basados en energía en la ciencia cognitiva apareció en artículos de Hinton y Sejnowski.

La publicación fundamental de John Hopfield relacionó la física y la mecánica estadística, mencionando los vasos giratorios.

La idea de aplicar el modelo de Ising con muestreo de Gibbs recocido está presente en el proyecto Copycat de Douglas Hofstadter.

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 condujo 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 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 eran aparentemente independientes.

Los modelos de Ising pasaron a considerarse un caso especial de los campos aleatorios de Markov, que encuentran una amplia aplicación en lingüística, robótica, visión por computadora e inteligencia artificial.

Más resultados...
Tamaño del texto:
  • Copiar
  • Editar
  • Resumir
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save