Está en la página 1de 10

HOPFIELD

ANCEDENTES La red de Hopfield es una de las redes unicapas ms importantes y ha influido en el desarrollo de multitud de redes posteriores. Es una red autoasociativa no lineal que fue desarrollada por Hopfield en 1982 basndose en los modelos de redes de McCulloch y Pitts y los smiles de los campos magnticos con spin de Amit, Gutfreund, & Sompolinsky. Sin duda, uno de los principales responsables del desarrollo que ha experimentado el campo de la computacin neuronal ha sido J. Hopfield, quien construy un modelo de red con el nmero suficiente de simplificaciones como para poder extraer analticamente informacin sobre las caractersticas relevantes del sistema, conservando las ideas fundamentales de las redes construidas en el pasado y presentando una serie de funciones bsicas de sistemas neuronales bsicas. Con su aportacin, Hopfield redescubri el mundo casi olvidado de las redes autoasociativas, caracterizadas por una nueva arquitectura y un nuevo funcionamiento, a las que tuvo que aadir otro tipo de reglas de aprendizaje. Jhon Hopfield, gracias al trabajo sobre neurofisiologa en invertebrados, desarroll un tipo de red neuronal autoasociativa. Estas redes son bastante parecidas al modelo del Perceptrn, pero presentan una caracterstica adicional: las neuronas en la capa media, cuentan con conexiones de salida hacia otras neuronas de la capa media. Adems, cada neurona de la capa de entradas est conectada con una neurona de la capa media, y cada neurona de la capa media emite una sola conexin hacia la capa de salidas. El hecho de que todas las neuronas de la capa media se encuentren interconectadas, hace que en esta capa se d una retroalimentacin entre sus neuronas, de forma que al activarse una neurona de esta capa hace que las otras neuronas cambien su estado de activacin, que a la vez harn cambiar el suyo propio. La red de Hopfield es una de las redes neuronales artificiales ms importantes y ha influido en el desarrollo de multitud de redes posteriores. Se basa en el planteamiento de una memoria asociativa La red neuronal de Hopfield puede trabajar con varias neuronas y permite conexiones recurrentes pero siempre dentro de la misma capa. Es un modelo de red con el nmero suficiente de simplificaciones como para extraer analticamente informacin sobre las caractersticas relevantes del sistema, conservando las ideas fundamentales de las redes construidas en el pasado y presentando una serie de funciones bsicas de los sistemas neuronales biolgicos.

Dentro de los paradigmas de aprendizaje, la red neuronal de Hopfield presenta un tipo de aprendizaje no supervisado, fuera de lnea y de tipo Hebbiano, producindose como consecuencia las siguientes dos etapas: la etapa de aprendizaje y la etapa de funcionamiento de la red. Este tipo de aprendizaje asegura la estabilidad de la red, es decir la convergencia hacia una respuesta estable cuando se presenta una informacin de entrada adecuada. Se explora la estructura subyacente o las correlaciones entre los patrones de datos y se organizan estos patrones en categoras a partir de las correlaciones encontradas. Las investigaciones sobre la estabilidad de esta red se basan en el establecimiento de una funcin llamada funcin de energa de la red que representa los posibles estados de la red.

MODELO COMPUTACIONAL
ARQUITECTURA El modelo de Hopfield consiste en una red monocapa con N neuronas cuyos valores de salida son binarios: 0/1 1/+1. En la versin original del modelo (Hopfield Discreto) las funciones de activacin de las neuronas eran del tipo escaln. Se trataba, por tanto, de una red discreta, con entradas y salidas binarias; sin embargo, posteriormente Hopfiled desarroll una versin continua con entradas y salidas analgicas utilizando neuronas con funciones de activacin tipo sigmoidal (Hopfield Continuo).

Cada neurona de la red se encuentra conectada a todas las dems (conexiones laterales), pero no consigo misma (no existen conexiones autorecurrentes). Adems, los pesos asociados a las conexiones entre pares de neuronas son simtricos. Esto significa que el peso de la conexin de una neurona i con otra j es de igual valor que el de la conexin de la neurona j con la i (wij=wji).

FUNCION ACTIVACION
En el caso de las redes de Hopfield continuas, se trabaja con valores reales en los rangos [1,+1] [0,1]. En ambos casos, la funcin de activacin de las neuronas es de tipo sigmoidal. Si se trabaja con valores entre 1 y +1, la funcin que se utiliza es la tangente hiperblica:

eE ( x  i )  e f ( x  Ui ) ! tgh(E ( x  i )) ! ( x i ) e  e-

( x i ) ( x i )

Si el rango es [0,1], se utiliza la misma funcin que para la red backpropagation:

f ( x  i) !

1 1 e
( x  i)

En ambos caso, E es un parmetro que determina la pendiente de la funcin sigmoidal. Desventajas y El nmero mximo de patrones no correlacionados que puede almacenar es igual al 15% del nmero de neuronas de la red. y Requieren mucho tiempo de procesamiento hasta converger a una solucin estable, lo que limita su aplicabilidad y Otro de los problemas achacados a las redes de Hopfield es su tendencia a caer en mnimos locales, como en las redes de retropropagacin. La solucin pasa por aplicar los mtodos estadsticos que ya comentamos en el apartado dedicado a las redes de retropropagacin, el equilibrio termodinmico simulado.

TOPOLOGIA

ALGORITMO DE APREDIZAJE (2 EJEMPLOS PRACTICOS)


Algoritmo secuencial (Asncrono) Tomamos uno de los patrones memorizados, p, y lo introducimos como vector de estado inicial, con N dimensiones y(0)=[y1(0),y2(0), ..., yN(0)]T Empezamos a realizar iteraciones desde k=1 hasta la convergencia. Las actualizaciones o cambios de estado se realizan en orden secuencial, una unidad en cada paso, desde i=1 hasta i=N. 1. Clculo de los valores de red

2. Actualizacin de los estados

Se repite el mismo proceso para cada iteracin hasta la convergencia, lo que ocurre cuando ninguno de los elementos cambia de estado durante alguna iteracin.

Si hay algn cambio de enega, debe ser negativo. Puesto que E no debe decrecer indefinidamente, las iteraciones de la red deben terminar en un nmero finito de pasos; de este modo la convergencia est garantizada. Algoritmo paralelo (Sncrono) Los pesos se obtienen igual con una diferencia, la diagonal no se pone a 0

wij 0 Los umbrales de la red se calculan igual que en el modelo secuencial.

Durante la iteracin k-sima:

1. Clculo de los valores de red en paralelo (todas las unidades en cada paso) para i=1,2..., N,

2. Actualizacin de los estados de activacin e paralelo

Repetir el mismo proceso para la siguiente iteracin hasta la convergencia, que ocurre cuando ninguno de los elementos cambia de estado durante cualquier iteracin. Prueba de la convergencia

El cambio de nivel de energa debido a una iteracin de actualizacin paralela, aplicando , nos queda

Puesto que la matriz W se forma a partir del producto externo sin la anulacin de la diagonal, es una matriz definida no negativa, esto es, D kE2 <= 0. Debera estar claro ahora que D kE1 <= 0. Ms precisamente, D kE1 < 0 si ocurre una actualizacin no trivial. (Esto tambin asegura que no hay posibilidad de oscilacin de cualquier estado de convergencia.) y FUNCIONES DE ENERGA Y CONVERGENCIA Utilizando la Funcin de Liapunov como concepto de Funcin de Energa: E = - S S Wij ai aj - S q i ai iji Bajo la situacin ideal de que los vectores almacenados son perfectamente ortogonales, entonces cada patrn original representa un mnimo local (o global) de la funcin de energa. Esto motiva que se disee la red para que iterativamente se pueda buscar el estado de mnimo local. La tcnica del gradiente nos lleva al modelo secuencial de Hopfield. La diferencia de la funcin de energa antes y despus de la actualizacin de un estado es: D kE = E ( k+ 1 ) - E ( k)

En caso de una actualizacin secuencial (asncrona), hay solo una adaptacin de un bit al mismo tiempo. Sin perdida de generalidad, asumamos que sea en D ai(k) + 1)E en el bit i-esimo: D kE = - ui( k+ 1 ) D ai ( k+ 1 ) - Wij Puesto que Wii = 0: D kE = - Ui (k + 1) D ai( k+ 1 ) Introduzcamos una versin discreta del gradiente como:

Para garantizar el descenso de la Funcin de Energa D ai( k+ 1 ) se debera actualizar en la direccin de descenso del gradiente: D ai( k+ 1 ) a ui( k+ 1 ) Suponiendo que la entrada a la red de retroalimentacin es a, que se usa como el vector de estado inicial, esto es, se fija a= a(0) = (a1(0), a2 (0), ..., aN(0)]T y las iteraciones inician en k=1 hasta la convergencia. Durante la iteracin k-sima, la red realiza la actualizacin en orden secuencial desde i=1, i=2,..., hasta i=N se tiene que: Clculo del valor de red Ui(K + 1) = S Wij aj (k) + q I Actualizacin de los estados ai (k + 1) = 1 Ui (k + 1) > 0 0 Ui (k + 1) <0 ai (k) Ui (k + 1)=0 Se repite el mismo proceso para la siguiente iteracin hasta la convergencia, lo que ocurre cuando ninguno de los elementos cambia de estado durante alguna iteracin. D kE = - Ui( k+ 1 ) D ai ( k+ 1 )

APLICACIONES ACTUALES
En cuanto a las aplicaciones ms conocidas de este modelo destacan las relacionadas con el reconocimiento de imgenes y de voz, el control de motores y sobre todo la resolucin de problemas de optimizacin. En este ltimo mbito se ha aplicado para la resolucin de ecuaciones y del problema del viajante de comercio, manipulacin de grafos, procesado de seales (conversores analgico-digitales) y de imgenes, etc.

Problema del vendedor viajero (TSP: Travelling Salesman Problem) Este problema consiste en, dadas N ciudades que tiene que visitar un vendedor, encontrar el camino ms corto para, partiendo de una de ellas, visitarlas todas sin pasar ms de una vez por cada una y volviendo finalmente a la ciudad de partida. La complejidad reside en la enorme cantidad de posibles caminos, muchos de ellos de longitud similar. Para N ciudades, el nmero de rutas alternativas es de N! / (2N). De esta forma, para 5 ciudades existen 12 caminos posibles; para 10 ciudades, el nmero de rutas es de 181.440. Vamos a centrarnos en el caso particular de 5 ciudades. En este ejemplo, como hemos dicho anteriormente, existiran 12 rutas cerradas diferentes, cuya longitud depender del orden en que se visiten las ciudades. 1 2 3 4 5 1 0 20 30 40 35 2 20 0 25 30 15 3 30 25 0 50 35 4 40 30 50 0 20 5 35 15 35 20 0 Distancia (en km) entre las 5 ciudades Desarrollo Este problema puede abordarse utilizando una red Hopfield de N.N neuronas, siendo N el nmero de ciudades. Aunque la red es de tipo contnuo con valores en el intervalo [0,1], cuando la red se estabiliza, las salidas de las neuronas de la red tendrn valores binarios (1 si la neurona es activa). Cada neurona activa de la red informara del orden de una ciudad determinada en el recorrido del viajero. Debemos, por tanto, imaginarnos la red como una matriz NxN donde cada fila est asociada a una ciudad, y las columnas con la posicin de cada ciudad dentro del recorrido. As, si la neurona de la fila 2 y columna 3 est activa, nos indicara que la ciudad nmero 2 es la tercera en la ruta (w, x, 2, y, z). El primer paso consiste en encontrar una expresin (bastante compleja) de la funcin objetivo que se quiere minimizar. A continuacin hay que relacionar esta funcin objetivo con la funcin energa de una red Hopfield para obtener una expresin, tambin bastante compleja, de los pesos de los enlaces de la red.

Por tanto, si se implementa una red contnua de NxN neuronas con unos umbrales y unos pesos con los valores obtenidos anteriormente, se llegar a una situacin de estabilidad en la que slo habr activa una neurona por cada fila y columna. Para este ejemplo, la figura representa la situacin final de la red cuya longitud total es de 130 km.

BIBLIOGRAFIA
http://es.davidhorat.com/publicaciones/descarga/hopfield.pdf http://www.monografias.com/trabajos12/redneur/redneur.shtml#TIPREDES http://thales.cica.es/rd/Recursos/rd98/TecInfo/07/capitulo5.html http://www.monografias.com/trabajos38/redes-neuronales/redes-neuronales2.shtml http://rna.50webs.com/tutorial/RNA_hopfield.html#Algoritmo secuencial (Asncrono)