Está en la página 1de 27

REDES NEURONALES

HOPFIELD

1
INTRODUCCION

A continuación explicaremos uno de los modelos pertenecientes al


grupo de redes realimentadas, siendo quizás el modelo de Hopfield
uno de los más representativos. Se tratará en primer lugar la red de
Hopfield discreta (de entradas y salidas digitales), empleada como
memoria asociativa o en la eliminación de ruido en imágenes. Cuando
el modelo de neurona de Hopfield se interpreta desde un punto de
vista probabilístico se obtiene la denominada maquina de Boltzman,
que se verá brevemente.

Posteriormente realizaremos una breve introducción a la red de


Hopfield continua (de entradas y salidas analógicas), que se emplea
en la resolución de problemas de optimización.

2
ANTECEDENTES

En la década de los 80´s con el fin de estudiar procesos que involucran


sistemas gobernados por ecuaciones diferenciales no lineales surge la
teoría clásica de control geométrico basada en la geometría
diferencial; simultáneamente renace el estudio de las Redes
Neuronales debido al redescubrimiento del algoritmo Back-
propagation, este hecho sumado al fracaso de las metodologías
tradicionales aplicadas a la inteligencia artificial y a la disponibilidad de
herramientas computacionales de bajo costo permitieron el desarrollo
las redes neuronales recurrentes cuya principal aplicación es el control
e identificación de sistemas no lineales. Este desarrollo es posible
debido a que las propiedades matemáticas de las redes recurrentes
están enmarcadas en las mismas propiedades que fundamentan el
control geométrico, la primera red neuronal recurrente de naturaleza
dinámica fue propuesta por Hopfield en 1984 bajo el contexto de las
memorias asociativas.

3
MODELO DE HOPFIELD

 Little, Amari o Grossberg.


 Función de energía de la red.
 Relaciones de este modelo de red neuronal con ciertos modelos de la
física estadística.
 Facilidad de realización electrónica del modelo.

¿ Qué son?

 Redes de adaptación probabilística (recurrentes).


 Arquitecturas de una capa con interconexión total.
 Regla de aprendizaje no supervisado.

4
ARQUITECTURA DE LA
RED HOPFIELD
Consiste básicamente en una única capa de neuronas, donde cada una se
conecta con todas las demás.

5
ARQUITECTURA DE LA
RED HOPFIELD
Se trata de una neurona similar a la perceptrón, un sencillo elemento de umbral, con
entradas binarias ({0,1} o {-1,+1}, según convenga), y salidas que en
principio llamaremos también binarias. Los pesos w ij son continuos, es
decir, números reales.

6
DINAMICAS DE LA RED
(ESQUEMAS DE ACTUALIZACIÓN)
a). Dinámica asíncrona o modo serie de operación. En un instante t
solamente una neurona de la red actualiza su estado.

b). Dinámica síncrona o modo paralelo de operación. En un instante t


varias neuronas actualizan su estado a la vez. En el caso en que todas
las neuronas lo hagan al unisonó se tiene el modo completamente
paralelo.

7
FUNCION DE ENERGIA
DE LA RED DE HOPFIELD
"Si se pude hallar una función acotada de las variables de estado de un
sistema dinámico, tal que todos los cambios de estado den lugar a una
disminución del valor de la función, entonces el sistema posee una
solución estable".
En el caso de la Red de Hopfield esa función existe:

Como la red es recurrente, las salidas en un determinado instante


representan el próximo conjunto de entradas y así tanto los pesos
como las entradas están explícitamente representados.

Propiedades de E:
• Todo cambio de x da lugar a una disminución de E
• E posee un límite inferior.
• E cuando cambia lo hace en una cantidad finita.
8
DINAMICA DE LA
RED HOPFIELD

Con pasos sería así:

•Se establece el patrón de entrada en la capa de entrada.


• Se actualizan las neuronas de la capa de procesamiento.
•Si han cambiado el estado de la red o hemos realizada ya
el ..número máximo de iteraciones paramos.
• Si no volvemos al pasos 2.

9
DINAMICA DE LA
RED HOPFIELD

Regla de hebb.

Los pasos para que la red aprenda una lista de patrones son los
siguientes:

Para cada patrón de la lista P


Se establece el patrón de entrada de P en los sensores, la capa de
….entrada.
Se hace que las neuronas de la capa desalida se actualicen sus estados
….a los valores de la capa de entrada.
Solicitar que aprendan todas las sinapsis usando las sinapsis laterales.
Hacer los pesos de las sinapsis nulos.

10
REDES HOPFIELD

11
PUNTOS DE ESTABILIDAD DE LA RED

12
LIMITACIONES DE LAS RH
Existen varios problemas asociados a la red Hopfield.

1. Número limitado de entradas en la etapa de aprendizaje:


Si se almacenan demasiadas informaciones, durante su
funcionamiento la red puede converger a valores de salida
diferentes de los aprendidos.

2. Ortogonalidad de las informaciones aprendidas:


Si las informaciones almacenadas no son suficientemente
diferentes entre sí (no son ortogonales)

siendo N el número total de componentes por patrón.

13
MAQUINA DE BOLTZMANN

La máquina de Boltzmann usa estados binarios, conexiones


bidireccionales, transiciones probabilísticas y puede tener unidades
ocultas.

El modelo matemático de la Máquina de Boltzmann tiene dos


atributos:

• Se puede considerar como un modelo de implementación paralela en


forma masiva del algoritmo de recocido simulado.

• Permite el diseño de un algoritmo de aprendizaje basado en


conceptos relativamente simples.

14
MODELO DE HOPFIELD ANALOGICO

El modelo de Hopfield discreto presenta rasgos que lo apartan


de la realidad biológica.

15
RECONOCIMIENTO DE PATRONES

Ejemplo
El entrenamiento va a consistir en el aprendizaje de dos informaciones
(patrones) de cuatro pixeles cada una.
las informaciones de entrada de la red van a ser dos vectores (M=2) de 4
elementos (N=4) conteniendo los valores de los pixeles. La red tendría 4
neuronas para que cada una reciba el valor de un pixel.

16
RECONOCIMIENTO DE PATRONES

ETAPA DE APRENDIZAJE
El aprendizaje de estas dos informaciones consiste en la obtención de
los pesos de la red (matriz W).
Para la entrada E1
La salida W1 es

17
RECONOCIMIENTO DE PATRONES

Para la entrada E2
La salida W2 es

18
RECONOCIMIENTO DE PATRONES

Sumando W1 y W2 se obtiene la matriz de pesos definitiva, W

19
ETAPA DE FUNCIONAMIENTO

Si aplicamos a la red la entrada

E = [1 -1 -1 -1] , el vector de salida seria

20
Como suponemos una función de activación de cada neurona de tipo
escalón con desplazamiento sobre el origen, la salida de la red
después de la primera iteración es:
S = [1 1 -1 -1]
Repitiendo el proceso, tomando como entrada la salida anterior, S.

21
Aplicando igualmente la función de activación la salida obtenida
es
S = [1 1 -1 -1]
Al repetirse la salida, la red se ha estabilizado, generándose el
patrón más parecido al que se ha presentado como entrada.

22
FILTRADO DE IMAGENES DIGITALES

• El objetivo en este programa es que la red neuronal aprenda una imagen nítida y sin
ruido y que a partir de esta sea capaz de quitarle el ruido a otra imagen similar

• Los pasos que se deben seguir son los siguientes:


• las figuras original y a la que se va a realizar el filtrado deben encontrarse en un
archivo, y se deben leer desde matlab como se muestra en el siguiente comando

b1=imread('c:\matlab7\work\botel.bmp');
b1r=imread('c:\matlab7\work\botel_ruid.bmp');

La imágenes en formato RGV (rojo, Verde y azul) ocupan demasiado espacio en


memoria y resulta complicado el procesamiento por parte de las redes neuronales.
Es por esto conveniente pasarlo a formato blanco y negro por medio de los dos
comandos
b1bw=im2bw(b1);
b1rbw=im2bw(b1r);
Las diferente imágenes sin ruido, con ruido y filtrada se muestran en la figura
en el orden estricto de derecha a izquierda.

Fig. Imagen sin ruido, imagen con ruido, imagen filtrada.


El siguiente paso que debe seguir la en el programa es cambiar de formato la imagen

T=reshape(b1bw,400,1);
FILTRADO DE IMAGENES DIGITALES

net=newhop(double(T)); % entrenamiento de la red

• Como se trata de una red con entrenamiento no supervisado no hay necesidad


de controlar el aprendizaje. La red aprende los patrones que se especifiquen.

• Para mirar el desempeño que tiene la red se debe usar la imagen con ruido con su
formato cambiado a vector y simular la red y el resultado se puede mostrar en una
gráfica. El código es el siguiente:
T1=reshape(b1rbw,400,1);
[Y,Pf,Af] = sim(net,1,[ ],double(T1));
a=reshape(Y,20,20);
subplot(1,3,3)
imshow(a)
PROCEDIMIENTO:
Elabore el programa con los pasos descritos anteriormente.
Por medio del comando sim modifíquelo hasta que la salida de la imagen filtrada
sea idéntica a la imagen original.
CONCLUSIONES

• Las redes de Hopfield se han aplicado a campos como la


percepción el reconocimiento de imágenes y optimización de
problemas, mostrando gran inmunidad al ruido y robustez.
• El problema de sintetizar mediante una red de Hopfield una
memoria asociativa que almacene una serie de vectores
predeterminados es complejo.
• El problema fundamental es el diseño de una función de
energía que se ajuste a las condiciones de estabilidad global
de la red de Hopfield y cuyos puntos de mínimo coincidan con
los de la función a minimizar.

26
27

También podría gustarte