|
|
IntroducciónLas redes de Hopfield son redes de adaptación probabilística, recurrentes, funcionalmente entrarían en la categoría de las memorias autoasociativas, es decir, que aprenden a reconstruir los patrones de entrada que memorizaron durante el entrenamiento. Son arquitecturas de una capa con interconexión total, funciones de activación booleana de umbral (cada unidad puede tomar dos estados, 0 o 1, dependiendo de si la estimulación total recibida supera determinado umbral), adaptación probabilística de la activación de las unidades, conexiones recurrentes y simétricas, y regla de aprendizaje no supervisado. Mientras que las redes en cascada (no recurrentes) dan soluciones estables, los modelos recurrentes dan soluciones inestables (dinámicas), lo que no siempre es aconsejable. La principal aportación de Hopfield consistió precisamente en conseguir que tales redes recurrentes fueran así mismo estables. Imaginó un sistema físico capaz de operar como una memoria autoasociativa, que almacenara información y fuera capaz de recuperarla aunque la misma se hubiera deteriorado. La Red de Hopfield es recurrente y completamente conectada. Funciona como una memoria asociativa no lineal que puede almecenar internamente patrones presentados de forma incompleta o con ruido. De esta forma puede ser usada como una herramienta de optimización. El estado de cada neurona puede ser actualizado un número indefinido de veces, independientemente del resto de las neuronas de la red pero en paralelo. BoltzmannEn la Máquina de Boltzmann, generalización de la red de Hopfield que incluye unidades ocultas, la operación de actualización se basa en un concepto de termodinámica estadística conocido como "simulated annealing". La red de Hopfield, la máquina de Boltzmann y un derivado conocido como la máquina del teorema de campo medio se han utilizado en aplicaciones de segmentación y restauración de imágenes y optimización combinacional. CaracterísticasLa red de Hopfield consiste en un conjunto de N elementos de procesado interconectadas que actualizan sus valores de activación de forma asincrona e independiente del resto de las elementos de procesado. Todos los elementos son a la vez de entrada y salida. Los valores de activación son binarios. El estado del sistema esta dado por los valores de activación Yk. La entrada de la neurona k en el ciclo temporal t+1 viene dada por
Para obtener el nuevo valor de activación se aplica una función umbral. Cuando un elemento de procesado mantiene su valor de activación se dice que es estable. Se llama estado estable a aquel en el cual todos la elementos de procesado son estables. Con la restricción extra de simetría en los pesos de conexión, Wjk=Wkj, el sistema puede ser descrito mediante una función energía de la forma FuncionamientoA cada estado de la red se le puede atribuir una cierta cantidad de energía, el sistema evoluciona tratando de disminuir la energía mediante un proceso de relajación, hasta alcanzar un mínimo (valle) donde se estabiliza. Los mínimos de energía se corresponden con los recuerdos almacenados durante el aprendizaje de la red. Ante la presentación de un estímulo nuevo se obtendrá una configuración inicial más o menos parecida a alguno de los estímulos almacenados, el sistema evolucionará hasta caer en una configuración estable que representa el recuerdo asociado a ese estímulo. Si la configuración inicial discrepa mucho de los recuerdos almacenados podemos alcanzar algún mínimo que no se corresponde a ningún recuerdo almacenado, recuperando en ese caso una información espuria, o podríamos no alcanzar ningún mínimo, quedando inestable: en ese caso diríamos que la red está "confundida", no es capaz de reconocer el estímulo, no recuerda. Una tercera posibilidad es que al cabo de unos pasos de evolución empiece a repetir periódicamente una secuencia definida de estados; con esta dinámica se han modelado ciertas excitaciones nerviosas que regulan acciones rítmicas y repetitivas; y se ha tratado de reproducir la memoria de secuencias temporales, pe. el recuerdo de melodías. Modelo de Red de Hopfield de 3 unidadesComo habíamos dicho, las neuronas se conectan todas entre sí, y consigo mismas. Para empezar se le asigna a cada unidad el valor o estado correspondiente del patrón de entrada. En cada ciclo se elige una neurona al azar y se calcula su activación según la función de umbral: Sea n el número de neuronas en la red, la estimulación total se calcula como el sumatorio de todas las entradas ponderadas, incluida la procedente de la misma unidad.
Se puede trabajar con cualquier valor de umbral para la función de activación, pero típicamente se usa el 0 como umbral; tiene la ventaja de simplificar las ecuaciones. yi=1 si xi > 0 yi=0 si xi < 0 Por definición los recuerdos (ítems o patrones almacenados) son puntos fijos en la dinámica de la red, es decir, configuraciones que no cambian en el tiempo aunque se siga aplicando la regla de evolución. Para almacenar un recuerdo habrá que lograr que la presentación del patrón de entrada lleve a la red a alcanzar un punto fijo, esto se logrará mediante alguna regla de aprendizaje que modifique los pesos de las conexiones.
Aprendizaje de las redes de Hopfield: Regla de Cooper-HebbLa elección de la regla de aprendizaje no es trivial, depende de la interrelación de los patrones que se desea memorizar. Si estos patrones están poco correlacionados (pseudoortogonales) podemos aplicar la regla de Cooper-Hebb, basada en la regla de Hebb o regla del producto: Supongamos que tenemos p ítems o patrones que almacenar, entonces calculamos
si i<>j (matriz simétrica) wij = 0 si i=j (la diagonal=0) Esta regla fortalece las conexiones cuando las unidades i-ésima y j-ésima tienen la misma activación o valor de estado,y las debilita en caso contrario. El entrenamiento seguirá los siguientes pasos.
Ya tenemos la red lista para usarla, asignando a las unidades el estado inicial y dejando que la red evolucione hasta alcanzar un mínimo (esto lo conseguiremos comprobando que el decremento de energía es nulo). Condiciones de estabilidadComo demostró Hopfield, que una red de adaptación asíncrona sea estable se puede conseguir haciendo que la matriz de pesos sea simétrica y con 0s en la diagonal principal. La idea para alcanzar estados estables es encontrar una función del estado del sistema, que llamaremos energía, con la propiedad de decrecer cuando se produce un cambio en el estado de la red. Un tipo de funciones con esa propiedad son las funciones de Liapunov. Una función de este tipo, empleando umbral=0, sería la siguiente:
dónde yi representa la activación o salida de la unidad i-ésima El cambio de energía del sistema ante el cambio de estado de una unidad i elegida al azar (Dyi) es: Se puede demostrar que dicho cambio de energía es siempre negativo o nulo, de tal modo que el sistema tiende a converger hacia un mínimo. El criterio de simetría es suficiente, pero no necesario, para alcanzar la estabilidad. Por otro lado la simetría aproximada es usualmente suficiente para lograrlo.
Valoración:Las redes de Hopfield se han aplicado a campos como la percepción el reconocimiento de imágenes y optimización de problemas, mostrando gran inmunidad al ruido y robustez. Incluso se han llegado a desrrollar chips específicos para este tipo redes. El estudio de las representaciones de secuencias temporales es un área de gran interés, con aplicaciones en reconocimiento automático de voces y movimientos. Hopfield ha mostrado como aplicar los mismos principios con funciones de activación continuas como la función sigmoidal, con muy pocas modificaciones. Pero pese a sus evidentes ventajas no están exentas de problemas:
|
Redes Neurales Artificiales |