La red neuronal de Hopfield es una red neuronal totalmente conectada con una matriz de conexión simétrica. En el proceso de operación, la dinámica de tales redes converge (converge) a una de las posiciones de equilibrio. Estas posiciones de equilibrio se determinan de antemano en el proceso de aprendizaje, son mínimos locales del funcional llamado energía de la red (en el caso más simple, mínimos locales de una forma cuadrática definida negativa sobre un cubo de n dimensiones). Dicha red se puede utilizar como memoria autoasociativa , como filtro y también para resolver algunos problemas de optimización .. A diferencia de muchas redes neuronales que funcionan hasta que se recibe una respuesta después de un cierto número de ciclos, las redes de Hopfield funcionan hasta que se alcanza un equilibrio, cuando el siguiente estado de la red es exactamente igual al anterior: el estado inicial es una imagen de entrada, y en el equilibrio se obtiene una imagen de salida [1] .
Su variación es la Red Neural de Hamming .
La red neuronal de Hopfield está diseñada de tal manera que su respuesta a las "imágenes" de referencia memorizadas se compone de estas imágenes en sí mismas, y si la imagen se distorsiona ligeramente y se aplica a la entrada, se restaurará y se recuperará la imagen original. recibirse en forma de respuesta. Por lo tanto, la red de Hopfield realiza la corrección de errores y ruidos.
La red de Hopfield es de una sola capa y consta de neuronas artificiales . Cada neurona del sistema puede tomar uno de dos estados en la entrada y en la salida (que es similar a la salida de una neurona con una función de activación de umbral ):
Debido a su naturaleza bipolar, las redes neuronales de Hopfield a veces se denominan espines .
Cada neurona está conectada con todas las demás neuronas. La interacción de las neuronas de la red se describe mediante la expresión:
donde es un elemento de la matriz de interacción , que consiste en los coeficientes de peso de las conexiones entre neuronas. En el proceso de aprendizaje se forma una matriz de salida que recuerda las "imágenes" de referencia - vectores binarios N -dimensionales: estas imágenes durante el funcionamiento de la red expresarán la respuesta del sistema a las señales de entrada, o en su defecto - los valores finales de las salidas después de una serie de iteraciones.
En la red de Hopfield, la matriz de conexión es simétrica ( ), y los elementos diagonales de la matriz se suponen iguales a cero ( ), lo que elimina el efecto de la neurona sobre sí misma y es necesario para la red de Hopfield, pero no es una condición suficiente para la estabilidad en el proceso de operación de la red. Suficiente es el modo de funcionamiento asíncrono de la red. Tales propiedades definen una estrecha conexión con sustancias físicas reales, llamadas vidrios giratorios .
La matriz de interacciones se almacena en las propias neuronas en forma de pesos cuando las neuronas se conectan con otras neuronas.
Entonces, por ejemplo, si la señal de entrada está definida por 10 parámetros, entonces la red neuronal de Hopfield se forma a partir de una capa con 10 neuronas. Cada neurona se conecta con las otras 9 neuronas, por lo que hay 90 (10 x 9) conexiones en la red. Para cada conexión, se determina un factor de ponderación . Todos los pesos de las conexiones forman la matriz de interacciones, que se completa durante el proceso de aprendizaje.
El entrenamiento de la red consiste en encontrar los pesos de la matriz de interacción de tal forma que recuerde los vectores (imágenes de referencia que componen la "memoria" del sistema).
El cálculo de los coeficientes se basa en la siguiente regla: para todas las imágenes almacenadas , la matriz de conexión debe satisfacer la ecuación
ya que es bajo esta condición que los estados de la red serán estables; una vez en tal estado, la red permanecerá en él.
Los vectores memorizados deben estar en forma binaria. El cálculo de los coeficientes de peso se realiza de acuerdo con la siguiente fórmula:
donde es la dimensión de los vectores, es el número de vectores de salida memorizados, es el número del vector de salida memorizado, es la i-ésima componente del j-ésimo vector de salida memorizado.
Esta expresión puede quedar más clara si notamos que la matriz de pesos se puede encontrar calculando el producto exterior de cada vector memorizado consigo mismo y sumando las matrices así obtenidas. Esto se puede escribir como
donde es el i-ésimo vector columna memorizado.
El cálculo de estos coeficientes de peso se denomina entrenamiento de red, el cual se lleva a cabo para una sola época.
El algoritmo de aprendizaje de la red de Hopfield difiere significativamente de los algoritmos de aprendizaje de perceptrones clásicos como el método de corrección de errores o el método de propagación inversa de errores . La diferencia radica en el hecho de que en lugar de aproximaciones sucesivas al estado deseado con cálculo de errores, todos los coeficientes de matriz se calculan de acuerdo con una fórmula, en un ciclo, después de lo cual la red está inmediatamente lista para funcionar.
Algunos autores refieren la red de Hopfield al aprendizaje no supervisado . Pero esto no es cierto, ya que el aprendizaje no supervisado implica la ausencia de información sobre a qué clases se deben asignar los estímulos. Para la red de Hopfield, sin esta información, es imposible ajustar los coeficientes de peso, por lo que aquí solo podemos decir que dicha red puede clasificarse como una red de optimización (filtro). Una característica distintiva de los filtros es que la matriz de peso se ajusta mediante un algoritmo determinista de una vez por todas, y luego los pesos ya no se modifican. Esto puede ser conveniente para la implementación física de dicho dispositivo, ya que es un orden de magnitud más difícil implementar un dispositivo con coeficientes de peso variables a nivel de circuito. Un ejemplo de un filtro sin retroalimentación es el algoritmo CC4 (clasificación de Cornel), creado por S.Kak.
Hay retroalimentaciones en la red de Hopfield y, por lo tanto, es necesario resolver el problema de estabilidad. Los pesos entre las neuronas en una red de Hopfield se pueden ver como una matriz de interacción . Cohen y Grossberg [2] demostraron que una red retroalimentada es estable si su matriz es simétrica y tiene ceros en la diagonal principal. Hay muchos otros tipos de sistemas estables, como todas las redes feed-forward, así como las modernas redes recurrentes de Jordan y Elman, para las cuales la condición de simetría no es necesaria. Pero esto se debe al hecho de que se imponen otras restricciones a las retroalimentaciones. En el caso de una red de Hopfield, la condición de simetría es necesaria, pero no suficiente, en el sentido de que el modo de operación de la red también afecta el logro de un estado estable. Se mostrará a continuación que solo el modo asíncrono de la red garantiza el logro de un estado estable de la red; en el caso síncrono, es posible un cambio infinito entre dos estados diferentes (esta situación se denomina atractor dinámico , mientras que un estado estable suele llamarse atractor estático).
Una vez que se dan los pesos, la red entrenada puede "reconocer" las señales de entrada, es decir, determinar a cuál de las muestras almacenadas pertenecen.
El vector de entrada pasa por un cierto número de iteraciones hasta que se alcanza la convergencia. En este caso, deben reconocerse muestras parcialmente distorsionadas o incompletas. Los valores del vector inicial se asignan primero a la entrada de la red (por lo tanto, la designación de las sinapsis de entrada en el diagrama de red de forma explícita es puramente convencional). Luego, la red cambia secuencialmente sus estados de acuerdo con la fórmula:
donde es la función de activación, y son los estados actual y siguiente de la red, hasta que coincidan los estados y (o, en el caso de operación síncrona, los estados con y simultáneamente con ). Este proceso se denomina convergencia de red. El estado estacionario resultante (atractor estático), o quizás, en el caso síncrono, el par { } (atractor dinámico), es la respuesta de la red a la imagen de entrada dada.
La salida de la red también puede ser un vector inverso (en el que se invierten los valores -1 y 1 en las muestras almacenadas). Si el sistema no ha encontrado una solución, la salida del sistema también puede ser un vector trivial que consta de solo 1 o solo -1.
Dado que las redes de retroalimentación tienen caminos que transmiten señales desde las salidas a las entradas, la respuesta de dichas redes es dinámica, es decir, después de aplicar una nueva entrada, se calcula la salida y, al pasar por la red de retroalimentación, modifica la entrada. Luego, la salida se vuelve a calcular y el proceso se repite una y otra vez. Para una red estable, las iteraciones sucesivas dan como resultado cambios cada vez más pequeños en la salida hasta que finalmente la salida se vuelve constante. Para algunas redes, el proceso nunca termina; este tipo de redes se denominan inestables. El problema de la estabilidad se considerará en la siguiente sección, pero aquí consideraremos el ciclo principal de la red.
Una vez que se dan los pesos, la red se puede usar para obtener un vector de salida aprendido a partir de un vector de entrada dado, que puede ser parcialmente incorrecto o incompleto. Para ello, primero se asignan a las salidas de la red los valores de este vector inicial. Luego, la red cambia secuencialmente sus estados de acuerdo con la fórmula:
donde F es la función de activación, y son los estados actual y siguiente de la red, hasta que coinciden los estados y (o, en el caso de operación síncrona, los estados con y simultáneamente con ). Este proceso se denomina convergencia de red.
Esto también puede ser descrito por el llamado campo local que actúa sobre la neurona desde todas las demás neuronas en la red: .
Después de calcular el campo local de la neurona , este valor se utiliza para calcular el valor de salida a través de la función de activación, que en este caso es un umbral (con un umbral cero). En consecuencia, el valor de la salida de la neurona i en el momento actual se calcula mediante la fórmula:
,donde es el coeficiente de peso entre las neuronas i y j, son los valores de salida de la neurona j en el momento de tiempo anterior.
Durante el funcionamiento de la red de Hopfield, una señal de encontrar una solución es el momento en que se alcanza un atractor, estático (cuando un estado estable se repite en cada paso siguiente ) o, posiblemente, dinámico (cuando dos estados diferentes { } alternan ad infinito ). Este es el estado final de la red y es su reacción a esta imagen.
La respuesta normal es un estado tan estable que coincida con uno de los vectores memorizados durante el entrenamiento. Pero bajo ciertas condiciones (en particular, con demasiadas imágenes almacenadas), el resultado del trabajo puede ser el llamado atractor falso ("quimera"), que consta de varias partes de diferentes imágenes almacenadas. En modo síncrono, la red también puede convertirse en un atractor dinámico. Ambas situaciones son generalmente indeseables, ya que no corresponden a ningún vector almacenado y, en consecuencia, no determinan la clase a la que la red asignó la imagen de entrada.
Para la red Hopfield, puede haber dos modificaciones que difieren en el tiempo de transmisión de la señal : modos asíncronos y síncronos. En la práctica, solo se utiliza el modo asíncrono.
Si la red se modela en un solo procesador, entonces en el modo síncrono, las neuronas se ven secuencialmente, pero sus estados se almacenan por separado y no cambian hasta que se hayan atravesado todas las neuronas de la red. Cuando se ven todas las neuronas, sus estados simultáneamente (es decir, sincrónicamente, de ahí el nombre) cambian a otros nuevos. De este modo, se logra la simulación de operación en paralelo mediante un algoritmo secuencial.
En la simulación paralela real, este modo en realidad significa que el tiempo de transferencia para cada enlace entre elementos y es el mismo para cada enlace, lo que hace que todos los enlaces funcionen en paralelo, cambian sus estados al mismo tiempo, basándose solo en el punto anterior. a tiempo. La presencia de tales relojes sincrónicos, que se pueden identificar fácilmente y conduce a una comprensión del modo sincrónico. En el modo síncrono, es posible una alternancia infinita de dos estados con diferentes energías (aunque lejos de observarse siempre): el llamado atractor dinámico. Por lo tanto, el modo síncrono prácticamente no se usa para la red de Hopfield y se considera solo como una base para comprender el modo asíncrono más complejo.
Si la operación de la red se modela como un algoritmo secuencial, entonces, en el modo de operación asíncrono, los estados de las neuronas en el siguiente momento del tiempo cambian secuencialmente: el campo local se calcula para la primera neurona en el momento , se determina su reacción y la neurona se establece en un nuevo estado (que corresponde a su salida en el momento ), luego se calcula el campo local para la segunda neurona teniendo en cuenta el nuevo estado de la primera, el estado de la segunda neurona cambia, y así sucesivamente - el estado de cada neurona siguiente se calcula teniendo en cuenta todos los cambios en los estados de las neuronas consideradas anteriormente.
De hecho, con la implementación secuencial de la red de Hopfield, no se ve claramente cuál es la asincronía, pero se puede ver si la red de Hopfield se implementa con computación paralela. En este caso, el modo asíncrono de la red Hopfield se simplifica, y es un caso especial comparado con la forma general de las redes asíncronas, donde el tiempo de transmisión para cada conexión entre elementos es diferente , pero constante. Para considerar el funcionamiento de una red en implementación paralela, es necesario introducir el concepto de ciclo, como el tiempo mínimo durante el cual se transmite una señal a través de una conexión, es decir, en . Entonces, durante el intervalo de tiempo entre y ocurre un cierto número de ciclos N. Y es dentro del límite de tiempo de N ciclos que ocurre la asincronía en el flujo de señales y la ejecución de cálculos. Es decir, por ejemplo, cuando necesita calcular el estado de la neurona n.° 3, debe calcular el estado de la neurona n.° 1 y el estado de la neurona n.° 2 y multiplicarlo por los pesos correspondientes y . Pero resulta que, para calcular el estado de la neurona n.° 2, debe conocer el estado actualizado de la neurona n.° 1 y el estado anterior de la neurona n.° 3, multiplicarlos por los pesos y . Está claro que es físicamente imposible calcular el estado de la neurona No. 1 y el estado de la neurona No. 2 al mismo tiempo, ya que el estado de la neurona No. 2 depende del estado de la neurona No. 1. Por lo tanto, la conexión entre la neurona n° 1 y la neurona n° 3 tiene un tiempo de transmisión , y llega a la neurona n° 3 en dos ciclos. Es decir, un tiempo de transmisión tan diferente nos permite hablar de la red de Hopfield como una red con un modo asíncrono.
En modo asíncrono, un atractor dinámico es imposible: independientemente del número de imágenes almacenadas y del estado inicial, la red seguramente llegará a un estado estable (atractor estático).
Si, durante el entrenamiento, se forma una matriz de coeficientes de peso (conexiones interneuronales) basada en vectores binarios de referencia, entonces la red neuronal en el proceso de operación bajo la acción de los campos descritos anteriormente cambiará los estados de las neuronas hasta que cambie a uno de los estados estables.
Sea una red neuronal con dimensión , se escribe un conjunto de imágenes en blanco y negro (−1 - negro, +1 - blanco) en la matriz de conexión, entre las cuales hay una imagen de un perro (figura a la derecha ). Si establece el estado inicial de la red cerca de este vector (figura de la izquierda, imagen distorsionada), entonces, durante la dinámica, la red neuronal restaurará la imagen original (referencia). En este sentido, podemos decir que la red de Hopfield resuelve el problema del reconocimiento de patrones (aunque, estrictamente hablando, la imagen de referencia resultante aún debe convertirse en un número de clase, lo que en algunos casos puede ser una tarea muy intensiva desde el punto de vista computacional).
imagen distorsionada | Referencia |
La diferencia fundamental entre los dos modos de funcionamiento de la red es que, en el caso asíncrono, la red llegará necesariamente a un estado estable. Con sincrónico, son posibles situaciones con una transición cíclica infinita entre dos estados diferentes.
Es posible determinar si el estado de una neurona es estable o no en base a la llamada energía artificial de una neurona en un campo dado . Si el signo de la salida (+1 o −1) de la neurona coincide con la dirección del campo local ( ), entonces su posición es energéticamente estable y en el siguiente momento el estado de la neurona permanece sin cambios. En caso contrario ( ), la posición de la neurona es inestable y cambia de signo, pasando a un estado con energía .
La estabilidad con el método asíncrono se logra porque se cumple la condición de energía total de la red . En el caso síncrono, la condición cambia algo, a saber: . En una situación donde ocurren transiciones cíclicas infinitas, la energía de dos estados diferentes es respectivamente igual a y . En este caso, los estados y , así como y — coinciden. Si se forma tal estado, entonces se llama un atractor dinámico. Si los estados y coinciden , el atractor se llama estático. En la mayoría de los casos, los atractores dinámicos no son deseables porque no corresponden a ninguna respuesta de red en particular.
La red de retroalimentación forma una memoria asociativa . La red de Hopfield se puede atribuir a la memoria autoasociativa, es decir, aquella que puede completar o corregir una imagen, pero no puede asociar la imagen recibida con otra imagen. Para organizar una memoria autoasociativa estable utilizando una red con retroalimentación, los pesos deben elegirse de manera que formen mínimos de energía en los vértices deseados del hipercubo unitario .
El procesamiento de imágenes visuales (filtrado y memoria asociativa) no es la única aplicación del modelo de Hopfield. El procedimiento dinámico descrito anteriormente reduce el valor de energía de la red neuronal en cada paso. Esto permite resolver problemas de optimización combinatoria si se pueden formular como problemas de minimización de energía. El problema clásico de este tipo es el problema del viajante de comercio .
( El problema del viajante de comercio no se puede resolver usando la red neuronal de Hopfield) La red de Hopfield se puede usar para resolver el problema del viajante de comercio (necesita dar la vuelta a las n ciudades y volver a la original para que la longitud de la ruta recorrida sea mínimo). Para hacer esto, puede imponer, por ejemplo, los siguientes requisitos en la red:
Resulta que las siguientes consideraciones simples son suficientes para resolver este problema:
Todas estas condiciones se satisfacen mediante la siguiente fórmula para calcular el peso entre la neurona correspondiente a la ciudad en la posición de la ruta y la neurona correspondiente a la ciudad en la posición :
donde A, B, C, D son unas constantes, es la distancia entre ciudades y , es el símbolo de Kronecker , que toma el valor 1 si x=y y el valor 0 en caso contrario. Como es fácil ver, el primer término es igual para todas las conexiones en la misma línea ( ), excepto para la conexión de la neurona consigo misma (en ). El segundo término es igual para todos los enlaces en la misma columna ( ) excepto el enlace a sí mismo ( ). El tercer término es proporcional a la distancia entre ciudades y si estas ciudades son adyacentes en la ruta ( o ).
Si dicha red se lleva a un estado inicial aleatorio, entonces podemos esperar que el estado estable resultante nos dé una ruta subóptima, cuya longitud no exceda demasiado la óptima (la ruta en sí puede diferir significativamente de la óptima). una). En consecuencia, para la aplicación práctica, la red debe ejecutarse varias veces y elegir la mejor ruta.
La solución a este problema es interesante no tanto por su calidad (existen algoritmos que lo resuelven de forma más eficiente [3] ), sino por el propio planteamiento de los problemas de optimización: si es posible traducir las condiciones de un determinado problema a las parámetros de conexiones entre neuronas, entonces puede ser relativamente bien resuelto por la red sin ningún análisis o más.
Desafortunadamente, la red neuronal de Hopfield tiene una serie de desventajas.
1. Cantidad de memoria relativamente pequeña, cuyo valor se puede estimar mediante la expresión:
Un intento de grabar más imágenes lleva a que la red neuronal deje de reconocerlas.
2. Alcanzar un estado estable no garantiza la correcta respuesta de la red. Esto se debe al hecho de que la red puede converger en los llamados atractores falsos, a veces llamados "quimeras" (por regla general, las quimeras se unen a partir de fragmentos de diferentes imágenes).
Tipos de redes neuronales artificiales | |
---|---|
|
Aprendizaje automático y minería de datos | |
---|---|
Tareas | |
Aprendiendo con un maestro | |
análisis de conglomerados | |
Reducción de dimensionalidad | |
Pronóstico estructural | |
Detección de anomalías | |
Graficar modelos probabilísticos | |
Redes neuronales | |
Aprendizaje reforzado |
|
Teoría | |
revistas y congresos |
|