SlideShare uma empresa Scribd logo
1 de 13
REDES DE HOPFIELD
Sin duda, uno de los principales responsables del desarrollo que ha experimentado el campo
de la computación neuronal ha sido J. Hopfield, quien construyó un modelo de red con el
número suficiente de simplificaciones como para poder extraer analíticamente información
sobre las características relevantes del sistema, conservando las ideas fundamentales de las
redes construidas en el pasado y presentando una serie de funciones básicas de sistemas
neuronales básicas.
Con su aportación, Hopfield redescubrió el mundo casi olvidado de las redes
autoasociativas, caracterizadas por una nueva arquitectura y un nuevo funcionamiento, a las
que tuvo que añadir otro tipo de reglas de aprendizaje.

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 versión original del modelo (Hopfield Discreto) las
funciones de activación de las neuronas eran del tipo escalón. Se trataba, por tanto, de una
red discreta , con entradas y salidas binarias; sin embargo, posteriormente Hopfiled
desarrolló una versión continua con entradas y salidas analógicas utilizando neuronas con
funciones de activación tipo sigmoidal (Hopfield Continuo).




Cada neurona de la red se encuentra conectada a todas las demás (conexiones laterales),
pero no consigo misma (no existen conexiones autorecurrentes). Además, los pesos
asociados a las conexiones entre pares de neuronas son simétricos. Esto significa que el
peso de la conexión de una neurona i con otra j es de igual valor que el de la conexión de la
neurona j con la i (wij=wji).
La versión discreta de esta red fue ideada para trabajar con valores binarios –1 y +1
(aunque mediante un ajuste de los pesos pueden utilizarse en su lugar los valores 1 y 0). Por
tanto, la función de activación de cada neurona (i) de la red (f(x)) es de tipo escalón:
+ 1 x > θ i 
                         f ( x) =             
                                  − 1 x < θ i 
Cuando el valor de x coincide exactamente con θi, la salida de la neurona i permanece son
su valor anterior. θi es el umbral de disparo de la neurona i, que representa el
desplazamiento de la función de transferencia a lo largo del eje de ordenadas (x). En el
modelo de Hopfield discreto suele adoptarse un valor proporcional a la suma de los pesos
de las conexiones de cada neurona con el resto:

                                             N
                                 θ i = k ∑ wij
                                            j =1


Si se trabaja con los valores –1 y +1, suele considerarse el valor nulo para θi.. Si los valores
binarios son 0 y 1, se toma un valor de ½ para k.
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 función de activación de las neuronas es de tipo
sigmoidal. Si se trabaja con valores entre –1 y +1, la función que se utiliza es la tangente
hiperbólica:


                                                 e α ( x −θ i ) − e -α ( x −θ i )
             f ( x − θ i ) = tgh(α ( x − θ i )) = α ( x −θ i )
                                                 e              + e -α ( x −θ i )
Si el rango es [0,1], se utiliza la misma función que para la red backpropagation:


                                        1
               f ( x − θ i) =
                                1 + e −α ( x −θ i )




En ambos caso, α es un parámetro que determina la pendiente de la función sigmoidal.

FUNCIONAMIENTO
Una de las características del modelo de Hopfield, es que se trata de una red
autoasociativa. Así, varias informaciones (patrones ) diferentes pueden ser almacenadas en
la red, como si de una memoria se tratase, durante la etapa de aprendizaje. Posteriormente,
si se presenta a la entrada alguna de las informaciones almacenadas, la red evoluciona hasta
estabilizarse, ofreciendo entonces en la salida la información almacenada, que coincide con
la presentada en la entrada. Si, por el contrario, la información de entrada no coincide con
ninguna de las almacenadas, por estar distorsionada, o incompleta, la red evoluciona
generando como salida la más parecida.
La información que recibe esta red debe haber sido previamente codificada y representada
en forma de vector (como una configuración binaria si la red es discreta, y como conjunto
de valores reales si es continua) con tantas componentes como neuronas (N) tenga la red.
Esa información es aplicada directamente a la única capa de que consta la red, siendo
recibida por las neuronas de dicha capa (cada neurona recibe una parte de la información,
un elemento del vector que representa dicha información). Si consideramos en principio el
caso de una neurona concreta de la red, esta neurona recibiría como entrada las salidas de
cada una de las otras neuronas, valores que inicialmente coincidirán con los de entrada,
multiplicadas por los pesos de las conexiones correspondientes. La suma de todos estos
valores constituirá el valor de entrada neta de la neurona, al que le será aplicada la función
de transferencia, obteniéndose el valor de salida correspondiente, 0/1 ó –1/+1 si la red es
discreta, y un número real en el intervalo [0,1] ó [-1,+1] si es continua.
La descripción anterior correspondería a un primer paso en el procesamiento realizado por
la red. Este proceso continúa hasta que las salidas de las neuronas se estabilizan, lo cual
ocurrirá cuando dejen de cambiar de valor. Entonces, el conjunto de estos (N) valores de
salida de todas las neuronas constituye la información de salida que ha generado la red, que
se corresponderá con alguna de las informaciones que durante la etapa de aprendizaje
fueron almacenadas en la misma.
Este funcionamiento puede expresarse matemáticamente de la siguiente forma:
1º: En el instante inicial (t=0) se aplica la información de entrada (valores e1, e2, ..., eN).
                                     si(t=0)=ei 1 ≤ i ≤ N
Inicialmente, la salida de las neuronas coincide con la información aplicad a la entrada.

2º: La red realiza iteraciones hasta alcanzar la convergencia (hasta que si(t+1) sea
igual a si(t)).
                                         N
                    si (t + 1) = f (∑ wij s j (t ) − θ i )            1≤i≤N
                                         j =1
Donde f es la función de transferencia (activación) de las neuronas de la red. En el caso del
modelo discreto, si se trabaja con valores binarios –1 y +1, la salida se obtendría según la
función escalón:


                                                 N                        
                             + 1                 ∑     wij s j (t ) > θ i 
                                                  j =1                    
                             
                                                N                         
                                                                           
                si (t + 1) = s i (t )          ∑ wij s j (t ) = θ i 
                                               j =1                       
                                                   N                      
                             − 1
                             
                                                  ∑     wij s j (t ) < θ i 
                                                                           
                                                  j =1                    
El proceso se repite hasta que las salidas de las neuronas permanecen sin cambios durante
algunas iteraciones. En ese instante, la salida (s1, s2, ..., sN) representa la información
almacenada por la red que más se parece a la información presentada en la entrada (e1,
e2, ..., eN).

El funcionamiento descrito corresponde a una red de Hopfield discreta clásica, ya que
trabaja con informaciones binarias. Sin embargo, existe una variación del modelo
desarrollada también por Hopfield que pretende parecerse un poco más al funcionamiento
de las neuronas reales, se trata de la red Hopfield continua, con funciones de activación de
las neuronas de tipo sigmoidal, que ofrece más posibilidades que la anterior, ya que permite
almacenar patrones formados por valores reales (por ejemplo, imágenes en color o en
blanco y negro con diferentes tonalidades de grises) y además facilita la resolución de
determinados problemas generales de optimización.

Tanto en este caso como en el de la red discreta, se pueden distinguir diferentes versiones
del modelo en función de la forma temporal en que se lleva a cabo la generación o
actualización de las salidas de las neuronas de la red. Si esta actualización se realiza de
forma simultanea en todas las neuronas, se trata de una red de Hopfield con funcionamiento
paralelo o síncrono, ya que supone que todas las neuronas son capaces de operar
sincronizadas y que, por tanto, la salida es generada al mismo tiempo por todas aquellas en
cada iteración, de tal forma que en la próxima iteración (t+1) todas van a utilizar como
entradas las salidas generadas por las otras en el instante anterior (t). Si, por el contrario, las
neuronas trabajan de forma secuencial, actualizándose sólo la salida de una neurona en cada
iteración, se tratará de una red Hopfield con funcionamiento secuencial o asíncrono. En este
caso, ocurre que la salida a la que converge la red puede ser diferente en función del orden
de activación de las neuronas.

También existe la posibilidad, sólo utilizada en las redes Hopfield continuas, que trabajan
con valores no binarios, de que la generación de la salida de todas las neuronas se realice de
forma simultánea (síncrona) y continuada en el tiempo. En este caso, el funcionamiento de
la red tendría que ser representado en forma de una ecuación diferencial:
                     ∂s i       N
                  τi      = f (∑ wij s j − θ i ) − s i
                     ∂t        j =1
Donde f es la función de activación de las neuronas, que será de tipo sigmoidal y τi es un
parámetro, denominado tasa de retardo, que pretende representar una característica
biológica de las neuronas, como es el retraso que se produce en la recepción por parte de
una neurona i de los valores de las salidas generados por las otras neuronas a las que está
conectada.

Si se pretende simular una red Hopfield continua como la anterior, puede hacerse
resolviendo la ecuación diferencial utilizando métodos numéricos, aunque también, y sobre
todo, puede implementarse físicamente de forma directa mediante un circuito analógico que
tenga un comportamiento gobernado por una ecuación similar.
En estos circuitos, los pesos entre neuronas se implementan como resistencias, las
funciones de activación mediante amplificadores operacionales, y la tasa de retardo de cada
neurona se consigue colocando en paralelo una resistencia y un condensador a la entrada
del amplificador correspondiente.

APRENDIZAJE
La red de Hopfield tiene un mecanismo de aprendizaje OFF LINE. Por tanto, existe una
etapa de aprendizaje y otra de funcionamiento de la red. En la etapa de aprendizaje se fijan
los valores de los pesos en función de las informaciones que se pretende que memorice o
almacene la red.

Esta red utiliza un aprendizaje no supervisado de tipo hebbiano, de tal forma que el peso de
una conexión entre una neurona i y otra j se obtiene mediante el producto de los
componentes i-ésimo y j-ésimo del vector que representa la información o patrón que debe
almacenar. Si el número de patrones a aprender es M, el valor definitivo de cada uno de los
pesos se obtiene mediante la suma de los M productos obtenidos por el procedimiento
anterior, un producto por información a almacenar.

En el caso de la red Hopfield discreta, que trabaja con valores –1 y +1, este algoritmo de
aprendizaje puede expresarse de la siguiente forma:

                           M (k ) (k )                             
                          ∑ e e              1 ≤ i, j ≤ N ; i ≠ j 
                    wij =  k =1 i ij                               
                          0                   1 ≤ i, j ≤ N ; i = j 
                                                                   
Siendo:
       wij: Peso asociado a la conexión entre la neurona j y la neurona i, que coincide con
            wji.
       e (k ) : Valor de la componente i-ésima del vector correspondiente a la información
         j
          k-ésima que debe aprender la red.
       N:   Número de neuronas de la red, y por tanto, tamaño de los vectores de
          aprendizaje.
M: Número de informaciones que debe aprender la red.

Si la red trabajase con valores discretos 0/, en lugar de –1/+1, entonces los pesos se
calculan según la expresión:

                    M                                                       
                    ∑ (2ei − 1)(2eij - 1)    1 ≤ i, j ≤ N ; i ≠
                           (k )    (k )
                                                                            j
              wij =  k =1                                                   
                    0            1 ≤ i, j ≤ N ; i = j                       
                                                                            
El algoritmo de aprendizaje también se suele expresar utilizando una notación matricial. En
tal caso se podría considerar una matriz W de dimensiones NxN que representase todos los
pesos de la red:


                               w11 w 21 w31 ...... w N 1 
                               w w w ...... w            
                          w =  12 22 32              N2 

                                      ......             
                                                         
                               w1N w2 N w3 N ...... w NN 
Esta matriz es simétrica, al cumplirse que wij=wji, y tiene una diagonal principal con valores
nulos debido a la no existencia de conexiones autorrecurrentes (wii=0).

También se tendría el conjunto de los M vectores que representa las informaciones que ha
de aprender la red:



                             E1 = [e1(1) , e 21) ,..., e N1) ]
                                             (           (


                             E 2 = [e1( 2) , e 22) ,..., e N2 ) ]
                                               (           (


                                                .............
                             E M = [e1( M ) , e 2M ) ,..., e NM ) ]
                                                (            (

Utilizando esta notación, el aprendizaje consistirá en la creación de la matriz de pesos W a
partir de los M vectores o informaciones de entrada (E1,...EM) que se enseñan a la red.
Matemáticamente se expresaría:

                                            M
                                   W = ∑ [Ek Ek − I ]
                                           T

                                           k =1
                   T
Donde la matriz E es la traspuesta de la matriz Ek, e I la matriz identidad de dimensiones
                   k

NxN que anula los pesos de las conexiones autorrecurentes (wii).
Un ejemplo de cómo se obtienen los pesos, podría consistir en el entrenamiento de una red
para que aprenda dos informaciones (patrones) correspondientes a sendas figuras
representadas mediante un cierto número de pixeles:




Los pixeles negros podrían representarse mediante el valor binario +1, y los blancos con el
valor de –1. En este caso, las informaciones serían dos vectores (M=2) de 4 elementos
(N=4) que contienen los valores de los pixeles. La red, por tanto, tendría 4 neuronas para
que cada una reciba el valor de un pixel.

Los valores de los vectores de entrada que representan a las figuras a y b respectivamente,
son:

                           E1 = [1,1,−1,−1]           E 2 = [−1,−1,1,1]

El aprendizaje de estas dos informaciones consistirá en la obtención de los pesos de la red
(matriz W):

                              1                1 0 0 0 0 1 - 1 - 1
                              1                                     
                 E1 E 1 − I =
                  T            [1 1 - 1 - 1] − 0 1 0 0 = 1 0 - 1 - 1
                              − 1              0 0 1 0 - 1 - 1 0 1
                                                                    
                              − 1              0 0 0 1 - 1 - 1 1 0

                             − 1               1 0 0 0 0 1 - 1 - 1
                             − 1                                    
                 E2 E2 − I =
                  T           [ − 1 - 1 1 1] − 0 1 0 0 = 1 0 - 1 - 1
                             1                 0 0 1 0 - 1 - 1 0 1
                                                                    
                             1                 0 0 0 1 - 1 - 1 1 0
0 2 - 2 - 2 
                                  2              2 0 - 2 - 2 
                            W = ∑ [Ek Ek − I ] = 
                                     T                          
                                k =1             - 2 - 2 0 2 
                                                               
                                                 - 2 - 2 2 - 0 


Una vez finalizada la fase de aprendizaje, la red podría ser utilizada como memoria
asociativa de acceso por contenido, de tal forma que al presentarle una información más
parecida de la almacenada durante el aprendizaje. Por ejemplo, se podría comprobar lo que
ocurre con la figura:




Inicialmente, la salida corresponde a la propia información de entrada. Entonces se produce
la primera iteración, obteniéndose las siguientes nuevas entradas netas en cada neurona:

                                      0 2 - 2 - 2
                                       2 0 - 2 - 2
                E.W = [1 - 1 - 1 - 1]               = [ 2 6 - 2 - 2]
                                      - 2 - 2 0 2
                                                   
                                      - 2 - 2 2 0
Si suponemos una función de activación de cada neurona de tipo escalón centrada en el
origen (desplazamiento θi=0), la salida de la red después de esta primera iteración será:

                                       S=[1 1 -1 -1]

Si se repite el proceso, en la segunda iteración las entradas netas serán:


                                   0 2 - 2 - 2 
                                   2 0 - 2 - 2
                E.W = [1 1 - 1 - 1]             = [6 6 - 6 - 6]
                                   - 2 - 2 0 2 
                                               
                                   - 2 - 2 2 0 

Entonces, después de esta segunda iteración, se obtienen los siguientes valores a la salida:
S=[1 1 -1 -1]

Puede observarse que se repite la salida de la primera iteración, se ha llegado a una
situación de estabilidad, en la que la red ha generado como salida el patrón más parecido al
presentado como entrada:




Aunque la descripción del aprendizaje de una red Hopfield se ha utilizado el modelo
discreto, la forma de calcular los pesos para el caso continuo es similar si se utiliza la red
como memoria asociativa. Si la red se utiliza para resolver problemas de optimización, el
cálculo de los pesos dependerá del problema concreto. Además, el modelo continuo se
suele considerar la existencia de conexiones autorrecurrentes, con lo que no siempre wii=0.

LA FUNCIÓN ENERGÍA
Como ya se ha mencionado, el aprendizaje de la red Hopfield es de tipo hebbiano. La
elección de esta regla de aprendizaje por Hopfield fue, entre otras razones, debido a que
asegura la estabilidad de la red; es decir, la convergencia hacia una respuesta estable
cuando se presenta una información de entrada.

Muchas de las investigaciones acerca de la estabilidad de las redes se basan en el
establecimiento de una función, denominada función energía de la red, para representar los
posibles estados (puntos de equilibrio) de la red. De hecho, una de las causas por la que se
considera a Hopfield responsable de impulsar el desarrollo en el campo de las redes
neuronales, es precisamente el haber aplicando modelos matemáticos como éste, lo cual
constituyó la base de posteriores trabajos sobre redes neuronales.

La función de energía de una red Hopfield discreta tiene la siguiente forma:

                              1 N N               N
                         E = − ∑ ∑ wij s i s j + ∑ θ i s i
                              2 i =1 j =1        i =1
                                         i≠ j


Siendo:

       wij: Peso de la conexión entre las neuronas i y j.
        si: Valor de salida de la neurona i.
        sj: Valor de salida de la neurona j.
θi: Umbral de la función de activación de la neurona i.

Esta expresión guarda una profunda similitud formal con la energía mecánica clásica. Trata
de representar la evolución del sistema, considerando cada configuración (vector) de las
salidas de las neuronas de la red como puntos en un espacio de dimensión N y relacionando
el estado de la red en cada momento con un punto en ese espacio. La función energía puede
imaginarse entonces como una superficie que representa determinados valores mínimos,
algo semejante a un paisaje montañoso donde los mínimos serían los valles.




Cuando en la red se han almacenado M informaciones o patrones, los posibles estados
estables de la red serán también M (durante su funcionamiento podrá responder ante una
entrada con una salida que represente alguno de esos M patrones registrados). Estos M
estados corresponden precisamente a los mínimos de la función energía. Cuando se
presenta a la entrada de la red una nueva información, ésta evoluciona hasta alcanzar un
mínimo de la función energía, generando una salida estable.

Cuando la red de Hopfield se utiliza como memoria asociativa, el objetivo es conseguir que
los patrones que debe memorizar se sitúen en los mínimos de la función y,
consecuentemente, sean los estados estacionarios (estables) de la red. Puede demostrarse
que esto se consigue si se verifica que los pesos de las conexiones autorrecurrentes son
nulos (wii=0) y si el resto cumple la regla de Hebb ( wij = ∑ s s s s ), de ahí que Hopfield
eligiera dicho aprendizaje.

En cuanto a las redes de Hopfield continuas, su autor considera que una posible expresión
de su función de energía es la siguiente:

                                                        s
                          1 N N             N i
                     E = − ∑∑ wij si s j + ∑ ∫ f −1 ( s )ds
                          2 i =1 j =1      i =1 0
                                    i≠ j


donde f-1 es la inversa de la función de activación sigmoidal (f) de una neurona. Si la
función f fuese, por ejemplo, f(x)=1/(1+e-α(x-θi)), entonces la inversa sería f-1(s)=-
(½ln(-1+1/s))+θi, con lo que la función energía quedaría de la siguiente forma:
s
                   1 N N             N
                                          1 N i 1
              E = − ∑∑ wij si s j + ∑θ i − ∑ ∫ ln( − 1)ds
                   2 i =1 j =1      i =1  α i =1 0 s
                             i≠ j


Puede observarse que coincidiría con la función energía de la red Hopfield discreta si no
existiera el último término, cuyo valor depende del parámetro α de la función de activación
de las neuronas, que representa la ganancia o la pendiente de esta función sigmoidal. Por
ello, habrá que tener especial cuidado en la elección de su valor, ya que influye
directamente en los mínimos de la función energía,. Si α tiene un valor infinito (función de
activación de tipo escalón), este término se hace cero y la red se convierte en una red
Hopfield discreta. Si el valor de α es finito, pero muy grande (α>>1), el término puede
despreciarse y os mínimos de la función de energía siguen siendo los mismos. Pero si α
tiene valores pequeños, disminuye el número de mínimos de esta función y, como
consecuencia, el número de posibles estados estables de la red, reduciéndose a un solo
mínimo cuando α=0.

LIMITACIONES DEL MODELO DE HOPFIELD
En un red de Hopfield, el número de informaciones que puede ser aprendido (almacenado)
está severamente limitado. Si se almacenan demasiadas informaciones, durante su
funcionamiento la red puede converger a valores de salida diferentes de los aprendidos
durante la etapa de entrenamiento, con lo que la tarea de asociación entre la información
presentada y alguna de las almacenadas se realiza incorrectamente, pues se está asociando
dicha información de entrada a otra desconocida.

Esta situación no se produce nunca si el número de informaciones almacenadas es menor o
igual que N/4lnN, siendo N el número de neuronas de la red. Sin embargo, este límite puede
suavizarse si se permite la posibilidad de un mínimo error en la recuperación de las
informaciones almacenadas, suficientemente pequeño para poder identificar dicha
información sin ningún problema; en tal caso, el número de informaciones que se pueden
almacenar debe ser menor que el 13.8% del número de neuronas de la red (13.8N). por
tanto, la capacidad o cantidad de informaciones que pueden almacenar una red Hopfield de
N neuronas es:

                   0.138.N          para una recuperación suficientemente buena 
                                                                                
       Capacidad =  N                                                           
                    4 ln N          para una recuperación perfecta              
                                                                                

esta es una seria limitación de la red Hopfield, puesto que para almacenar unas pocas
informaciones se precisará una gran cantidad de neuronas, y por tanto, un número muy
elevado de conexiones. Por ejemplo, tomando la limitación del 13.8%, en una red de 100
neuronas, que tendría 100x99=9900 conexiones, sólo se podrían almacenar 13
informaciones.
Una segunda limitación del modelo, es que, a pesar de cumplirse el requisito anterior, no
siempre se puede garantizar que la red realice una asociación correcta entre una neurona y
una de las informaciones almacenadas. Si estas últimas no son suficientemente diferentes
entre sí, es decir, si no son ortogonales, puede ocurrir que para cada una de ellas no
represente un mínimo de la función energía, con la probabilidad de que se generen salidas
diferentes a todas ellas. También puede ocurrir que ante una entrada que coincida con una
de las informaciones aprendidas, la red converja hacia una salida correspondiente a otra de
las informaciones almacenadas que fuese muy parecida.

Mais conteúdo relacionado

Mais procurados

Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVannesa Salazar
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalizaciónMarcelo Herrera
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Búsqueda Primero el Mejor
Búsqueda Primero el MejorBúsqueda Primero el Mejor
Búsqueda Primero el MejorTutor4uDev
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresBertha Vega
 
RED NEURONAL Backpropagation
RED NEURONAL BackpropagationRED NEURONAL Backpropagation
RED NEURONAL BackpropagationESCOM
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Miguel Brunings
 
Tipos de control de flujo
Tipos de control  de flujoTipos de control  de flujo
Tipos de control de flujoFernando Luz
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUrban Skate House
 
Analisis de fourier para señales
Analisis de fourier para señalesAnalisis de fourier para señales
Analisis de fourier para señalesdoc digitus
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemMirna L. Torres Garcia
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalAngel Vázquez Patiño
 
Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoESCOM
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discretaJunior Soto
 

Mais procurados (20)

Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalización
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Búsqueda Primero el Mejor
Búsqueda Primero el MejorBúsqueda Primero el Mejor
Búsqueda Primero el Mejor
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadores
 
RED NEURONAL Backpropagation
RED NEURONAL BackpropagationRED NEURONAL Backpropagation
RED NEURONAL Backpropagation
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Tipos de control de flujo
Tipos de control  de flujoTipos de control  de flujo
Tipos de control de flujo
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
Analisis de fourier para señales
Analisis de fourier para señalesAnalisis de fourier para señales
Analisis de fourier para señales
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modem
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y Entrenamiento
 
Autómata de Pila
Autómata de Pila Autómata de Pila
Autómata de Pila
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 

Semelhante a REDES NEURONALES De Hopfield

Semelhante a REDES NEURONALES De Hopfield (20)

Perceptron parte 1
Perceptron parte 1Perceptron parte 1
Perceptron parte 1
 
Redes 1
Redes 1Redes 1
Redes 1
 
Las Redes de Hopfield
Las Redes de HopfieldLas Redes de Hopfield
Las Redes de Hopfield
 
Alea 0506 resumen-----simulacion
Alea 0506 resumen-----simulacionAlea 0506 resumen-----simulacion
Alea 0506 resumen-----simulacion
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Unidad 4 matematicas aplic a las comunic
Unidad 4 matematicas aplic a las comunicUnidad 4 matematicas aplic a las comunic
Unidad 4 matematicas aplic a las comunic
 
Función de activación de Logsig y tansig
Función  de activación de Logsig y tansigFunción  de activación de Logsig y tansig
Función de activación de Logsig y tansig
 
Función Logsig y tansig
Función Logsig y tansigFunción Logsig y tansig
Función Logsig y tansig
 
La Memoria de BAM/Hopfield
La Memoria de BAM/HopfieldLa Memoria de BAM/Hopfield
La Memoria de BAM/Hopfield
 
Redes de neuronas recurrentes
Redes de neuronas recurrentesRedes de neuronas recurrentes
Redes de neuronas recurrentes
 
TEORÍA DE RESONANCIA ADAPTATIVA
TEORÍA DE RESONANCIA ADAPTATIVATEORÍA DE RESONANCIA ADAPTATIVA
TEORÍA DE RESONANCIA ADAPTATIVA
 
Tema4
Tema4Tema4
Tema4
 
Fss2
Fss2Fss2
Fss2
 
Teoría de Interpolación
Teoría de InterpolaciónTeoría de Interpolación
Teoría de Interpolación
 
Regla de aprendizaje del perceptrón simple
Regla de aprendizaje del perceptrón simpleRegla de aprendizaje del perceptrón simple
Regla de aprendizaje del perceptrón simple
 
Mr1i 753-2007-2
Mr1i 753-2007-2Mr1i 753-2007-2
Mr1i 753-2007-2
 
Emalgoritmo
EmalgoritmoEmalgoritmo
Emalgoritmo
 
Notas de Clase Econometria - Modelos MA(p)
Notas de Clase Econometria - Modelos MA(p)Notas de Clase Econometria - Modelos MA(p)
Notas de Clase Econometria - Modelos MA(p)
 
Ecuaciones def sistema
Ecuaciones def sistemaEcuaciones def sistema
Ecuaciones def sistema
 
Analisis de señales discretas en t
Analisis de señales discretas en tAnalisis de señales discretas en t
Analisis de señales discretas en t
 

Mais de ESCOM

redes neuronales tipo Som
redes neuronales tipo Somredes neuronales tipo Som
redes neuronales tipo SomESCOM
 
redes neuronales Som
redes neuronales Somredes neuronales Som
redes neuronales SomESCOM
 
redes neuronales Som Slides
redes neuronales Som Slidesredes neuronales Som Slides
redes neuronales Som SlidesESCOM
 
red neuronal Som Net
red neuronal Som Netred neuronal Som Net
red neuronal Som NetESCOM
 
Self Organinising neural networks
Self Organinising  neural networksSelf Organinising  neural networks
Self Organinising neural networksESCOM
 
redes neuronales Kohonen
redes neuronales Kohonenredes neuronales Kohonen
redes neuronales KohonenESCOM
 
Teoria Resonancia Adaptativa
Teoria Resonancia AdaptativaTeoria Resonancia Adaptativa
Teoria Resonancia AdaptativaESCOM
 
ejemplo red neuronal Art1
ejemplo red neuronal Art1ejemplo red neuronal Art1
ejemplo red neuronal Art1ESCOM
 
redes neuronales tipo Art3
redes neuronales tipo Art3redes neuronales tipo Art3
redes neuronales tipo Art3ESCOM
 
Art2
Art2Art2
Art2ESCOM
 
Redes neuronales tipo Art
Redes neuronales tipo ArtRedes neuronales tipo Art
Redes neuronales tipo ArtESCOM
 
Neocognitron
NeocognitronNeocognitron
NeocognitronESCOM
 
Neocognitron
NeocognitronNeocognitron
NeocognitronESCOM
 
Neocognitron
NeocognitronNeocognitron
NeocognitronESCOM
 
Fukushima Cognitron
Fukushima CognitronFukushima Cognitron
Fukushima CognitronESCOM
 
Counterpropagation NETWORK
Counterpropagation NETWORKCounterpropagation NETWORK
Counterpropagation NETWORKESCOM
 
Counterpropagation NETWORK
Counterpropagation NETWORKCounterpropagation NETWORK
Counterpropagation NETWORKESCOM
 
Counterpropagation
CounterpropagationCounterpropagation
CounterpropagationESCOM
 
Teoría de Resonancia Adaptativa Art2 ARTMAP
Teoría de Resonancia Adaptativa Art2 ARTMAPTeoría de Resonancia Adaptativa Art2 ARTMAP
Teoría de Resonancia Adaptativa Art2 ARTMAPESCOM
 
Teoría de Resonancia Adaptativa ART1
Teoría de Resonancia Adaptativa ART1Teoría de Resonancia Adaptativa ART1
Teoría de Resonancia Adaptativa ART1ESCOM
 

Mais de ESCOM (20)

redes neuronales tipo Som
redes neuronales tipo Somredes neuronales tipo Som
redes neuronales tipo Som
 
redes neuronales Som
redes neuronales Somredes neuronales Som
redes neuronales Som
 
redes neuronales Som Slides
redes neuronales Som Slidesredes neuronales Som Slides
redes neuronales Som Slides
 
red neuronal Som Net
red neuronal Som Netred neuronal Som Net
red neuronal Som Net
 
Self Organinising neural networks
Self Organinising  neural networksSelf Organinising  neural networks
Self Organinising neural networks
 
redes neuronales Kohonen
redes neuronales Kohonenredes neuronales Kohonen
redes neuronales Kohonen
 
Teoria Resonancia Adaptativa
Teoria Resonancia AdaptativaTeoria Resonancia Adaptativa
Teoria Resonancia Adaptativa
 
ejemplo red neuronal Art1
ejemplo red neuronal Art1ejemplo red neuronal Art1
ejemplo red neuronal Art1
 
redes neuronales tipo Art3
redes neuronales tipo Art3redes neuronales tipo Art3
redes neuronales tipo Art3
 
Art2
Art2Art2
Art2
 
Redes neuronales tipo Art
Redes neuronales tipo ArtRedes neuronales tipo Art
Redes neuronales tipo Art
 
Neocognitron
NeocognitronNeocognitron
Neocognitron
 
Neocognitron
NeocognitronNeocognitron
Neocognitron
 
Neocognitron
NeocognitronNeocognitron
Neocognitron
 
Fukushima Cognitron
Fukushima CognitronFukushima Cognitron
Fukushima Cognitron
 
Counterpropagation NETWORK
Counterpropagation NETWORKCounterpropagation NETWORK
Counterpropagation NETWORK
 
Counterpropagation NETWORK
Counterpropagation NETWORKCounterpropagation NETWORK
Counterpropagation NETWORK
 
Counterpropagation
CounterpropagationCounterpropagation
Counterpropagation
 
Teoría de Resonancia Adaptativa Art2 ARTMAP
Teoría de Resonancia Adaptativa Art2 ARTMAPTeoría de Resonancia Adaptativa Art2 ARTMAP
Teoría de Resonancia Adaptativa Art2 ARTMAP
 
Teoría de Resonancia Adaptativa ART1
Teoría de Resonancia Adaptativa ART1Teoría de Resonancia Adaptativa ART1
Teoría de Resonancia Adaptativa ART1
 

Último

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfluisantoniocruzcorte1
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdfLA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdfJAVIER SOLIS NOYOLA
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 

Último (20)

Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdfLA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 

REDES NEURONALES De Hopfield

  • 1. REDES DE HOPFIELD Sin duda, uno de los principales responsables del desarrollo que ha experimentado el campo de la computación neuronal ha sido J. Hopfield, quien construyó un modelo de red con el número suficiente de simplificaciones como para poder extraer analíticamente información sobre las características relevantes del sistema, conservando las ideas fundamentales de las redes construidas en el pasado y presentando una serie de funciones básicas de sistemas neuronales básicas. Con su aportación, Hopfield redescubrió el mundo casi olvidado de las redes autoasociativas, caracterizadas por una nueva arquitectura y un nuevo funcionamiento, a las que tuvo que añadir otro tipo de reglas de aprendizaje. 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 versión original del modelo (Hopfield Discreto) las funciones de activación de las neuronas eran del tipo escalón. Se trataba, por tanto, de una red discreta , con entradas y salidas binarias; sin embargo, posteriormente Hopfiled desarrolló una versión continua con entradas y salidas analógicas utilizando neuronas con funciones de activación tipo sigmoidal (Hopfield Continuo). Cada neurona de la red se encuentra conectada a todas las demás (conexiones laterales), pero no consigo misma (no existen conexiones autorecurrentes). Además, los pesos asociados a las conexiones entre pares de neuronas son simétricos. Esto significa que el peso de la conexión de una neurona i con otra j es de igual valor que el de la conexión de la neurona j con la i (wij=wji). La versión discreta de esta red fue ideada para trabajar con valores binarios –1 y +1 (aunque mediante un ajuste de los pesos pueden utilizarse en su lugar los valores 1 y 0). Por tanto, la función de activación de cada neurona (i) de la red (f(x)) es de tipo escalón:
  • 2. + 1 x > θ i  f ( x) =   − 1 x < θ i  Cuando el valor de x coincide exactamente con θi, la salida de la neurona i permanece son su valor anterior. θi es el umbral de disparo de la neurona i, que representa el desplazamiento de la función de transferencia a lo largo del eje de ordenadas (x). En el modelo de Hopfield discreto suele adoptarse un valor proporcional a la suma de los pesos de las conexiones de cada neurona con el resto: N θ i = k ∑ wij j =1 Si se trabaja con los valores –1 y +1, suele considerarse el valor nulo para θi.. Si los valores binarios son 0 y 1, se toma un valor de ½ para k. 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 función de activación de las neuronas es de tipo sigmoidal. Si se trabaja con valores entre –1 y +1, la función que se utiliza es la tangente hiperbólica: e α ( x −θ i ) − e -α ( x −θ i ) f ( x − θ i ) = tgh(α ( x − θ i )) = α ( x −θ i ) e + e -α ( x −θ i )
  • 3. Si el rango es [0,1], se utiliza la misma función que para la red backpropagation: 1 f ( x − θ i) = 1 + e −α ( x −θ i ) En ambos caso, α es un parámetro que determina la pendiente de la función sigmoidal. FUNCIONAMIENTO Una de las características del modelo de Hopfield, es que se trata de una red autoasociativa. Así, varias informaciones (patrones ) diferentes pueden ser almacenadas en la red, como si de una memoria se tratase, durante la etapa de aprendizaje. Posteriormente, si se presenta a la entrada alguna de las informaciones almacenadas, la red evoluciona hasta
  • 4. estabilizarse, ofreciendo entonces en la salida la información almacenada, que coincide con la presentada en la entrada. Si, por el contrario, la información de entrada no coincide con ninguna de las almacenadas, por estar distorsionada, o incompleta, la red evoluciona generando como salida la más parecida. La información que recibe esta red debe haber sido previamente codificada y representada en forma de vector (como una configuración binaria si la red es discreta, y como conjunto de valores reales si es continua) con tantas componentes como neuronas (N) tenga la red. Esa información es aplicada directamente a la única capa de que consta la red, siendo recibida por las neuronas de dicha capa (cada neurona recibe una parte de la información, un elemento del vector que representa dicha información). Si consideramos en principio el caso de una neurona concreta de la red, esta neurona recibiría como entrada las salidas de cada una de las otras neuronas, valores que inicialmente coincidirán con los de entrada, multiplicadas por los pesos de las conexiones correspondientes. La suma de todos estos valores constituirá el valor de entrada neta de la neurona, al que le será aplicada la función de transferencia, obteniéndose el valor de salida correspondiente, 0/1 ó –1/+1 si la red es discreta, y un número real en el intervalo [0,1] ó [-1,+1] si es continua. La descripción anterior correspondería a un primer paso en el procesamiento realizado por la red. Este proceso continúa hasta que las salidas de las neuronas se estabilizan, lo cual ocurrirá cuando dejen de cambiar de valor. Entonces, el conjunto de estos (N) valores de salida de todas las neuronas constituye la información de salida que ha generado la red, que se corresponderá con alguna de las informaciones que durante la etapa de aprendizaje fueron almacenadas en la misma. Este funcionamiento puede expresarse matemáticamente de la siguiente forma: 1º: En el instante inicial (t=0) se aplica la información de entrada (valores e1, e2, ..., eN). si(t=0)=ei 1 ≤ i ≤ N Inicialmente, la salida de las neuronas coincide con la información aplicad a la entrada. 2º: La red realiza iteraciones hasta alcanzar la convergencia (hasta que si(t+1) sea igual a si(t)). N si (t + 1) = f (∑ wij s j (t ) − θ i ) 1≤i≤N j =1 Donde f es la función de transferencia (activación) de las neuronas de la red. En el caso del modelo discreto, si se trabaja con valores binarios –1 y +1, la salida se obtendría según la función escalón:  N  + 1 ∑ wij s j (t ) > θ i   j =1    N   si (t + 1) = s i (t ) ∑ wij s j (t ) = θ i   j =1   N  − 1  ∑ wij s j (t ) < θ i    j =1 
  • 5. El proceso se repite hasta que las salidas de las neuronas permanecen sin cambios durante algunas iteraciones. En ese instante, la salida (s1, s2, ..., sN) representa la información almacenada por la red que más se parece a la información presentada en la entrada (e1, e2, ..., eN). El funcionamiento descrito corresponde a una red de Hopfield discreta clásica, ya que trabaja con informaciones binarias. Sin embargo, existe una variación del modelo desarrollada también por Hopfield que pretende parecerse un poco más al funcionamiento de las neuronas reales, se trata de la red Hopfield continua, con funciones de activación de las neuronas de tipo sigmoidal, que ofrece más posibilidades que la anterior, ya que permite almacenar patrones formados por valores reales (por ejemplo, imágenes en color o en blanco y negro con diferentes tonalidades de grises) y además facilita la resolución de determinados problemas generales de optimización. Tanto en este caso como en el de la red discreta, se pueden distinguir diferentes versiones del modelo en función de la forma temporal en que se lleva a cabo la generación o actualización de las salidas de las neuronas de la red. Si esta actualización se realiza de forma simultanea en todas las neuronas, se trata de una red de Hopfield con funcionamiento paralelo o síncrono, ya que supone que todas las neuronas son capaces de operar sincronizadas y que, por tanto, la salida es generada al mismo tiempo por todas aquellas en cada iteración, de tal forma que en la próxima iteración (t+1) todas van a utilizar como entradas las salidas generadas por las otras en el instante anterior (t). Si, por el contrario, las neuronas trabajan de forma secuencial, actualizándose sólo la salida de una neurona en cada iteración, se tratará de una red Hopfield con funcionamiento secuencial o asíncrono. En este caso, ocurre que la salida a la que converge la red puede ser diferente en función del orden de activación de las neuronas. También existe la posibilidad, sólo utilizada en las redes Hopfield continuas, que trabajan con valores no binarios, de que la generación de la salida de todas las neuronas se realice de forma simultánea (síncrona) y continuada en el tiempo. En este caso, el funcionamiento de la red tendría que ser representado en forma de una ecuación diferencial: ∂s i N τi = f (∑ wij s j − θ i ) − s i ∂t j =1 Donde f es la función de activación de las neuronas, que será de tipo sigmoidal y τi es un parámetro, denominado tasa de retardo, que pretende representar una característica biológica de las neuronas, como es el retraso que se produce en la recepción por parte de una neurona i de los valores de las salidas generados por las otras neuronas a las que está conectada. Si se pretende simular una red Hopfield continua como la anterior, puede hacerse resolviendo la ecuación diferencial utilizando métodos numéricos, aunque también, y sobre todo, puede implementarse físicamente de forma directa mediante un circuito analógico que tenga un comportamiento gobernado por una ecuación similar.
  • 6. En estos circuitos, los pesos entre neuronas se implementan como resistencias, las funciones de activación mediante amplificadores operacionales, y la tasa de retardo de cada neurona se consigue colocando en paralelo una resistencia y un condensador a la entrada del amplificador correspondiente. APRENDIZAJE La red de Hopfield tiene un mecanismo de aprendizaje OFF LINE. Por tanto, existe una etapa de aprendizaje y otra de funcionamiento de la red. En la etapa de aprendizaje se fijan los valores de los pesos en función de las informaciones que se pretende que memorice o almacene la red. Esta red utiliza un aprendizaje no supervisado de tipo hebbiano, de tal forma que el peso de una conexión entre una neurona i y otra j se obtiene mediante el producto de los componentes i-ésimo y j-ésimo del vector que representa la información o patrón que debe almacenar. Si el número de patrones a aprender es M, el valor definitivo de cada uno de los pesos se obtiene mediante la suma de los M productos obtenidos por el procedimiento anterior, un producto por información a almacenar. En el caso de la red Hopfield discreta, que trabaja con valores –1 y +1, este algoritmo de aprendizaje puede expresarse de la siguiente forma:  M (k ) (k )  ∑ e e 1 ≤ i, j ≤ N ; i ≠ j  wij =  k =1 i ij  0 1 ≤ i, j ≤ N ; i = j    Siendo: wij: Peso asociado a la conexión entre la neurona j y la neurona i, que coincide con wji. e (k ) : Valor de la componente i-ésima del vector correspondiente a la información j k-ésima que debe aprender la red. N: Número de neuronas de la red, y por tanto, tamaño de los vectores de aprendizaje.
  • 7. M: Número de informaciones que debe aprender la red. Si la red trabajase con valores discretos 0/, en lugar de –1/+1, entonces los pesos se calculan según la expresión: M  ∑ (2ei − 1)(2eij - 1) 1 ≤ i, j ≤ N ; i ≠ (k ) (k ) j wij =  k =1  0 1 ≤ i, j ≤ N ; i = j    El algoritmo de aprendizaje también se suele expresar utilizando una notación matricial. En tal caso se podría considerar una matriz W de dimensiones NxN que representase todos los pesos de la red:  w11 w 21 w31 ...... w N 1   w w w ...... w  w =  12 22 32 N2   ......     w1N w2 N w3 N ...... w NN  Esta matriz es simétrica, al cumplirse que wij=wji, y tiene una diagonal principal con valores nulos debido a la no existencia de conexiones autorrecurrentes (wii=0). También se tendría el conjunto de los M vectores que representa las informaciones que ha de aprender la red: E1 = [e1(1) , e 21) ,..., e N1) ] ( ( E 2 = [e1( 2) , e 22) ,..., e N2 ) ] ( ( ............. E M = [e1( M ) , e 2M ) ,..., e NM ) ] ( ( Utilizando esta notación, el aprendizaje consistirá en la creación de la matriz de pesos W a partir de los M vectores o informaciones de entrada (E1,...EM) que se enseñan a la red. Matemáticamente se expresaría: M W = ∑ [Ek Ek − I ] T k =1 T Donde la matriz E es la traspuesta de la matriz Ek, e I la matriz identidad de dimensiones k NxN que anula los pesos de las conexiones autorrecurentes (wii).
  • 8. Un ejemplo de cómo se obtienen los pesos, podría consistir en el entrenamiento de una red para que aprenda dos informaciones (patrones) correspondientes a sendas figuras representadas mediante un cierto número de pixeles: Los pixeles negros podrían representarse mediante el valor binario +1, y los blancos con el valor de –1. En este caso, las informaciones serían dos vectores (M=2) de 4 elementos (N=4) que contienen los valores de los pixeles. La red, por tanto, tendría 4 neuronas para que cada una reciba el valor de un pixel. Los valores de los vectores de entrada que representan a las figuras a y b respectivamente, son: E1 = [1,1,−1,−1] E 2 = [−1,−1,1,1] El aprendizaje de estas dos informaciones consistirá en la obtención de los pesos de la red (matriz W): 1  1 0 0 0 0 1 - 1 - 1 1      E1 E 1 − I = T  [1 1 - 1 - 1] − 0 1 0 0 = 1 0 - 1 - 1 − 1 0 0 1 0 - 1 - 1 0 1       − 1 0 0 0 1 - 1 - 1 1 0 − 1 1 0 0 0 0 1 - 1 - 1 − 1     E2 E2 − I = T  [ − 1 - 1 1 1] − 0 1 0 0 = 1 0 - 1 - 1 1  0 0 1 0 - 1 - 1 0 1       1  0 0 0 1 - 1 - 1 1 0
  • 9. 0 2 - 2 - 2  2 2 0 - 2 - 2  W = ∑ [Ek Ek − I ] =  T  k =1 - 2 - 2 0 2    - 2 - 2 2 - 0  Una vez finalizada la fase de aprendizaje, la red podría ser utilizada como memoria asociativa de acceso por contenido, de tal forma que al presentarle una información más parecida de la almacenada durante el aprendizaje. Por ejemplo, se podría comprobar lo que ocurre con la figura: Inicialmente, la salida corresponde a la propia información de entrada. Entonces se produce la primera iteración, obteniéndose las siguientes nuevas entradas netas en cada neurona: 0 2 - 2 - 2  2 0 - 2 - 2 E.W = [1 - 1 - 1 - 1]  = [ 2 6 - 2 - 2] - 2 - 2 0 2   - 2 - 2 2 0 Si suponemos una función de activación de cada neurona de tipo escalón centrada en el origen (desplazamiento θi=0), la salida de la red después de esta primera iteración será: S=[1 1 -1 -1] Si se repite el proceso, en la segunda iteración las entradas netas serán: 0 2 - 2 - 2  2 0 - 2 - 2 E.W = [1 1 - 1 - 1]  = [6 6 - 6 - 6] - 2 - 2 0 2    - 2 - 2 2 0  Entonces, después de esta segunda iteración, se obtienen los siguientes valores a la salida:
  • 10. S=[1 1 -1 -1] Puede observarse que se repite la salida de la primera iteración, se ha llegado a una situación de estabilidad, en la que la red ha generado como salida el patrón más parecido al presentado como entrada: Aunque la descripción del aprendizaje de una red Hopfield se ha utilizado el modelo discreto, la forma de calcular los pesos para el caso continuo es similar si se utiliza la red como memoria asociativa. Si la red se utiliza para resolver problemas de optimización, el cálculo de los pesos dependerá del problema concreto. Además, el modelo continuo se suele considerar la existencia de conexiones autorrecurrentes, con lo que no siempre wii=0. LA FUNCIÓN ENERGÍA Como ya se ha mencionado, el aprendizaje de la red Hopfield es de tipo hebbiano. La elección de esta regla de aprendizaje por Hopfield fue, entre otras razones, debido a que asegura la estabilidad de la red; es decir, la convergencia hacia una respuesta estable cuando se presenta una información de entrada. Muchas de las investigaciones acerca de la estabilidad de las redes se basan en el establecimiento de una función, denominada función energía de la red, para representar los posibles estados (puntos de equilibrio) de la red. De hecho, una de las causas por la que se considera a Hopfield responsable de impulsar el desarrollo en el campo de las redes neuronales, es precisamente el haber aplicando modelos matemáticos como éste, lo cual constituyó la base de posteriores trabajos sobre redes neuronales. La función de energía de una red Hopfield discreta tiene la siguiente forma: 1 N N N E = − ∑ ∑ wij s i s j + ∑ θ i s i 2 i =1 j =1 i =1 i≠ j Siendo: wij: Peso de la conexión entre las neuronas i y j. si: Valor de salida de la neurona i. sj: Valor de salida de la neurona j.
  • 11. θi: Umbral de la función de activación de la neurona i. Esta expresión guarda una profunda similitud formal con la energía mecánica clásica. Trata de representar la evolución del sistema, considerando cada configuración (vector) de las salidas de las neuronas de la red como puntos en un espacio de dimensión N y relacionando el estado de la red en cada momento con un punto en ese espacio. La función energía puede imaginarse entonces como una superficie que representa determinados valores mínimos, algo semejante a un paisaje montañoso donde los mínimos serían los valles. Cuando en la red se han almacenado M informaciones o patrones, los posibles estados estables de la red serán también M (durante su funcionamiento podrá responder ante una entrada con una salida que represente alguno de esos M patrones registrados). Estos M estados corresponden precisamente a los mínimos de la función energía. Cuando se presenta a la entrada de la red una nueva información, ésta evoluciona hasta alcanzar un mínimo de la función energía, generando una salida estable. Cuando la red de Hopfield se utiliza como memoria asociativa, el objetivo es conseguir que los patrones que debe memorizar se sitúen en los mínimos de la función y, consecuentemente, sean los estados estacionarios (estables) de la red. Puede demostrarse que esto se consigue si se verifica que los pesos de las conexiones autorrecurrentes son nulos (wii=0) y si el resto cumple la regla de Hebb ( wij = ∑ s s s s ), de ahí que Hopfield eligiera dicho aprendizaje. En cuanto a las redes de Hopfield continuas, su autor considera que una posible expresión de su función de energía es la siguiente: s 1 N N N i E = − ∑∑ wij si s j + ∑ ∫ f −1 ( s )ds 2 i =1 j =1 i =1 0 i≠ j donde f-1 es la inversa de la función de activación sigmoidal (f) de una neurona. Si la función f fuese, por ejemplo, f(x)=1/(1+e-α(x-θi)), entonces la inversa sería f-1(s)=- (½ln(-1+1/s))+θi, con lo que la función energía quedaría de la siguiente forma:
  • 12. s 1 N N N 1 N i 1 E = − ∑∑ wij si s j + ∑θ i − ∑ ∫ ln( − 1)ds 2 i =1 j =1 i =1 α i =1 0 s i≠ j Puede observarse que coincidiría con la función energía de la red Hopfield discreta si no existiera el último término, cuyo valor depende del parámetro α de la función de activación de las neuronas, que representa la ganancia o la pendiente de esta función sigmoidal. Por ello, habrá que tener especial cuidado en la elección de su valor, ya que influye directamente en los mínimos de la función energía,. Si α tiene un valor infinito (función de activación de tipo escalón), este término se hace cero y la red se convierte en una red Hopfield discreta. Si el valor de α es finito, pero muy grande (α>>1), el término puede despreciarse y os mínimos de la función de energía siguen siendo los mismos. Pero si α tiene valores pequeños, disminuye el número de mínimos de esta función y, como consecuencia, el número de posibles estados estables de la red, reduciéndose a un solo mínimo cuando α=0. LIMITACIONES DEL MODELO DE HOPFIELD En un red de Hopfield, el número de informaciones que puede ser aprendido (almacenado) está severamente limitado. Si se almacenan demasiadas informaciones, durante su funcionamiento la red puede converger a valores de salida diferentes de los aprendidos durante la etapa de entrenamiento, con lo que la tarea de asociación entre la información presentada y alguna de las almacenadas se realiza incorrectamente, pues se está asociando dicha información de entrada a otra desconocida. Esta situación no se produce nunca si el número de informaciones almacenadas es menor o igual que N/4lnN, siendo N el número de neuronas de la red. Sin embargo, este límite puede suavizarse si se permite la posibilidad de un mínimo error en la recuperación de las informaciones almacenadas, suficientemente pequeño para poder identificar dicha información sin ningún problema; en tal caso, el número de informaciones que se pueden almacenar debe ser menor que el 13.8% del número de neuronas de la red (13.8N). por tanto, la capacidad o cantidad de informaciones que pueden almacenar una red Hopfield de N neuronas es: 0.138.N para una recuperación suficientemente buena    Capacidad =  N   4 ln N para una recuperación perfecta    esta es una seria limitación de la red Hopfield, puesto que para almacenar unas pocas informaciones se precisará una gran cantidad de neuronas, y por tanto, un número muy elevado de conexiones. Por ejemplo, tomando la limitación del 13.8%, en una red de 100 neuronas, que tendría 100x99=9900 conexiones, sólo se podrían almacenar 13 informaciones. Una segunda limitación del modelo, es que, a pesar de cumplirse el requisito anterior, no siempre se puede garantizar que la red realice una asociación correcta entre una neurona y
  • 13. una de las informaciones almacenadas. Si estas últimas no son suficientemente diferentes entre sí, es decir, si no son ortogonales, puede ocurrir que para cada una de ellas no represente un mínimo de la función energía, con la probabilidad de que se generen salidas diferentes a todas ellas. También puede ocurrir que ante una entrada que coincida con una de las informaciones aprendidas, la red converja hacia una salida correspondiente a otra de las informaciones almacenadas que fuese muy parecida.