modelos computacionales

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

Upload: tallulah-ramos

Post on 03-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Modelos Computacionales

Memorias asociativas DinámicasMemorias asociativas Dinámicas

Contenidos

Introducción

El asociador lineal

El asociador no lineal simple

La Red BSB

La memoria asociativa bidimensional

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

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*

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 .

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

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

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

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)

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.

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

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

jjijii KSwkSY

1

)(sgn)1(

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

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

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

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

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

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.

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

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

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)

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

Asociador no lineal simple

21

3

2/3

2/3

2/3

2/3

-2/3

-2/3

Asociador no lineal

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)

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

pw

1

1

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

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

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

)()()()()(

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(

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)

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:

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:

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: