280 likes | 613 Views
Redes Asociativas. Redes Asociativas. Redes que realizan una asociación de ideas memoria asociativa. Hopfield intenta mejorar el comportamiento añadiendo elementos de memoria redes realimentadas o feedback.
E N D
Redes Asociativas • Redes que realizan una asociación de ideas memoria asociativa • Hopfield intenta mejorar el comportamiento añadiendo elementos de memoria redes realimentadas o feedback. • El modelo más representativo y conocido son las redes de Hopfield (1982) • La redes feedforward: • Estables. • Comportamiento limitado. • El problema de las redes realimentadas es la estabilidad.
Redes de Hopfield . . . n i 1 n-1 • 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
Funcionamiento • Trabajando en bipolar, la salida de cada neurona es: donde
Funcionamiento • El estado de la red corresponde al vector de salida en un momento dado: • La señal inicial está entrando constantemente. • 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). 111 101 110 011 001 010 000
Estabilidad • Para garantizar la estabilidad: • - El sistema es asíncrono, la matriz ha de ser simétrica y la diagonal igual a cero: W es estable • 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.
Función de Liapunov 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. • 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:
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. • 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 • Para cada patrón a almacenar: • Para almacenar m patrones: • Calculados a priori, no se adaptan. • 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.
Ejemplo • Se almacena el patrón • Se almacena un segundo patrón
Ejemplo • La matriz que almacena los dos patrones es: • Para pasar los valores de entrada de binario a bipolar se cambia: binario bipolar x y=2x-1
Algortimo 2.- Para cada vector de entrada • a) Calcular • Si no hay cambios en (t+1) con respecto a (t) la red ha convergido 1.- 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.
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.-
Ejemplo 3.- Secuencia de actualización: 4, 3, 1,2. • 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
Sistemas Continuos • Se utiliza como función de activación una función continua:
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 • Dadas n ciudades caminos. “El problema del viajante” • Se busca la solución de menor coste Minimizar el camino. • Problema NP-completo. • Al igual que Kohonen , las redes de Hopfield solucionan este problema; da una buena solución, aunque no la óptima. • 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”
Aplicaciones: Optimización “El problema del viajante” • Hopfield da una solución, que minimiza la energía: 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) Y X Z • Muy relacionadas con Hopfield. • Como memoria asociativa permiten recuperar información incompleta o errónea.
Redes BAM (Bidirectional Associative Memory) • Dada una entrada , se calcula utilizando la matriz de pesos W. • Se calcula utilizando la matriz de pesos WT. • La calculada realimenta la entrada, y así sucesivamente: • Se termina cuando y sean estables. • El vector sólo entra la primera vez. • Normalmente heteroasociativas.
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.