Herramienta Redes Neuronales Neural Networks with java Herramienta Redes Neuronales
Herramienta Redes Neuronales Neural Networks with java
       
 

 

Menu

Introducción
a las Redes Neuronales
API del
Marco de trabajo
Tutorial
Marco de
Trabajo
JRedesNeruonales
Downloads
Hompage
Marco de
trabajo

 

 


la Red de Hopfield.

La red de Hopfield es una de las redes unicapas más 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 basándose en los modelos de redes de McCulloch y Pitts y los símiles de los campos magnéticos con spin de Amit, Gutfreund, & Sompolinsky.

 

Arquitectura de la red de hopfield

La red de Hopfield es una red monocapa, esto es, de una sola capa. Aunque también se puede mostrar como una red bicapa de dos capas, la primera capa seria una capa de sensores y la segunda capa será la capa donde se realiza el procesamiento.

En la versión bicapa la manera de interconexionar ambas capas es unir la primera capa a la segunda linealmente, esto es cada neurona con su respectiva, y después unir todas las neuronas con todas en la misma capa.

La red de Hopfield toma valores bipolares esto es, {-1,1}, sin embargo se pueden usar también valores binarios {0,1}.


Dinámica de la red de hopfield

Ejecutar un patrón en la red de Hopfield consiste en enviar un patrón en la red y actualizar las neuronas repetidamente hasta que se estabilicen los estados de las neuronas a un patrón memorizado.

Con pasos sería así.

1 Se establece el patrón de entrada en la capa de entrada.
2. Se actualizan las neuronas de la capa de procesamiento.
3. Si han cambiado el estado de la red o hemos realizada ya el número máximo de iteraciones paramos.
4. Si no volvemos al pasos 2.


Las neuronas de actualizan de la siguiente manera:

Sea

POT = El potencial de la neurona i,
Pij = El peso asociado a la sinapsis que une las neuronas i de la capa actual y j de la capa de sensores.
Ej = El estado del sensor j

Entonces

POTi = SumatorioEnj(Pij*Ej)

Y el estado de la neurona y la función de salida es la función signo

Si los valores de entrada fuesen binarios deberíamos usar la función escalón en vez de la función signo.

El potencial se calcula de la misma manera que en el caso bipolar

 

Aprendizaje de la red de hopfield

Esta red aprende usando la regla de hebb, esto es asociamos los pesos de las sinapsis al Estado de las neuronas pre y postsinápticas. Los pasos para que la red aprenda una lista de patrones son los siguientes:

1 Para cada patrón de la lista P
2 Se establece el patrón de entrada de P en los sensores, la capa de entrada.
2 Se hace que las neuronas de la capa de salida se actualicen sus estados a los valores de la capa de entrada.
3 Solicitar que aprendan todas las sinapsis usando las sinapsis laterales.
4 Hacer los pesos de las sinapsis nulos.


Si la red de Hopfield es bipolar, {-1,1}, Las sinapsis que une las neuronas i, j aprenderán de la siguiente manera:

Sea
Ei = El estado de la neurona i de la capa de salida.
Pij = El peso actual asociado a la sinapsis que une la neurona i y la neurona j de la capa de salida.
Ej = El estado de la neurona j de la capa de salida.
Pijnuevo = El peso actualizado.
N = el número de patrones de la lista de patrones.

Entonces

Pijnuevo = Pij + Ej*Ei / N

 

 

 

INDICE