Redes Asociativas
Redes Asociativas
• Redes que realizan una asociación de ideas memoria asociativa
• El modelo más representativo y conocido son las redes de Hopfield (1982)
• La redes feedforward:
- Estables.
- Comportamiento limitado.
• Hopfield intenta mejorar el comportamiento añadiendo elementos de memoria redes realimentadas o feedback.
• El problema de las redes realimentadas es la estabilidad.
John J. Hopfield
Redes de Hopfield
• Normalmente las redes de Hopfield no son adaptativas, los pesos vienen dados por las matrices de entrada, y no “aprenden”. Existe un caso particular que si es adaptativo y los pesos pueden llegar a aprenderse..
• Por su comportamiento son redes hebbianas
•Pueden trabajar en binario y en bipolar. Hay modelos de entradas continuas
1x ix 1nx nx
. . .
1y iy 1ny ny
1 i n
0ii
i 1nn-1n1
Funcionamiento
)()1( jaj netfty
ji
jiijj xtywnet )(donde
• Trabajando en bipolar, la salida de cada neurona es:
jjj
jj
jj
j
netsity
netsi
netsi
ty
)(
1
1
)1(
Funcionamiento
• La señal inicial está entrando constantemente.
• El estado de la red corresponde al vector de salida en un momento dado:
),...,,( 21 nyyyy
• Los cambios de estado son:
- Discretos en tiempos aleatorios (asincrónicamente).
Funcionamiento
• La visualización es sencilla. Suponer un sistema con 3 neuronas, con dos vectores que se quieren aprender: (101) y (000).
000
001 010
111
101 110
011
Estabilidad
• Un vértice estable viene determinado por:
- Los pesos.
- Las entradas.
- El valor del umbral.
• Se supone la existencia de una función que decrece cuando la red cambia de estado y que se para al alcanzar un mínimo:
- Red estable.
- La función es una función de Liapunov.
iw
ww
ii
jiij
0W es estable
• Para garantizar la estabilidad:
- El sistema es asíncrono, la matriz ha de ser simétrica y la diagonal igual a cero:
Función de Liapunov
• V(x) es una función de Liapunov en un entorno si se cumple:
1.- V(x) es continua en .
2.- V(x) tiene un mínimo en .
3.- Toda trayectoria continua en , V(x) es decreciente.
• Esta función V(x) se denomina E (energía) para las redes de Hopfield.
• Se trata de encontrar la función E para cada caso concreto.
• La forma de la función E es:
i j
jjj j
jjjiij yyxyywE )2
1(
donde yj es la salida de la neurona j, xj es la entrada externa de la neurona j y j es el umbral de la neurona j.
Función de Liapunov• El dE producido por un cambio en la neurona j es:
donde netj es la entrada neta a la neurona j.
ijjiji
jjiij dynetdyxywdE ][])([
• En función de la relación entre netj y j : Con la función de
activación definida
- Si netj >j [netj -j]>0 yi o cte dyi0 dE0 E .
- Si netj <j dyi0 dE0 E .
- Si netj =j dE=0. La energía se reduce o se mantiene por cambios en el estado de la
red estabilidad.
• Utilizando esta función, la energía disminuyen en cualquier
trayectoria independientemente de cómo varíe la yj.
Cálculo de pesos• Calculados a priori, no se adaptan.
jisiw
jisiww
ij
m
p
pijij
0
1
• Para almacenar m patrones:
• La matriz de pesos W es de dimensiones nxn, donde n es el número de neuronas, o sea el número de componentes de los vectores.
jisiw
jisixxwpij
Tipip
pij
0
)(
• Para cada patrón a almacenar:
Ejemplo
011
101
110
111
1
1
1
1W
)1,1,1(1 x
• Se almacena el patrón
011
101
110
111
1
1
1
2W
)1,1,1(2 x
• Se almacena un segundo patrón
Ejemplo
002
000
200
21 WWW
• La matriz que almacena los dos patrones es:
• Para pasar los valores de entrada de binario a bipolar se cambia:
binariox
bipolary=2x-1
Algortimo1.- Inicializar los pesos para almacenar los vectores de entrada.
b) Para cada neurona i hacer una actualización en orden aleatorio:
• Actualizar y enviar yi (t+1) a todas las neuronas.
3.- Test de convergencia.
• Si no, ir a 2.
2.- Para cada vector de entrada x
a) Calcular nixy ii ,...,1)0(
•
ij
iijji xwtynet ))((
•
iii
ii
ii
i
netsity
netsi
netsi
ty
)(
1
1
)1(
• Si no hay cambios en (t+1) con respecto a (t) la red ha convergidoy
y
Ejemplo
• Dado el vector de entrada (1,1,1,-1) ver si la red también converge para el vector erróneo (-1,1,1,-1).
1.-
2.- )1,1,1,1()0( xy
0111
1011
1101
1110
1W
Ejemplo
3.- Secuencia de actualización: 4, 3, 1,2.
211)0,1,1,1()1,1,1,1(1444 i
iixyxnet
)1,1,1,1()1(1)1(0 44 yynet
211)1,0,1,1()1,1,1,1(1333 i
iixyxnet
)1,1,1,1()1(1)1(0 33 yynet
431)1,1,0,1()1,1,1,1(1222 i
iixyxnet
)1,1,1,1()1(1)1(0 22 yynet
• Se puede ver como la red converge y corrige el error.
• Si el vector de entrada fuese (-1,-1, 1,-1) la red no converge, es incapaz de corregir los 2 errores
231)1,1,1,0()1,1,1,1(1111 i
iixyxnet
)1,1,1,1()1(1)1(0 11 yynet
Sistemas Continuos
• Se utiliza como función de activación una función continua:
)1(
1)(
netenetf
Capacidad de la Red
• Existen 2n posibles estados.
• Hopfield determinó experimentalmente el límite 0.15n, donde n es el número de neuronas.
• Mejora utilizando:
- Patrones simétricos: #{-1} #{+1}
- Patrones ortogonales: Pi Pj xi•xj=0
• La red puede caer en mínimos locales:
- Utilizar métodos estadísticos para solucionarlo.
- Métodos lentos pero funcionan.
Aplicaciones: Optimización
• El problema es encontrar una función de Liapunov adecuada, considerando dos restricciones:
- Fuertes: “Cada ciudad es visitada sólo una vez”
- Débiles: “El camino ha de ser mínimo”
• Se busca la solución de menor coste Minimizar el camino.
“El problema del viajante”
• Problema NP-completo.
• Al igual que Kohonen , las redes de Hopfield solucionan este problema; da una buena solución, aunque no la óptima.
n
n
2
!• Dadas n ciudades caminos.
Aplicaciones: Optimización“El problema del viajante”
• Hopfield da una solución, que minimiza la energía:
x xy iyyxxy
x ix
x i xyyx
x i ijxx
iii
i
ii
ji
yyydD
nyC
yyB
yyA
E
)(2
)(2
2
2
11
2
donde el primer término será 0 si no se repiten ciudades, el segundo si no se repite el orden y el tercero si son exactamente n ciudades. El último término corresponde al camino más corto.
Redes BAM (Bidirectional Associative Memory)
X
Y
Z
• Muy relacionadas con Hopfield.
•Como memoria asociativa permiten recuperar información incompleta o errónea.
Redes BAM (Bidirectional Associative Memory)
•Normalmente heteroasociativas.
1x
1y
•Dada una entrada , se calcula utilizando la matriz de pesos W.
1z
• Se calcula utilizando la matriz de pesos WT.
...322111 TTT WWWWWW yzyzyx
• La calculada realimenta la entrada, y así sucesivamente:1z
• Se termina cuando y sean estables.y
z
• El vector sólo entra la primera vez.1x
Capacidad de Memoria
• No muy buenos resultados cuando se han de almacenar muchos patrones.
• Funcionan bien para pocos patrones.
• Mejor si los patrones son simétricos: #{-1} #{+1}
• Los mejores casos son aquellos en que se hace un pre-tratamiento de la información; se conoce muy bien lo que se ha de reconocer (Ex: matrículas).
• Muy robusta a la aparición de ruido.
Top Related