You are on page 1of 33

Modelos Computacionales

Memorias asociativas Dinmicas


Contenidos

Introduccin

El asociador lineal

El asociador no lineal simple

La Red BSB

La memoria asociativa bidimensional


Introduccin

Memoria asociativa: dispositivo para almacenar


informacin que permite recuperarla basndose slo en un
conocimiento parcial de su contenido y no en el lugar de su
almacenamiento. La recuperacin de la informacin se
consigue segn el grado de similitud entre el patrn de
entrada(clave) y los patrones memorizados(referencias).

Patrn Memoria Patrn de


clave referencia
Asociativa
Introduccin

Usaremos la desviacin cuadrtica como medida de


semejanza:
Dk xi* xik
N
2

i 1
xk = (xk1, xk2, xk3,...,
xkN) con k = 1,2, ... ,p son los patrones
de referencia
x* = (x*1, x*2, . . . , x*N) es el patrn 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
Introduccin

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 adems si x est ms prximo 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 aplicacin 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:
p
W y k (x k ) T
k 1

Dinmica de la computacin:
Los resultados se obtienen instantneamente, sin evolucin en los
estados del sistema
La funcin de activacin es la funcin identidad.
yi =(xi) = W xi
El asociador lineal

Se devuelven los patrones de referencia correctos?


p
(x ) W x y k (x k )T x i y i , i 1,2,..., p
i i

K 1

Qu ocurre si perturbamos ligeramente la entrada?


p
(x ) (x d) W (x d) y k (x k )T (x i d)
i i

k 1
p
y i y k ( x k )T d y i (d )
k 1

El asociador lineal interpola la salida


El asociador lineal

Ventaja:
Simplicidad
Inconveniente:
La condicin 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 dinmica no lineal.


La salida del sistema se obtendr tras un proceso de
computacin. Es decir, la red comienza con la
configuracin determinada por la entrada y los estados de
las neuronas van cambiando, hasta que llegamos a una
situacin estable en la que podemos leer el resultado de la
computacin.
La red habr memorizado un patrn si se estabiliza en l.
Asociador no lineal simple

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

Ley de aprendizaje:
1 p k k
Regla de Hebb: wij si s j
N k 1
1 p 1 p 1
Aprendizaje iterativo: wij ( p 1) wik ( p) si s j
N
Asociador no lineal simple

Dinmica de la computacin
Si(k) es el estado de la neurona i en el instante k de
ejecucin. Ser 1 si la neurona est activa y 1 si no lo
est. La actualizacin 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
Yi Si (k 1) sgn wij S j ( K )
j 1
Asociador no lineal simple

Para entender el funcionamiento de nuestro modelo


neuronal consideremos el caso particular en el que
queremos memorizar slo un patrn, s=(s1, s2, ..., sN)T.

La regla de aprendizaje se particulariza a: wij 1 si s j


N
Con ese entrenamiento, se memoriza el patrn?

N N N 1
S i (1) sgn wij S j (0) sgn wij s j sgn si s j s j sgn si si
j 1 j 1 j 1 N
Asociador no lineal simple

Observacin: 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,

N N
N N 1
Si (1) sgn wij S j (0) sgn wij s j sgn si s j s j sgn
1
si si

j 1 j 1
j i
j 1
j i
N

N

1
wij si s j ij wii 0
N
Asociador no lineal simple

Qu ocurre ante entradas no memorizadas que difieren en


n componentes del patrn memorizado?
si i 1,2,...,n
ri
s i i n 1, n 2,..., N

N N n N

Si (1) sgn wij S j (0) sgn wijrj sgn wij ( s j ) wij s j
j 1 j 1 j 1 j n 1
n 1 N
1 1 n 1 N
sgn ( si s j )( s j ) ( si s j ) s j sgn si si
j 1 N j n 1 N N j 1 N j n1
n N n 2n
sgn si si sgn (1 ) si
N N N
Asociador no lineal simple

si si n N / 2
Si (1)
si si n N / 2

Junto al patrn que le enseamos, la red ha aprendido por


cuenta propia el patrn opuesto.

Siguiendo el criterio de semajanza planteado el patrn


referencia que se recupera ser uno u otro.
Asociador no lineal simple

Funciona igual de bien cuando queremos memorizar


varios patrones?
r r r
Estado inicial: ( s1 ,s 2 ,...,s N )
N p p N N
1 1 1
hi (0)
N

j 1 k 1
sk
is Sk
jj ( 0 )
N

k 1 j 1
sk
is sk
j
N
r
j s
j 1
r
i s rj s rj
k r
1 p k N k r
si s j s j sir
N k 1 j 1
k r

Cul sera el siguiente estado Si(1)=sgn[hi(0)]?


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 patrn correcto.
Otra posibilidad es utilizar un nmero de neuronas (N)
muy elevado en comparacin con el nmero 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


informacin 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)
p
C
N
En base a los patrones (p) y al nmero de conexiones (NW)

p
Cw
Nw
Teorema:
La capacidad mxima de una red de Hopfield est acotada por
1
c
4 ln N
Asociador no lineal simple

Qu ocurre si almacenamos p patrones y la entrada difiere


en n componentes de alguno de los patrones memorizados?

1 p
n k r N 2n r
hi (t) s s j s j
k
i k
j
r
j

s s 1- si
N
N k 1
k r
j 1 j n 1

Cuanto menores sean n y p con respecto a N, ms fiable


ser la red en su funcin de memoria asociativa.
Asociador no lineal simple

Ejemplo:
Diseo 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 dinmica de la computacin es la definida.

Empleando la regla de Hebb, calculamos la interaccin


entre las neuronas
1 2 1 2 1 2
w12 (1 1) , w13 (1 1) , w23 (1 1)
3 3 3 3 3 3
wii = 1/3(1+1) = 2/3
Asociador no lineal simple

Asociador no lineal

2/3 2/3
-2/3
1 2
2/3 -2/3

3
2/3
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 dems.
Ley de aprendizaje
Regla de Hebb
1 p k k
wij si s j
p k 1
Se suele fijar el peso sinptico wii=1, i=1,2,...,N
La red BSB

Dinmica de la computacin:
Actualizacin en unidades de tiempo discretas.
N
xi (k 1) f wij x j (k )

j 1

La funcin de transferencia es la funcin rampa

1 si u i (k ) 1

f (u i (k )) u i (k ) si - 1 u i (k ) 1
- 1 u i (k ) 1
si
La red BSB

La ley de aprendizaje puede especificarse de forma


iterativa:
r N
wij s s i wik s kr
r
j
k 1
es la tasa de aprendizaje. Determina la facilidad para
aprender.
El entrenamiento se mantiene hastap
que se produzcan
salidas con un error aceptable wijr 0
r 1
Con esos pesos la red se estabiliza en los patrones
memorizados.
N
s wik s kr
r
i
k 1
La Memoria Asociativa Bidireccional (BAM)
m

1 si w ij y j (k ) i
j 1

m
xi (k 1) xi (k ) si w ij y j (k ) i
j 1
m
- 1

si w
j 1
ij y j (k ) i

1 si w x (k ) ij i j
i 1

n
y j (k 1) y j (k ) si w x (k )
ij i j
i 1
n
- 1

si w x (k )
i 1
ij i j

n m n m
E (k ) wij xi (k ) y j (k ) i xi (k ) j y j (k )
i 1 j 1 i 1 j 1
La Memoria Asociativa Bidireccional (BAM)
Teorema 1.
Si seguimos una actualizacin paralela la funcin de energa computacional
decrece, o no cambia, en cada actualizacin, y la red alcanza un estado
estable (estado de equilibrio) despus de un nmero finito de
actualizaciones.
n m n m
E (k 1) E (k ) wij xi (k ) y j (k 1) i xi (k ) j y j (k 1)
i 1 j 1 i 1 j 1
n m n m
wij xi (k ) y j (k ) i xi (k ) j y j (k )
i 1 j 1 i 1 j 1


n m m
wij xi (k ) y j (k 1) y j (k ) j y j (k 1) y j (k )
i 1 j 1 j 1

n
m
y j (k 1) y j (k ) wij xi (k ) j
j 1 i 1
La Memoria Asociativa Bidireccional (BAM)

Determinacin de los pesos sinpticos: Regla de Hebb

p
W (x k ) T y k
k 1

Ejemplo: Memorizar los patrones y cdigos 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)

Determinacin de los pesos sinpticos: Regla de Hebb


0 2 0

2 0 2
2 0 2

p 2 0 2 Actualizacin: (-1 -1 1)
W (x k ) T y k
2 0 2
k 1 0 2 0
0 2 0
2 0 2
2 0 2
0 2 0
2 0 2

2 0 2 2 0 2

(1 1 1 1 1 1 1 1 1) 2 0 2 (8 2 8)
0 2 0
Patrn a reconocer:
2 0 2
0 2 0

2 0 2
La Memoria Asociativa Bidireccional (BAM)

Actualizacin:
Patrn a reconocer: (-1 -1 1)

0 2 0 2

2 0 2 4
2 0 2 4
Actualizacin:
2 0 2 1 4
2
0 2 1 4 (1 -1 -1 1 -1 -1 1 1 1)
0 2 0 1 2

2 0 2 4
0 2 0 2

2 0 2 4
La Memoria Asociativa Bidireccional (BAM)

Actualizacin:
(1 -1 -1 1 -1 -1 1 1 1) (-1 -1 1)
0 2 0

2 0 2
2 0 2

2 0 2
(1 1 1 1 1 1 1 1 1) 2 0 2 (12 6 12)
0 2 0

2 0 2
0 2 0

2 0 2

Resultado final:
Patrn a reconocer: (-1 -1 1)

You might also like