Modelos Computacionales

33
Modelos Computacionales Memorias asociativas Memorias asociativas Dinámicas Dinámicas

description

Modelos Computacionales. Memorias asociativas Dinámicas. Contenidos. Introducción El asociador lineal El asociador no lineal simple La Red BSB. Introducción. Memoria Asociativa. Patrón clave. Patrón de referencia. - PowerPoint PPT Presentation

Transcript of Modelos Computacionales

Page 1: Modelos Computacionales

Modelos Computacionales

Memorias asociativas DinámicasMemorias asociativas Dinámicas

Page 2: Modelos Computacionales

Contenidos

Introducción

El asociador lineal

El asociador no lineal simple

La Red BSB

Page 3: Modelos Computacionales

Introducción

Memoria asociativa: dispositivo para almacenar información que permite recuperarla basándose sólo en un conocimiento parcial de su contenido y no en el lugar de su almacenamiento. La recuperación de la información se consigue según el grado de similitud entre el patrón de entrada(clave) y los patrones memorizados(referencias).

Memoria

Asociativa

Patrón clave

Patrón dereferencia

Page 4: Modelos Computacionales

Introducción

Usaremos la desviación cuadrática como medida de semejanza:

xk = (xk1, x

k2, x

k3,..., x

kN) con k = 1,2, ... ,p son los patrones

de referencia x* = (x*

1, x*

2, . . . , x*

N) es el patrón de prueba Si las componentes de los vectores son binarias ({0,1}), Dk

coincide con la distancia de Hamming. Si los vectores son bipolares ({-1,1}) la distancia de

Hamming se calcula con Dk/4

N

i

kiik xxD

1

2*

Page 5: Modelos Computacionales

Introducción

Tipos de memorias asociativas Heteroasociativa: para un conjunto de pares de entradas y salidas

{ (x1,y1),(x2,y2), ... ,(xp,yp) }, xk N, ykM

establece una correspondencia de N en M de tal manera que (xi) = yi, para i=1,2,..,p y además si x está más próximo a xi que a cualquier otro xj entonces (x) = yi .

Autoasociativa establece la misma correspondencia que la memoria heteroasociativa pero siendo los patrones de entrada y de salida los mismos, es decir. (xi) = xi .

Page 6: Modelos Computacionales

El asociador lineal

Queremos memorizar p pares de patrones (entradas y salidas),

{ (x1,y1),(x2,y2), ... ,(xp,yp) }, xk N, ykM.

Los vectores de entrada (claves) son ortonormales, es decir, (xk)Txk = 1 y (xk)Txi = 0 , ki.

  Un asociador lineal es una aplicación lineal de la forma

yi =(xi) = W · xi

Page 7: Modelos Computacionales

El asociador lineal

Arquitectura N unidades de entrada y M unidades de proceso independientes Cada entrada se conecta a todas las unidades de proceso.

Ley de Aprendizaje:

Dinámica de la computación: Los resultados se obtienen instantáneamente, sin evolución en los

estados del sistema La función de activación es la función identidad.

yi =(xi) = W · xi

)x(y W Tkp

1 k

k

Page 8: Modelos Computacionales

El asociador lineal

¿Se devuelven los patrones de referencia correctos?

¿Qué ocurre si perturbamos ligeramente la entrada?

El asociador lineal interpola la salida

p

1 k

iTkkii ) ( )( ) ·(W ) ( )( dxxydxdxx

)( )( ip

1k

Tkki dydxyy

pi W ,...,2,1 , )( · )( iiTkp

1 K

kii

yxxyxx

Page 9: Modelos Computacionales

El asociador lineal

Ventaja: Simplicidad

Inconveniente: La condición de ortogonalidad de los patrones clave

Ejercicio:Construir un asociador lineal que memorice los patrones {(1000), (00)}, {(0110), (01)}, {(111), (11)}Calcular la salida ante las siguientes entradas:

(1100)

Page 10: Modelos Computacionales

Asociador no lineal simple

Deseamos memorizar p patrones

{ s1, s2, …,sp, }, sk N, k=1,2,…,p

mediante una memoria asociativa dinámica no lineal. La salida del sistema se obtendrá tras un proceso de

computación. Es decir, la red comienza con la configuración determinada por la entrada y los estados de las neuronas van cambiando, hasta que llegamos a una situación estable en la que podemos leer el resultado de la computación.

La red habrá memorizado un patrón si se estabiliza en él.

Page 11: Modelos Computacionales

Asociador no lineal simple

Arquitectura N unidades de proceso. Todas las neuronas conectadas con todas.

Ley de aprendizaje:

Regla de Hebb:

Aprendizaje iterativo:

p

k

kj

kiij ss

Nw

1

1

111)()1( p

jpiikij ss

Npwpw

Page 12: Modelos Computacionales

Asociador no lineal simple Dinámica de la computación

Si(k) es el estado de la neurona i en el instante k de ejecución. Será 1 si la neurona está activa y –1 si no lo está. La actualización se realiza en tiempo discreto

La entrada s=(s1, s2, ..., sN)T, sirve para inicializar el estado de las neuronas, es decir, Si(0) = si, i{1,2,...,N}

Cuando Si(k) = Si(k+1) = si k1, i{1,2,...,N}, diremos que la red se ha estabilizado.

N

jjiji KSwkS

1

)(sgn)1(

Page 13: Modelos Computacionales

Asociador no lineal simple

Para entender el funcionamiento de nuestro modelo neuronal consideremos el caso particular en el que queremos memorizar sólo un patrón, s=(s1, s2, ..., sN)T.

La regla de aprendizaje se particulariza a:

Con ese entrenamiento, ¿se memoriza el patrón?

jiij ssN

w1

ii

N

jjji

N

jjij

N

jjiji sssss

NswSwS

sgn1

sgnsgn)0(sgn)1(111

Page 14: Modelos Computacionales

Asociador no lineal simple

Observación: wii = p/n pues sisi=1

Sin embargo, se suele tomar wii = 0 ya que no supone diferencia apreciable en la estabilidad de la red,

jiij ssN

w1

ii

N

ijj

jji

N

ijj

jij

N

jjiji ss

N

Nsss

NswSwS

1sgn

1sgnsgn)0(sgn)1(

111

ij

0iiw

Page 15: Modelos Computacionales

Asociador no lineal simple

¿Qué ocurre ante entradas no memorizadas que difieren en n componentes del patrón memorizado?

Nnnis

,...,n, isr

i

ii ,...,2,1

21

N

njjij

n

jjij

N

jjij

N

jjiji swswrwSwS

1111

)(sgnsgn)0(sgn)1(

n

j

N

njii

n

j

N

njjjijji s

Ns

Nsss

Nsss

N 1 11 1

11sgn)

1())(

1(sgn

iii sN

ns

N

nNs

N

n)

21(sgnsgn

Page 16: Modelos Computacionales

Asociador no lineal simple

Junto al patrón que le enseñamos, la red ha aprendido por cuenta propia el patrón opuesto.

Siguiendo el criterio de semajanza planteado el patrón referencia que se recupera será uno u otro.

2/ si

2/ si )1(

Nns

NnsS

i

ii

Page 17: Modelos Computacionales

Asociador no lineal simple

¿Funciona igual de bien cuando queremos memorizar varios patrones?

Estado inicial:

¿Cuál sería el siguiente estado Si(1)=sgn[hi(0)]?

N

j

rj

rj

ri

p

rkk

N

j

rj

kj

ki

N

j

p

kj

kj

kii s ss

N s ss

N)( S ss

Nh

11 11 1

110

1(0)

ri

p

rkk

N

j

rj

kj

ki s s ss

N

1 1

1

)( 21rN

rr ,...,s,ss

Page 18: Modelos Computacionales

Asociador no lineal simple

Si los patrones se escogieron ortogonales, el estado de la neurona se mantiene. Por tanto, la red se estabiliza y nos devuelve el patrón correcto.

Otra posibilidad es utilizar un número de neuronas (N) muy elevado en comparación con el número de patrones que queremos memorizar (p). Esto no nos asegura resultados esentos de error, pero sí “aceptables”.

Capacidad de almacenamiento de la red: cantidad de información que se puede almacenar de tal forma que se recupere sin error o con error despreciable.

Page 19: Modelos Computacionales

Capacidad de un asociador no lineal

Indicadores de la capacidad de una red: Considerando patrones almacenados (p) y total de neuronas (N)

En base a los patrones (p) y al número de conexiones (NW)

Teorema:

La capacidad máxima de una red de Hopfield está acotada por

N

pC

ww N

pC

Nc

ln4

1

Page 20: Modelos Computacionales

Asociador no lineal simple

¿Qué ocurre si almacenamos p patrones y la entrada difiere en n componentes de alguno de los patrones memorizados?

Cuanto menores sean n y p con respecto a N, más fiable será la red en su función de memoria asociativa.

ri

p

rkk

n

j

N

nj

rj

kj

rj

kj

kii s

N

n- ss sss

N(t)h

21

1

1 1 1

Page 21: Modelos Computacionales

Asociador no lineal simple

Ejemplo:

Diseño de un asociador lineal que memorice los patrones (1 -1 1) y (-1 1 -1). Probarla con la entrada (1 1 1).

(1 -1 –1) (1 1 –1)

(-1 1 1)(-1 -1 1)

(1 -1 1)

(-1 -1 –1)

(1 1 1)

(-1 1 –1)

Page 22: Modelos Computacionales

Asociador no lineal simple

Nuestra red tendrá 3 unidades de proceso. Cada una de ellas se encargará de procesar una componente del vector de entrada.

La dinámica de la computación es la definida.

Empleando la regla de Hebb, calculamos la interacción entre las neuronas

wii = 1/3(1+1) = 2/3

3

2)11(

3

1 ,

3

2)11(

3

1 ,

3

2)11(

3

1231312 www

Page 23: Modelos Computacionales

Asociador no lineal simple

21

3

2/3

2/3

2/3

2/3

-2/3

-2/3

Asociador no lineal

Page 24: Modelos Computacionales

Asociador no lineal simple

Estado inicial: (1 1 1) Computamos hasta que se estabiliza la red. Estado final: (1 –1 1)

(1 -1 –1) (1 1 –1)

(-1 1 1)(-1 -1 1)

(1 -1 1)

(-1 -1 –1)

(1 1 1)

(-1 1 –1)

Page 25: Modelos Computacionales

La red BSB

La red BSB(Brain-State-in-a-Box) se suele emplear como memoria autoasociativa de conjuntos de patrones

{ s1, s2, …,sp, }, sk N, k=1,2,…,p

Arquitectura N unidades de proceso. Cada unidad está conectada a todas las demás.

Ley de aprendizaje Regla de Hebb

Se suele fijar el peso sináptico wii=1, i=1,2,...,N

p

k

kj

kiij ss

Nw

1

1

Page 26: Modelos Computacionales

La red BSB

Dinámica de la computación: Actualización en unidades de tiempo discretas.

La función de transferencia es la función rampa

N

jjiji kxwfkx

1

)()1(

1)( si 1-

1)(1- si )(

1)( si 1

))((

ku

kuku

ku

kuf

i

ii

i

i

Page 27: Modelos Computacionales

La red BSB

La ley de aprendizaje puede especificarse de forma iterativa:

es la tasa de aprendizaje. Determina la facilidad para aprender.

El entrenamiento se mantiene hasta que se produzcan salidas con un error aceptable

Con esos pesos la red se estabiliza en los patrones memorizados.

N

k

rkik

ri

rjij swssw

1

01

p

r

rijw

N

k

rkik

ri sws

1

Page 28: Modelos Computacionales

La Memoria Asociativa Bidireccional (BAM)

m

jijij

m

jijiji

m

jijij

i

kyw

kywkx

kyw

kx

1

1

1

)( si 1-

)( si )(

)( si 1

)1(

n

ijiij

n

ijiijj

n

ijiij

j

kxw

kxwky

kxw

ky

1

1

1

)( si 1-

)( si )(

)( si 1

)1(

n

i

m

jjjii

n

i

m

jjiij kykxkykxwkE

1 11 1

)()()()()(

Page 29: Modelos Computacionales

La Memoria Asociativa Bidireccional (BAM)

Teorema 1.

Si seguimos una actualización paralela la función de energía computacional decrece, o no cambia, en cada actualización, y la red alcanza un estado estable (estado de equilibrio) después de un número finito de actualizaciones.

n

i

m

jjjii

n

i

m

jjiij kykxkykxwkEkE

1 11 1

)1()()1()()()1(

n

i

m

jjjii

n

i

m

jjiij kykxkykxw

1 11 1

)()()()(

m

jjjj

n

i

m

jjjiij kykykykykxw

11 1

)()1()()1()(

m

j

n

ijiijjj kxwkyky

1 1

)()()1(

Page 30: Modelos Computacionales

La Memoria Asociativa Bidireccional (BAM)

Determinación de los pesos sinápticos: Regla de Hebb

p

k

kTkW1

)( yx

Ejemplo: Memorizar los patrones y códigos siguientes:

(1 -1 -1)

(-1 -1 1)

(1 1 1 -1 1 -1 -1 1 -1) (1 -1 -1 1 -1 -1 1 1 1)

Page 31: Modelos Computacionales

La Memoria Asociativa Bidireccional (BAM)

Determinación de los pesos sinápticos: Regla de Hebb

p

k

kTkW1

)( yx

202

020

202

020

202

202

202

202

020

8) 2 8(

202

020

202

020

202

202

202

202

020

)11 1 111 111(

Patrón a reconocer:

(-1 -1 1)Actualización:

Page 32: Modelos Computacionales

La Memoria Asociativa Bidireccional (BAM)

Patrón a reconocer: (-1 -1 1)

4

2

4

2

4

4

4

4

2

1

1

1

202

020

202

020

202

202

202

202

020

(1 -1 -1 1 -1 -1 1 1 1)

Actualización:

Actualización:

Page 33: Modelos Computacionales

La Memoria Asociativa Bidireccional (BAM)

Patrón a reconocer: (-1 -1 1)

(1 -1 -1 1 -1 -1 1 1 1)

12) 6 12(

202

020

202

020

202

202

202

202

020

)1 1 1 111 111(

(-1 -1 1)

Actualización:

Resultado final: