La Máquina de Boltzmann se compone de elementos de computación primitivos denominados "unidades". Éstas se encuentran conectadas entre sí sin reglas específicas mediante "uniones" bidireccionales. Todas las unidades de una red son exactamente iguales, y el funcionamiento también es idéntico para todas ellas. Las unidades se comportan como elementos binarios en cuanto a su estado. Es decir, en cada instante, una unidad puede encontrarse en uno de sus dos posibles estados, "activa" (on) o "inactiva" (off). El estado de una unidad cualquiera dentro de la red se
determina en función de los estados de las otras unidades conectadas a ella y del "peso" de las respectivas uniones.
Cada unión tiene asociado un valor numérico, que es llamado su "peso". Este valor es el mismo en las dos direcciones de la conexión, es decir, las uniones entre las unidades de la red son simétricas (esta restricción, no cumplida por las conexiones neuronales del cerebro humano, es bastante fuerte). Los pesos de las uniones pueden tomar valores numéricos de cualquier signo.
Figura 2. Representación de una posible topología de una Máquina de Boltzmann.
Según esta descripción, la Máquina de Boltzmann puede clasificarse como un sistema conexionista que transmite valores, ya que las conexiones entre las uniones no transmiten ni marcadores que puedan ser almacenados en las unidades, ni, por supuesto ningún tipo de mensajes, ya sean simples o complejos. Las unidades que componen una Máquina de Boltzmann sólo son capaces de realizar la suma aritmética
de los valores que reciben de otras unidades por medio de las conexiones, por lo que se pueden considerar unidades de proceso muy simples.
Una red cuya topología se ajusta a la descrita para la Máquina de Boltzmann puede ser la que muestra la figura 2. Como puede apreciarse en la figura, no existe ningún t ipo de restricción en cuanto al número o configuración de las uniones entre las distintas unidades.
El cálculo del estado de una unidad dentro de la red se realiza mediante el procedimiento que se expone a continuación. Se considera que cada unidad posee un valor umbral para pasar del estado inactivo al estado activo. Es decir, la unidad estará en estado activo si la suma de los pesos de sus uniones con otras unidades activas supera el valor umbral. En caso de que la suma no supere dicho valor, la unidad se encontrará inactiva. Sin embargo, el comportamiento no es tan simple, ya que los resultados obtenidos de esta forma no eran excesivamente satisfactorios. En realidad, las unidades se comportan de forma probabilística. Este comportamiento produce el mismo efecto que produciría un umbral no fijo, sino oscilante. La oscilación del umbral vendría dada por el valor de la suma de los pesos; cuanto mayor es el valor, mayor es la probabilidad de que la unidad pase al estado activo, que es lo mismo que decir que ha disminuido el valor del umbral. De esta forma no puede asegurarse que la misma entrada (los mismos pesos y las mismas unidades vecinas activas) produzca la misma respuesta de forma determinista. Aunque no se conoce con certeza el comportamiento de las neuronas del cerebro humano, sí parece estar comprobado que no es determinista, por lo que cualquier mecanismo que pretenda reproducir los patrones de funcionamiento del cerebro ha de tratar de evitar el determinismo en la medida de lo posible.
Para modelizar el mundo real con este sistema, el significado que toma cada uno de sus componentes es el siguiente:
- Una unidad en estado activo o inactivo significa que el sistema acepta o rechaza, respectivamente, una hipótesis elemental (representada por la unidad) sobre el conjunto del sistema.
- El peso de la unión entre dos unidades representa una restricción débil entre dos hipótesis. Si el valor del peso es positivo significa que las dos hipótesis representadas por las unidades conectadas "tienden a soportar" o a reforzar alguna otra hipótesis. Es decir, que si las dos hipótesis son aceptadas (las dos unidades están activas), la probabilidad de que la tercera sea aceptada aumenta. Por el contrario, si el valor del peso es negativo, significa que las dos hipótesis no deben ser aceptadas simultáneamente.
Normalmente en el tratamiento de este tipo de redes se utiliza la convención de considerar los estados de las unidades como cifras binarias. Es decir, el estado activo se representa con el valor 1, y el estado inactivo con el valor O. De esta forma, las combinaciones de los estados de las unidades de la red pueden codificarse como números binarios o incluso como vectores del mismo tipo, permitiendo un manejo más sencillo de las configuraciones globales de la red en cada instante.
En cuanto al tratamiento de la red como entidad global, algunos autores la consideran incluida en el grupo de mecanismos de "caja negra" [Forsyth, 1986]. Estos mecanismos presentan una pequeña parte visible, pero su estructura interna permanece oculta, de forma que sólo es posible apreciar su comportamiento en cuanto a los resultados obtenidos, pero no muestra cómo llega a obtenerlos. La Máquina de Boltzmann se ajusta a esta estructura considerando parte de sus unidades como unidades de entrada, otras como unidades de salida, y manteniendo el resto como unidades escondidas, pertenecientes a la "caja negra". Todas esta unidades, sin embargo, son del mismo tipo y se comportan de la misma forma. Con este
planteamiento la máquina se parece más a un mecanismo con el que se puede trabajar y realizar modelizaciones mediante asignación explícita de los valores adecuados a las unidades de entrada y salida.
La estructura de la Máquina de Boltzmann está muy relacionada con un sistema descrito en el año 1 982 por J.J. Hopfield [Hopfield, 1 982]. En este sistema Hopfield asignaba a cada estado global de la red un valor numérico único, al que denominó su "energía". La semejanza entre el sistema descrito por Hopfield y la red ideada por Hinton, permite también asignar a los estados globales de la Máquina de Boltzmann un valor de energía. Este valor depende de los estados de las unidades y de los pesos de las uniones de acuerdo con la siguiente fórmula:
E = - . . s. s . +
IJ I J ¡ ¡
i i
siendo:
Wij : peso de la unión entre las unidades i y j.
s¡ : valor binario correspondiente al estado de la unidad i; 1 si es activa, O si es inactiva.
0¡ : umbral de la unidad i.
El significado de este valor global de una configuración de la red dada es la medida en la que esa asignación de hipótesis (representadas por las unidades) no cumple las restricciones implícitas en el dominio del problema (las restricciones están representadas por la topología de la red y los pesos de las uniones que se hayan establecido).
Así pues, el funcionamiento de la red ante una determinada asignación de valores a las unidades consideradas de entrada, ha de ir encaminado a modificar su estructura interna (estados de las unidades y pesos de las conexiones), de forma que la energía global de la red se minimice. Para ello, cada unidad elemental debe ser capaz de comportarse de forma que contribuya a la minimización de la energía global de la red.
Hopfield demostró en su trabajo que si se cumplen determinadas condiciones, el sistema siempre evoluciona hasta alcanzar una situación de reposo en la que el valor de la energía de la red es mínimo. Este mínimo no tiene por qué ser necesariamente el mínimo global de la red, de hecho en la mayoría de los casos es simplemente un mínimo local. Hopfield propuso un sencillo procedimiento para encontrar una combinación de valores que constituyan un mínimo local del valor de la energía. El procedimiento consiste en asignar a cada hipótesis (cada unidad), de sus dos estados posibles, aquél que produzca el menor valor de la energía global, dado el valor del resto de las hipótesis (el resto de las unidades de la red) en ese momento. Si este proceso de decisión de estado es realizado por las unidades de la red de forma asíncrona y se considera despreciable el tiempo de transmisión de los estados a través de las conexiones, se alcanza un mínimo local de energía con toda seguridad.
Dado que las conexiones entre las unidades son simétricas, puede decirse que la diferencia de energía global del sistema aceptando la hipótesis k (unidad k activa) y rechazándola (unidad k inactiva), viene determinada de forma local por la unidad k, independientemente del resto de las unidades de la red. El valor de esta diferencia, denominado "hueco de energía" de la unidad k, se expresa mediante la siguiente relación:
/::. Ek
=2 wki 8i - 8k
i
donde los símbolos tienen el mismo significado que en la fórmula de la energía escrita anteriormente.
Así pues, del estudio de esta expresión puede concluirse la sencilla regla de funcionamiento para las unidades que ya se había presentado. Además queda también demostrado que el uso de esta regla consigue minimizar la energía global de la red. La regla de decisión es, pues, la siguiente: para minimizar la contribución de una unidad a la energía global, ésta debe adoptar el estado activo si la entrada que recibe del resto de las unidades (suma de los pesos de sus uniones con otras unidades activas) supera el valor de su umbral; de lo contrario, debe adoptar el estado inactivo.
En este momento puede hacerse una consideración sobre los valores 8¡, correspondientes a los umbrales de las unidades, que han aparecido en las ecuaciones anteriores. Estos valores pueden ser eliminados debido al hecho de que el efecto producido por 8¡ en la enegía global del sistema es idéntico y de sentido contrario al efecto de una unión con peso -8¡ entre la unidad i y una unidad especial que, por definición, se encuentre siempre en estado activo. Esta unidad especial, que puede denominarse "unidad cierta", no es necesario que exista de forma real en la composición de la red, sin embargo, es conveniente suponer su existencia a efectos de simplificación de los cálculos. Esta simplificación se deriva del hecho de que la existencia de la "unidad cierta" permite tratar el umbral de una unidad de la misma forma que se tratan las uniones entre nodos, evitando así añadir un término al sumatorio en las fórmulas. El valor -8¡ que se introduce como el peso de la unión entre la unidad i y la unidad cierta se denomina "sesgo" de la unidad i.
Si se supone la existencia de la unidad cierta en cualquier Máquina de Boltzmann, las ecuaciones que rigen la energía global de la red y el hueco de energía de una unidad pueden expresarse de la siguiente forma:
E =
- . . S . S .IJ 1 J i
Sin embargo, la seguridad de que el sistema alcanza siempre un mínimo local no es suficiente para conseguir un mecanismo que pueda considerarse modelizador del cerebro humano, y capaz de cierto tipo de aprendizaje. Las tareas en las que es necesario satisfacer restricciones (aunque éstas sean en su mayoría débiles) necesitan escapar de alguna manera de los mínimos locales, que significan soluciones parciale�, para poder encontrar la configuración que es el verdadero mínimo global, es decir, la solución total.
Una forma de conseguir que el funcionamiento del sistema no lo conduzca a detenerse en un mínimo local, permitiéndole encontrar diferentes estados de equilibrio que constituyen mínimos locales hasta encontrar el mínimo global, es hacer posible que la red pueda modificar su estado hacia una configuración de mayor energía que la de partida. Con la regla de activación de las unidades que se ha presentado anteriormente, la red pasaba siempre de estados de mayor energía a estados de menor energía, pero nunca podía ocurrir lo contrario. De esta forma, si se llega a un estado que es un mínimo local, la red no es capaz de salir de él porque para ello necesitaría poder aumentar su energía en lugar de disminuirla.
Para conseguir este comportamiento se han revisado conceptos de los sistemas termodinámicos, cuyo comportamiento en algunos aspectos es semejante al de este tipo de redes. El algoritmo elegido se basa en el presentado por N. Metropolis [Metropolis, 1953] concebido para estudiar las propiedades de los sistemas termodinámicos. Según este algoritmo, puede asegurarse que la probabilidad de que el estado de la unidad k sea activo, independientemente de su estado anterior es:
1
pk
=(
1 + e-r)
siendo:ó.Ek
: hueco de energía correspondiente a la unidad k.T : parámetro que en los sistemas termodinámicos es la temperatura. En este caso es un parámetro que se comporta de la misma forma que la temperatura en un sistema físico.
(\J
{\ (
1(
f\
I
··�·Figura 3. Representación de una superficie ondulada con mínimos locales y un único mínimo global.
Por lo tanto, para mejorar el funcionamiento del sistema se disminuye su determinismo haciendo que las unidades se comporten de forma probabilística. Para entender el por qué de este comportamiento, puede utilizarse una analogía con un sistema físico muy sencillo. Supóngase una bola, por ejemplo metálica, situada sobre
una superficie ondulada como la de la figura 3. En ella existen diferentes lugares con altura pequeña (mínimos), pero sólo uno de ellos es el que se encuentra más bajo que
los demás, es el mínimo global del sistema.
Si se deja caer la bola desde uno de los extremos, ésta recorrerá la
superficie cayendo en un mínimo local si éste se encuentra antes en su camino que el
mínimo global. Una vez situada en este punto, la bola no puede salir de él por sí
misma, por lo que nunca será capaz de alcanzar el mínimo global. Sin e mbargo, si se
agita fuertemente el conjunto, la bola comenzará a moverse aleatoriamente y tendrá
más probabilidad de conseguir saltar las barreras que se interponen entre su posición
y la del míni mo global. Si este proceso de agitación del sist e m a se realiza
convenientemente y con continuidad, el sistema alcanzará una situación denominada
"equilibrio térmico", en la cual la bola continuará desplazándose de un lugar a otro,
pero la probabilidad de que se encuentre en un lugar determinado de la superficie se
mantiene estable y sólo depende de la altura de la superficie en ese punto.
Además, en el equilibrio térmico también se cu mple que el logarit mo de la
probabilidad de encontrar la bola en dos posiciones diferentes de la superficie es
proporcional a la diferencia entre la energía de las dos posiciones. Esta propiedad fue
utilizada por Scott K irpatrick [Kirpatrick, 1983] de IBM, con el nombre de "ruido térmico" para conseguir evitar los mínimos locales en redes del tipo de las que se está
tratando.
Para introducir esta idea del "ruido térmico" en la Máquina de Boltzmann
sólo es necesario modificar la regla de decisión del estado de las unidades. Éstas
deben calcular la suma de los pesos de sus conexiones con otras unidades activas de la
misma forma que antes, pero en vez de activarse siempre que este valor es mayor que
su umbral y desactivarse si es menor, deben utilizar la regla probabilística presentada
anteriormente. Esta regla de decisión es aplicable a una partícula con dos estados de
energía posibles. Si se tuviera un sistema compuesto por este tipo de partículas
conectadas entre sí y se so m et i era a alta t e m peratura dej ándolo enfr i ar
progresivamente, llegaría a alcanzar el equilibrio térmico y durante el proceso de
enfriado, la probabilidad de que el sistema se encontrase en un determinado estado
seguiría la distribución de Boltzmann. Aplicando de nuevo esta analogía física a la red
conexionista presentada, se puede suponer que si las unidades individuales funcionan
de acuerdo con la fórmula de probabilidad vista, partiendo de un estado global
arbitrario de alta energía, la red llegará a alcanzar el estado de "equilibrio térmico",
y la probabilidad relativa de dos estados seguirá la distribución de Boltzmann, cuya
expresión es:
siendo:
P0 : probabilidad de que el sistema se encuentre en el estado global a.
E0 : energía del estado global a de la red.
La utilización de esta fórmula en el desarrollo del sistema es la causa del
nombre de M áquina de Boltzmann asignado a la red.
La distribución de Bolt z m ann posee c i ertas propiedades bastante
interesantes como las siguientes:
- Es una relación muy sencilla y fácil de manejar.
- La diferencia de los logaritmos de las probabilidades de dos
estados es igual a la diferencia entre las energías de dichos estados
(fijada la temperatura al valor 1).
- La distribución de equilibrio es independiente del camino seguido
hasta alcanzar el estado de equilibrio.
- Está íntimamente relacionada con la Teoría de la Información.
A bajas temperaturas el sistema tiene una fuerte tendencia a situarse en
estados de baja energía, mientras que con valores de T altos la tendencia es bastante
más pequeña. Sin e mbargo, si la te mperatura es alta, el equilibrio se alcanza con
mayor rapidez que si es baja, situación en la que se puede tardar mucho tie mpo en
llegar a la situación de equilibrio. Para aprovechar esta circunstancia, se comienza
con un valor de temperatura alto, y se reduce progresivamente, observando los
diferentes estados por los que va pasando la red hasta estabilizarse. Este proceso se
corresponde con el te mplado de un sistema físico real (si mulated annealing).
A altas te mperaturas la red tiende a ignorar las diferencias de energía
pequeñas y alcanza rápidamente la situación de equilibrio. La situación obtenida
puede considerarse un buen míni mo para el nivel más general y tosco de la estructura
global del sistema. Es decir, en este pri mer momento la configuración de la red
refleja la estructura del entorno, pero de forma muy general y poco afinada. A
medida que disminuye la temperatura, la red se hace más sensible a las diferencias de
energía y evolucionará hasta encontrar un mínimo mejor dentro de la escala de
afinado que había conseguido con el mínimo anteriorm ente encontrado. Este
procedimiento de búsqueda de la estructura tosca antes de depurar el resultado para
conseguir una mayor aproxi mación a la estructura real es muy útil en proble m as en
los que han de satisfacerse una gran cantidad de restricciones débiles. Sin e mbargo, el
procedimiento fracasa en los casos en los que la solución se encuentra en un mínimo
muy profundo y aislado.