Title: Modelos Computacionales
1Modelos Computacionales
- Memorias asociativas Dinámicas
2Contenidos
- Introducción
- El asociador lineal
- El asociador no lineal simple
- La Red BSB
- La memoria asociativa bidimensional
3Introducció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(referenc
ias).
4Introducción
- Usaremos la desviación cuadrática como medida de
semejanza - xk (xk1, xk2, xk3,..., xkN) con k 1,2, ...
,p son los patrones de referencia - x (x1, x2, . . . , xN) 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
5Introducción
- Tipos de memorias asociativas
- Heteroasociativa para un conjunto de pares de
entradas y salidas - (x1,y1),(x2,y2), ... ,(xp,yp) , xk?
?N, yk??M - establece una correspondencia ? de ?N en ?M de
tal manera que ?(xi) yi, para i1,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 .
6El asociador lineal
- Queremos memorizar p pares de patrones (entradas
y salidas), - (x1,y1),(x2,y2), ... ,(xp,yp) , xk? ?N,
yk??M. - Los vectores de entrada (claves) son
ortonormales, es decir, (xk)Txk 1 y (xk)Txi 0
, k?i. -
- Un asociador lineal es una aplicación lineal de
la forma - yi ?(xi) W xi
7El 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
8El asociador lineal
- Se devuelven los patrones de referencia
correctos? - Qué ocurre si perturbamos ligeramente la
entrada? - El asociador lineal interpola la salida
9El 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)
10Asociador no lineal simple
- Deseamos memorizar p patrones
- s1, s2, ,sp, , sk? ?N, k1,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.
11Asociador no lineal simple
- Arquitectura
- N unidades de proceso.
- Todas las neuronas conectadas con todas.
- Ley de aprendizaje
- Regla de Hebb
- Aprendizaje iterativo
12Asociador 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(k1) si ?k?1, i?1,2,...,N,
diremos que la red se ha estabilizado.
13Asociador 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?
14Asociador no lineal simple
- Observación wii p/n pues sisi1
- Sin embargo, se suele tomar wii 0
ya que no supone diferencia apreciable en la
estabilidad de la red,
i?j
15Asociador no lineal simple
- Qué ocurre ante entradas no memorizadas que
difieren en n componentes del patrón memorizado?
16Asociador 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.
17Asociador no lineal simple
- Funciona igual de bien cuando queremos memorizar
varios patrones? - Estado inicial
- Cuál sería el siguiente estado
Si(1)sgnhi(0)?
18Asociador 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.
19Capacidad 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
20Asociador 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.
21Asociador 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).
22Asociador 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(11) 2/3
23Asociador no lineal simple
Asociador no lineal
24Asociador no lineal simple
- Estado inicial (1 1 1)
- Computamos hasta que se estabiliza la red.
- Estado final (1 1 1)
25La 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, k1,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 wii1,
i1,2,...,N
26La 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
27La 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.
28La Memoria Asociativa Bidireccional (BAM)
29La 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.
30La Memoria Asociativa Bidireccional (BAM)
Determinación de los pesos sinápticos Regla de
Hebb
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)
31La Memoria Asociativa Bidireccional (BAM)
Determinación de los pesos sinápticos Regla de
Hebb
(-1 -1 1)
Actualización
Patrón a reconocer
32La Memoria Asociativa Bidireccional (BAM)
Actualización
Patrón a reconocer
(-1 -1 1)
Actualización
(1 -1 -1 1 -1 -1 1 1 1)
33La Memoria Asociativa Bidireccional (BAM)
Actualización
(1 -1 -1 1 -1 -1 1 1 1)
(-1 -1 1)
Resultado final
(-1 -1 1)
Patrón a reconocer