Está en la página 1de 37

REDES NEURONALES ARTIFICIALES Y MAPAS AUTOORGANIZADOS

David Martnez Gonzlez Sistemas Expertos e Inteligencia Artificial. 3 I.T.I.G. Curso 2004-05. Universidad de Burgos.

ndice de Contenidos

1. REDES NEURONALES ARTIFICIALES 1.1. Introduccin 1.2. Neuronas naturales 1.3. Neuronas artificiales 1.4. Representaciones dimensionales 1.5. Perceptrn 1.6. Ejemplo sobre un perceptrn con una nica neurona 1.7. Perceptrn multicapa 1.8. Aprendizaje 1.9. Mecanismos de aprendizaje 1.9.1. Supervisado 1.9.2. Con Fortalecimiento 1.9.3. Estocstico 1.9.4. No Supervisado 1.9.4.1. Hebbiano 1.9.4.2. Competitivo 2. MAPAS AUTOORGANIZADOS (SOM) 2.1. Introduccin 2.2. Arquitectura de las SOMs 2.3. Mtodo de Aprendizaje (algoritmo winner-take-all) 2.4. Ejemplo sobre el algoritmo winner-take-all 2.5. Obtencin de mapas. Funcin de vecindad. 2.6. Tipos de funcin de vecindad. 2.7. Variacin de la funcin de vecindad y de la tasa de aprendizaje 2.8. Algoritmo de aprendizaje 2.9. Simulacin mediante ordenador 2.10. Variaciones de las SOMs 2.11. Aplicaciones 2.12. Herramientas software de simulacin de SOMs 3. EJEMPLO DE APLICACIN DE LAS SOMs: FACERET 3.1. Introduccin 3.2. Funcionamiento de FACERET 3.3. Mapas Autoorganizados Arbreos (TS-SOM) 3.4. Sistemas de seleccin 3.5. Simulaciones 4. BIBLIOGRAFIA Y OTROS RECURSOS

1 1 1 2 3 4 5 6 7 8 8 8 9 9 9 10 12 12 13 14 16 18 19 20 21 22 23 24 24 27 27 27 29 31 31 33

ndice de Figuras
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Estructura de una neurona natural Similitudes entre neuronas naturales y artificiales Estructura de una neurona artificial Neurona reconociendo la funcin lgica AND. Representacin grfica del ejemplo sobre el perceptrn Funcin lgica XOR Perceptrn multicapa Mapa del crtex cerebral. Mapa fontico del idioma finlands reconocido por una SOM. Arquitectura de una SOM Ejemplo Aprendizaje y sus fases Ejemplo Proceso de aprendizaje SOM reconociendo los colores rojo, verde y azul. Tipos de funcin de vecindad Regiones delimitadas por una funcin rectangular o de tipo pipa Simulacin por ordenador del algoritmo de aprendizaje. Estructura de FACERET Arquitectura de un mapa autoorganizado arbreo o TS-SOM Ejemplo de ubicacin ordenada de caras en el nivel ms bajo de una estructura TS-SOM Matriz de seleccin asociada a un nivel de la TS-SOM Simulacin de una bsqueda en FACERET 1 2 2 4 6 7 7 12 13 14 16 18 19 20 20 22 28 29 30 31 32

ndice de Tablas
1 2 3 4 5 Funciones de activacin Ejemplo sobre perceptrn Funcionamiento del aprendizaje hebbiano Datos de entrada y salida esperada sobre el ejemplo del algoritmo winner-take-all Datos obtenidos al aplicar el algoritmo winner-take-all 3 5 10 16 17

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

1. REDES NEURONALES ARTIFICIALES 1.1. Introduccin El estudio de las redes neuronales artificiales se engloba dentro de la rama subsimblica de la inteligencia artificial, dicha rama se dedica al estudio y desarrollo de simulaciones de los elementos inteligentes de la naturaleza (cerebros) con el fin de que de forma espontnea estas simulaciones (redes neuronales) se comporten de forma inteligente. As pues partiendo del estudio biolgico del cerebro humano o animal las redes neuronales intentan simular su estructura y funcionamiento. Si en un cerebro el elemento bsico es la neurona, en una red neuronal el elemento bsico es la neurona artificial, debemos conocer el funcionamiento de la neurona natural para simularlo en la neurona artificial. 1.2. Neuronas naturales La neurona natural est formada por tres partes:[4] Soma o ncleo celular, es el ncleo de la clula que dirige la actividad de la misma. Axn, es una prolongacin muy larga que permite transmitir el impulso elctrico producido por la soma a otras neuronas. Dendritas, son pequeas prolongaciones mediante las cuales se reciben los impulsos elctricos de otras neuronas.

Figura 1: Estructura de una neurona natural

La conexin entre axones y dendritas por la que se permite la comunicacin entre neuronas se llama sinapsis. En una misma neurona puede haber sinapsis ms desarrolladas que otras, las dendritas con sinapsis ms desarrolladas recibirn ms veces impulsos elctricos que las otras. Una neurona es sometida a travs de sus dendritas a muchos estmulos elctricos, cuando la suma de todos los estmulos elctricos recibidos de sus dendritas es lo suficientemente grande se produce la activacin de la neurona y su consiguiente emisin elctrica a travs de su axn. De esta forma una neurona natural es un sistema que procesa varias entradas que le llegan a travs de las dendritas, las suma y si la suma supera un umbral se activa y produce una salida que la lleva al axn, y este a las siguientes neuronas.

-1-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

1.3. Neuronas artificiales Una vez estudiada en profundidad la estructura y funcionamiento de la neurona natural podemos simularla en un elemento de proceso que llamaremos neurona artificial (modelo de McCulloch-Pitts)[6] y que podemos definir como un dispositivo que a partir de un conjunto de entradas xi, i=1,..n (o vector x), genera una nica salida y (binaria). Cada entrada xi lleva asociada un peso wi que representa la importancia que le damos a esa entrada (el desarrollo de la sinapsis), por lo tanto tambin tenemos como entrada el vector w. Adems necesitamos conocer el umbral por el que se activar o no la neurona. As tenemos como entradas: El vector x que representa las entradas. El vector w que representa los pesos de las entradas El umbral de activacin de la neurona Se produce una nica salida y como resultado de la siguiente frmula: y = f(x.w ) = f ( xi.wi ) es decir, comparamos la suma de los productos de las entradas por sus pesos (suma ponderada) y la comparamos con el umbral de activacin, si la resta da un resultado positivo la neurona se activa y si es negativo no se activa.

Figura 2. Similitudes entre neuronas naturales y artificiales

El umbral puede ser considerado como una entrada ms, x0, en la que su peso w0 tiene valor -1, as la frmula se simplifica de esta manera: y = f(x.w) = f ( xi.wi)

Figura 3. Estructura de una neurona artificial

La salida y puede tomar diversos valores (segn sus diversas funciones de activacin f(x)):[6] Neurona de McCulloch-Pitts: tiene entradas binarias (1,0) y la funcin de activacin es el escaln definido entre 0 y 1. y = 1 si se supera el umbral (si x>0), y = 0 si no se supera. -2-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

En otros modelos puede tomar el valor 1 si se supera el umbral y -1 si no se supera. Neurona sigmoidea: las entradas pueden ser de cualquier tipo, continuas o discretas, pero la salida es continua con la funcin de activacin de tipo sigmoide: 1 f ( x) = 1 + e ax Existe otra variante trigonomtrica en el que la funcin de activacin es una funcin trigonomtrica como la tangente hiperblica. f ( x) = tanh( x) Por ltimo tambin se puede utilizar la funcin identidad f(x)=x

f(x)=1 si x>0 f(x)=0 si x<0

f(x)=1 si x>0 f(x)=-1 si x<0

Sigmoidea

Tangente hiperblica

f(x)=x

Tabla 1. Funciones de activacin

La red neuronal debe ser sometida a un proceso de aprendizaje antes de su utilizacin, en dicho proceso los pesos de cada una de sus neuronas se modifican para dar ms relevancia a unas entradas frente a otras y conseguir la especializacin de cada neurona que forma la red neuronal. Este ajuste de los pesos debe hacerse basndose en alguna regla de aprendizaje, que se plasma en un algoritmo de aprendizaje, el cual determina el procedimiento numrico de ajuste de los pesos.

1.4. Representaciones dimensionales


Si en una neurona tenemos dos entradas x1 y x2, podemos representar el funcionamiento y la salida de la neurona en un plano con ejes de coordenadas x1 y x2 (dos dimensiones), para cada combinacin de valores de x1 y x2 podemos indicar la salida esperada y con (por ejemplo) un circulo relleno para indicar la salida afirmativa (activacin de la neurona, suele ser 1 pero depende de la funcin de activacin) y circulo vaco para indicar la salida negativa (neurona no activada, 0 o -1 dependiendo del modelo, consideramos que la salida es discreta). Si en lugar de dos entradas tuvisemos tres entradas deberamos representarlo en unos ejes de coordenadas de tres dimensiones xyz Volviendo a nuestro espacio de dos dimensiones y basndonos en la frmula: y = f(x.w ) = f ( xi.wi ) desarrollando:

-3-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

x1w1 + x2w2 - = 0 considerando x1 y x2 como incgnitas y w1, w2 y como valores fijos tenemos la ecuacin de una recta en la que al modificar los pesos modificamos la inclinacin de la recta y modificando el umbral movemos la recta acercndola o alejndola del centro del eje de coordenadas
2

0 -2 -1 0 1 2

-1

-2

Figura 4. Neurona reconociendo la funcin lgica AND.

Esta recta nos determina el lmite por el que la salida se considera correcta para unos valores de las entradas, por ejemplo para cualquier combinacin de entradas que den un punto que se encuentre a la izquierda de la recta se considera que la salida es correcta, la neurona se activa, si el punto se encuentra a la derecha la neurona no se activa. Si la recta divide el espacio dejando a un lado todos los crculos rellenos y a otro lado todos los crculos vacos, hemos hallado los pesos y el umbral correctos por lo que la neurona estar bien entrenada. Si en lugar de tener un espacio de dos dimensiones (dos entradas) tenemos uno de tres dimensiones (tres entradas) en lugar de una recta tendremos un plano que dividir el espacio en dos subespacios.

1.5. Perceptrn
Es una aplicacin prctica de las neuronas artificiales que permite el reconocimiento de imgenes y la resolucin de problemas sencillos. En este modelo los pesos ya no estn restringidos a valores 1 o -1, su valor se modifica a lo largo del aprendizaje a travs de la frmula: wi = .xip (tp op) Donde es el factor de aprendizaje, un nmero pequeo que se hace ms pequeo a lo largo del aprendizaje tp es el vector que representa la salida esperada

-4-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

op es el vector que representa la salida obtenida: op = w.x xip es el vector entrada La diferencia entre datos esperados y datos obtenidos representa el error que queremos minimizar, su decremento marca la convergencia hacia los datos esperados a travs de la modificacin de los pesos en cada iteracin. wij(t) = wij(t-1) + wij Algoritmo de aprendizaje: El experimento comienza con unos valores aleatorios para los pesos Se selecciona un vector de entrada del que conocemos la salida deseada. Se calcula la salida segn los pesos actuales. Si la salida es correcta se vuelve al paso 2, sino se modifican los pesos.

1.6. Ejemplo sobre un perceptrn con una nica neurona


En una empresa se fabrican y venden 5 clases de productos (los numeramos del 1 al 5) a 3 clases de clientes (A, B y C). Existen unas restricciones de forma que los clientes de tipo A slo pueden comprar productos de las clases 3, 4 y 5, los de tipo B slo pueden comprar productos de las clases 4 y 5 y los de tipo C productos de clase 5. Es decir, tenemos como entrada el producto y el cliente y como salida la venta (si o no): Producto (x1) 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 Cliente (x2) A A A A A B B B B B C C C C C Venta (salida) NO NO SI SI SI NO NO NO SI SI NO NO NO NO SI

Tabla 2. Ejemplo sobre perceptrn

La neurona se activar cuando la venta sea posible. Utilizamos los pesos y el umbral: w1 = 0.5 w2 = 0.5 = 2.9 y renombramos los tipos de clientes A, B y C por 3, 2 y 1 para poder operar con ellos, aplicamos la frmula y = f(x.w) = f ( xi.wi) y obtenemos: 1*0.5 + 3*0.5 = 2 < 2.9 NO 2*0.5 + 3*0.5 = 2.5 < 2.9 NO 3*0.5 + 3*0.5 = 3 > 2.9 SI -5-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

4*0.5 + 3*0.5 = 3.5 > 2.9 SI 5*0.5 + 3*0.5 = 4 > 2.9 SI 1*0.5 + 2*0.5 = 1.5 < 2.9 NO 2*0.5 + 2*0.5 = 2 < 2.9 NO 3*0.5 + 2*0.5 = 2.5 < 2.9 NO 4*0.5 + 2*0.5 = 3 > 2.9 SI 5*0.5 + 2*0.5 = 3.5 > 2.9 SI 1*0.5 + 1*0.5 = 1 < 2.9 NO 2*0.5 + 1*0.5 = 1.5 < 2.9 NO 3*0.5 + 1*0.5 = 2 < 2.9 NO 4*0.5 + 1*0.5 = 2.5 < 2.9 NO 5*0.5 + 1*0.5 = 3 > 2.9 SI En la siguiente grfica se muestra la representacin grfica del problema siguiendo la representacin explicada en el apartado anterior.

Figura 5. Representacin grfica del ejemplo

En el applet que acompaa este documento se muestra una animacin sobre como se calculan los pesos tomando como partida unos pesos aleatorios. En la consola de Sun Java se muestran en las cuatro primeras columnas las posiciones del primer punto y del ltimo de la recta, la quinta y sexta columna son los pesos w1 y w2 respectivamente y la sptima y octava los incremento sobre w1 y w2 en cada iteracin.

1.7. Perceptrn multicapa


Hasta ahora podamos resolver problemas sencillos como el ejemplo visto u operadores booleanos como AND, OR, NOR o NAND, que dividen el espacio bidimensional en dos regiones, pero no podemos resolver el operador XOR que divide el espacio en tres.

-6-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

0 -2 -1 0 1 2

-1

-2

Figura 6. Funcin lgica XOR

Estos problemas se pueden resolver con el perceptrn multicapa en el que tenemos tres tipos de capas de neuronas: capa de entrada, una o varias capas ocultas y capa de salida.

Figura 7. Perceptrn multicapa [10]

La activacin de las neuronas se propaga entre las neuronas de las distintas capas, una neurona de la capa de entrada al activarse puede activar otra de la capa oculta y esta si se activa puede activar otra de la capa de salida. Los errores detectados en la salida permiten modificar los pesos de las neuronas de todas las capas proporcionalmente hasta llegar a las neuronas de la capa de entrada a travs de un mtodo de retropropagacin (backpropagation) del error.

1.8. Aprendizaje
El aprendizaje de una red neuronal consiste en la modificacin de los pesos de sus neuronas basndose en la ley de Hebb: cuando una neurona activa a otra su sinapsis queda reforzada.

-7-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Mediante la modificacin de los pesos se produce la especializacin de las neuronas de tal forma que las redes neuronales adquieren facultades de clasificacin e identificacin de patrones. Pero ms relevante que esto es la capacidad de generalizacin, la red debe ser capaz al finalizar su entrenamiento de generalizar sus resultados, lo que le faculta para identificar o clasificar cualquier cosa que sea similar al patrn aprendido, no slo los objetos particulares con los que ha aprendido en la fase de entrenamiento. Una vez entrenada, la red congela sus pesos y funcionar en modo de recuerdo o ejecucin: se le suministra una entrada y la red responde con una salida.

1.9. Mecanismos de Aprendizaje: 1.9.1. Supervisado


Se le suministra a la red un conjunto de datos de entrada y la respuesta esperada. Se comparan los datos obtenidos por el sistema con los datos de entrada aportados, con la respuesta esperada y se modifican los pesos en funcin del error obtenido. El conjunto de datos utilizados en el proceso de aprendizaje se denomina conjunto de entrenamiento (training set). Si los vectores de entrada utilizados no contienen la informacin idnea la red puede llegar a no aprender. La duracin del proceso de aprendizaje no se conoce a priori, puede durar minutos o meses hasta que la red alcanza los resultados deseados. Algunos modelos que implementan este tipo de aprendizaje son: Perceptrn y perceptrn multicapa RBF, BAM Aplicaciones en problemas sobre: Clasificacin, reconocimiento de patrones Prediccin Anlisis de datos Control

1.9.2. Con Fortalecimiento


En este mtodo no se informa al sistema sobre el resultado esperado, slo se le indica si el resultado es correcto o incorrecto (xito = +1 o fracaso = -1), sin aportarle ms informacin. Si la red produce una respuesta incorrecta se produce el ajuste de los valores de los pesos basndose en un mecanismo de probabilidades. Es un mtodo de aprendizaje ms lento que el aprendizaje supervisado.

-8-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

1.9.3. Estocstico
Consiste bsicamente en realizar cambios aleatorios en los valores de los pesos de las conexiones de la red y evaluar su efecto a partir del objetivo deseado y de distribuciones de probabilidad. En pocas palabras el aprendizaje consistira en realizar un cambio aleatorio de los valores de los pesos y determinar la energa de la red. Si la energa es menor despus del cambio, es decir, si el comportamiento de la red se acerca al deseado, se acepta el cambio; si, por el contrario, la energa no es menor, se aceptara el cambio en funcin de una determinada y preestablecida distribucin de probabilidades.

1.9.4. No supervisado
Slo se aplica a la red neuronal los datos de entrada, sin indicarle la salida esperada. La red neuronal es capaz de reconocer algn tipo de estructura en el conjunto de datos de entrada (normalmente redundancia de datos) y de esta forma se produce el autoaprendizaje. Durante el proceso de aprendizaje la red autoorganizada debe descubrir por s misma rasgos comunes, regularidades, correlaciones o categoras en los datos de entrada, e incorporarlos a su estructura interna de conexiones. Se dice, por tanto, que las neuronas deben autoorganizarse en funcin de los estmulos (datos) procedentes del exterior. Algunos modelos que implementan este tipo de aprendizaje son: Mapas autoorganizados PCA Redes de Hopfield Aplicaciones en problemas sobre: Anlisis y comprensin de datos Agrupamiento Memoria asociativa En cuanto a los algoritmos de aprendizaje no supervisado, en general se suelen considerar dos tipos, que dan lugar a los siguientes aprendizajes: Aprendizaje hebbiano. Aprendizaje competitivo.

1.9.4.1. Hebbiano
Esta regla de aprendizaje es la base de muchas otras, la cual pretende medir la familiaridad o extraer caractersticas de los datos de entrada. El fundamento es una suposicin bastante simple: si dos neuronas Ni y Nj toman el mismo estado simultneamente (ambas activas o ambas inactivas), el peso de la conexin entre ambas se incrementa. Las entradas y salidas permitidas a la neurona son: {-1, 1} o {0, 1} (neuronas binarias). Esto puede explicarse porque la regla de aprendizaje de Hebb se origin a partir de la neurona biolgica clsica, que solamente puede tener dos estados: activa o inactiva. -9-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Este aprendizaje se basa en una simulacin matemtica de la ley de Hebb: cuando una neurona activa a otra su sinapsis queda reforzada. Veamos como funciona: Supongamos que dos neuronas i y j estn conectadas de tal forma que la salida de i es la entrada de j. Definimos el ajuste de los pesos de esta conexin como: [2] w=c*(oi*oj) Donde c es el factor de aprendizaje y es constante, oi es el signo (positivo o negativo) de la salida de la neurona i y oj es el signo de la salida de la neurona j. En la siguiente tabla podemos ver que cuando ambas son positivas o negativas w es positivo y se produce el refortalecimiento de la sinapsis de ambas neuronas. Cuando w es negativo se inhibe la conexin entre las dos neuronas. Oi + + En general lo podemos expresar as: wij = *(xj*yi) Siendo el factor de aprendizaje e yi = xj.wij Oj + + Tabla 3. Funcionamiento del aprendizaje hebbiano

Oi*Oj + +

1.9.4.2. Competitivo
En la red neuronal tiene lugar una competicin entre las neuronas de forma que la neurona que gana la competicin se activar, las dems neuronas no se activan. La competicin la gana la neurona cuyo vector de pesos sea ms parecido al vector entrada. En el aprendizaje competitivo simple se encuentra una neurona ganadora y se actualizan los pesos nicamente de esa neurona para hacer que tenga ms posibilidades para ganar la prxima vez que un vector de entrada similar sea mostrado a la red. De esta forma se produce su especializacin en el reconocimiento de este tipo de entradas al activarse nicamente ante una entrada similar. Se puede presentar un problema en este tipo de aprendizaje: algunas neuronas pueden llegar a dominar el proceso y ganar siempre mientras otras neuronas no ganan nunca (neuronas muertas). Para evitar esto nos aseguramos de que los pesos son actualizados y normalizados en cada iteracin. Este aprendizaje se suele presentar en las neuronas de la capa de salida, a este tipo de neuronas se las llama el-ganador-toma-todo (winner-take-all)

-10-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Se produce una organizacin en funcin de la estructura de los datos de la entrada. Este mtodo intenta asegurar que los elementos que pertenecen al mismo grupo sean lo ms similares posible entre s y lo ms diferentes posibles a elementos de otros grupos. El objetivo de este tipo de aprendizaje es categorizar conjuntos de datos estudiando su estructura y clasificndolo en grupos.

-11-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

2. MAPAS AUTOORGANIZADOS (SOM) 2.1. Introduccin


Los Mapas Autoorganizados o SOM (Self-Organizing Maps) fueron creados por Teuvo Kohonen entre los aos 1982 y 1990, y son (en su mayora) una puesta en prctica del aprendizaje no supervisado y competitivo (de cuyo algoritmo winner-take-all fue creador Kohonen en 1984). Existe una pequea minora de SOMs en las que en lugar del aprendizaje competitivo utilizan el hebbiano, descrito en el anterior apartado. Los estudios sobre este tipo de redes estn relacionados con los estudios sobre redes biolgicas. Se ha observado que en el crtex cerebral de los animales superiores aparecen zonas donde las neuronas detectoras de rasgos similares se encuentran topolgicamente ordenadas; de forma que las informaciones captadas del entorno a travs de los rganos sensoriales, se representan internamente en forma de mapas bidimensionales. [1] De esta forma existe una zona dedica al tratamiento de la visin, otra diferente para el odo, otra para las funciones motoras, etc. Incluso las neuronas que reciben seales de sensores que se encuentran prximos en la piel se sitan tambin prximas en el crtex, de manera que reproducen (de forma aproximada) el mapa de la superficie de la piel en una zona de la corteza cerebral, es decir se reproduce la topologa observada.

Figura 8. Mapa del crtex cerebral. Podemos distinguir las siguientes reas: motoras (4, 6, 8), visuales (17, 18, 19) y auditivas (41, 42) situadas de forma ordenada en el crtex cerebral. [3]

Aunque en gran medida esta organizacin neuronal est predeterminada genticamente, es probable que parte de ella se origine mediante el aprendizaje. Esto sugiere, por tanto, que el cerebro podra poseer la capacidad inherente de formar mapas topolgicos de las informaciones recibidas del exterior. [9] Por otra parte, tambin se ha observado que la influencia que una neurona ejerce sobre las dems es funcin de la distancia entre ellas, siendo muy pequea cuando estn muy alejadas y muy grande cuando estn muy cerca la una de la otra.

-12-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Basndose en estas ideas se desarrollaron los mapas autoorganizados, de forma que cuando un conjunto de datos de entrada se presenta a la red, los pesos de las neuronas se adaptan de forma que la clasificacin presente en el espacio de entrada se preserva en la salida. Bsicamente las SOMs pueden cumplir con dos funcionalidades: Actuar como clasificadores, encontrando patrones en los datos de entrada y clasificndolos en grupos segn estos patrones. Representar datos multidimensionales en espacios de mucha menor dimensin, normalmente una o dos dimensiones, preservando la topologa de la entrada. Esto es muy til cuando se trabaja con espacios multidimensionales (ms de tres dimensiones) que el ser humano no es capaz de representar, como por ejemplo en problemas fsicos en los que intervienen numerosas variables como temperatura, presin, humedad, etc. Un ejemplo de aplicacin muy conocido es el reconocimiento de fonemas de un lenguaje (en este caso el finlands). Tras el aprendizaje obtenemos un mapa fontico en el que cada neurona se ha especializado en reconocer un tipo de fonema, y en el que sonidos similares o pequeas variaciones quedan representados sobre neuronas vecinas.

Figura 9. Mapa fontico del idioma finlands reconocido por una SOM. [1]

De esta forma vemos como el mapa autoorganizado mimetiza con la especializacin de sus neuronas la realidad observada, el orden que existe entre los fonemas. Hay que destacar, adems, el parecido del mapa fontico con los mapas fonotpicos del crtex temporal del cerebro.

2.2. Arquitectura de las SOM


La arquitectura de una red neuronal determina qu posibles interconexiones entre neuronas son factibles entre las neuronas de la red. La arquitectura de una SOM est formada por dos capas de neuronas. La capa de entrada (formada por N neuronas, una por cada variable de entrada) se encarga de

-13-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

recibir y transmitir a la capa de salida la informacin procedente del exterior. La capa de salida (formada por M neuronas) es la encargada de procesar la informacin en paralelo y formar el mapa de rasgos. Normalmente, las neuronas de la capa de salida se organizan en forma de mapa bidimensional como se muestra en la figura 1, aunque a veces tambin se utilizan capas de una sola dimensin (cadena lineal de neuronas) o de tres dimensiones (paraleleppedo).

Figura 10. Arquitectura de una SOM [9]

La capa de entrada tendr tantas neuronas como dimensiones tenga el espacio multidimensional de entrada (cuatro en este caso), cada neurona transmite el valor de la dimensin que representa a todas las neuronas de la capa de salida (a travs de las conexiones representadas por los pesos wij), y de esta forma cada neurona de la capa de salida recibe un vector de entrada x (de cuatro componentes en este caso) con los valores de las cuatro dimensiones percibidas por la capa de entrada, y produce una nica salida y. Entre las neuronas de la capa de salida, puede decirse que existen conexiones laterales de excitacin e inhibicin implcitas, pues aunque no estn conectadas, cada una de estas neuronas va a tener cierta influencia sobre sus vecinas. Esto se consigue a travs de un proceso de competicin entre las neuronas y de la aplicacin de una funcin denominada de vecindad como veremos a continuacin.

2.3. Mtodo de Aprendizaje (algoritmo winner-take-all)


El aprendizaje comienza con la introduccin en la red del vector de entrada x. De inmediato comienza una competicin entre las neuronas de la capa de salida para determinar una neurona ganadora que ser la nica que se activar de todas ellas. La competicin consiste en una comparacin del vector x con los vectores w de los pesos de cada una de las neuronas que forman la capa de salida. Cuando se encuentre el vector de pesos ms similar al de entrada, basndose en alguna medida de distancia (que debe

-14-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

ser mnima), la neurona poseedora de esos pesos se declara neurona ganadora o BMU (Best Matching Unit). Para calcular las distancias entre x y w se utiliza: [6] Producto escalar o correlacin (xwi donde i indica el n de neurona), dos vectores sern ms similares cuanto mayor sea su correlacin. Costosa cuando el tamao de los vectores es grande. Producto escalar normalizado (regla del coseno), medida independiente del tamao de los vectores. xwi = cos( x, wi ) || wi |||| x || Distancia eucldea, dos vectores sern ms similares cuanto menor sea su distancia.

D( x, wi ) =

(w
k

ik

xk ) 2

Distancia de Minkowsky (generalizacin de la eucldea para valores de exponente y raz diferentes de 2)


D( x, wi ) = (wik x k ) , k Distancia de Manhattan (caso concreto de la anterior para =1) D( x, wi ) = | wik x k |
k 1

Al activarse nicamente la neurona BMU estamos potenciando que esa neurona ganadora se est especializando en activarse cuando le lleguen entradas de ese tipo. El vector de pesos asociado a la neurona vencedora se modifica de manera que se parezca un poco ms al vector de entrada. De este modo, ante el mismo patrn de entrada, dicha neurona responder en el futuro todava con ms intensidad. As establecemos la siguiente regla de aprendizaje wij = * (xj wij), para i=c wij = 0, para ic donde c indica la neurona BMU y es una constante llamada tasa de aprendizaje que tendr un valor pequeo para que los pesos de la red no oscilen demasiado entre iteraciones. Como: wij = * (xj wij) = * xj - * wij Podemos observar que en cada iteracin se elimina un cierta fraccin del antiguo vector de pesos w (lo que implica un cierto olvido), el cual es sustituido por una fraccin del vector actual x, de modo que en cada paso el vector de pesos de la ganadora w se parece un poco ms al vector de entradas x que la hace ganar. [1] wij para la neurona ganadora va a ser un valor muy pequeo porque la diferencia (xj wij) es la mnima posible de la red neuronal, de esta forma apenas variamos los pesos de

-15-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

la neurona ganadora. Si wij tiene un valor grande supone que nuestra red no est apenas entrenada y que es necesario hacer retoques importantes en la misma. Este proceso se repite para numerosos patrones de entrada, de forma que al final cada neurona se especializa en reconocer cada clase en las que est dividido el espacio de entrada. La siguiente interpretacin geomtrica (Masters, 1993) del proceso de aprendizaje puede resultar interesante para comprender la operacin de la red SOM. [1] El efecto de la regla de aprendizaje no es otro que acercar de forma iterativa el vector de pesos de la neurona de mayor actividad (ganadora) al vector de entrada. En la figura se muestran en un espacio bidimensional tres clusters (grupos) correspondientes a tres neuronas que deben terminar reconociendo cada uno su correspondiente cluster. Los lmites de los clusters estn dibujados en negro. Al principio del entrenamiento los vectores de pesos de las tres neuronas (representados por vectores de color rojo) son aleatorios y se distribuyen por la circunferencia. Conforme avanza el aprendizaje, stos se van acercando progresivamente a las muestras procedentes del espacio de entrada, para quedar finalmente estabilizados como centroides de los tres clusters.

Figura 11. Aprendizaje y sus fases. [1]

2.4. Ejemplo sobre el algoritmo winner-take-all [2]


Consideramos las entradas x1 y x2 y la salida esperada que se muestran a continuacin:

x1 1.0 9.4 2.5 8.0 0.5 7.9 7.0 2.8 1.2 7.8

x2 1.0 6.4 2.1 7.7 2.2 8.4 7.0 0.8 3.0 6.1

Salida 1 -1 1 -1 1 -1 -1 1 1 -1

Tabla 4. Datos de entrada y salida esperada.

-16-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Queremos entrenar una red neuronal sencilla formada por slo dos neuronas (A y B) que van a recibir ambas las entradas x1 y x2. Inicializamos los vectores de pesos de cada neurona con los valores (7,2) y (2,9) correspondientes a los vectores w1 y w2 de las neuronas A y B respectivamente. El entrenamiento comienza con la introduccin en la red del primer par de datos. Utilizaremos la distancia eucldea como medida de la distancia entre los pesos de las neuronas y la entrada para determinar la neurona ganadora. Calculamos la distancia respecto de la neurona A: D((1,1),(7,2))=((1-7)2+(1-2)2)=6.08 respecto de la neurona B: D((1,1),(2,9))= ((1-2)2+(1-9)2)=8.06 como podemos observar la distancia menor corresponde a la neurona A, esta neurona es la ganadora de la competicin. Calculamos el incremento de pesos con el que vamos a premiar a la neurona ganadora, aplicando la regla wij = * (xj wij) donde tomamos un = 0.5 w = 0.5((1,1)-(7,2))=(-3,-0.5) Actualizamos los pesos de la neurona A (los de la neurona B los dejamos como estn): w(t) = w(t-1) + w = (7,2) + (-3,-0.5) = (4,1.5) Procesamos las restantes entradas de la misma manera y obtenemos la siguiente tabla:

x1 9.4 2.5 8.0 0.5 7.9 7.0 2.8 1.2 7.8

x2 6.4 2.1 7.7 2.2 8.4 7.0 0.8 3.0 6.1

D(x,A) 7.29 4.6 5.4 6.72 6.36 4.75 3.16 2 6.6

D(x,B) 7.75 6.92 6.14 6.96 5.93 2.7 7.74 6.82 2.5

BMU A A A A B B A A B

wA (2.7,2.5) (-2.1,-0.5) (1.7,2.1) (-2.9,-1.7) 0 0 (-0.3,-1.5) (-0.95,0.3) 0

wB 0 0 0 0 (2.9,-0.3) (1.05,-0.85) 0 0 (0.9,-0.87)

w(t)A w(t)B (6.7,4) (2,9) (4.6,3.5) (2,9) (6.3,5.6) (2,9) (3.4,3.9) (2,9) (3.4,3.9) (4.9,8.7) (3.4,3.9) (6,7.85) (3.1,2.4) (6,7.85) (2.15,2.7) (6,7.85) (2.15,2.7) (6.9,7)

Tabla 5. Datos obtenidos al aplicar el algoritmo

Al final del proceso obtenemos los pesos: wA = (2.15,2.7) wB = (6.9,7) En el siguiente grfico se representan los datos de entrada (con un rombo) junto con los pesos inicializados aleatoriamente (cuadrados) y los mismos pesos al finalizar el entrenamiento (crculos). Se puede observar como los datos de entrada se distribuyen en dos regiones del espacio bidimensional, cada regin representa una clase que nuestra red neuronal es capaz de reconocer a travs de sus dos neuronas, una para cada clase.

-17-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

10

2; 9 7,9; 8,4

8 8; 7,7 7 6,9; 7 7; 7 9,4; 6,4 6 7,8; 6,1

1,2; 3 2,15; 2,7 0,5; 2,2

2,5; 2,1

7; 2

1; 1 2,8; 0,8

0 0 1 2 3 4 5 6 7 8 9 10

Figura 12. Proceso de aprendizaje

Observamos como partiendo de unos pesos inicializados aleatoriamente y una vez terminado el entrenamiento, los pesos se aproximan cada uno a la regin del espacio de datos de entrada que le corresponde, de forma que podemos concluir que el entrenamiento ha sido satisfactorio. La neurona A est especializada en clasificar puntos de la regin situada en el extremo inferior izquierda del espacio, mientras que la neurona B clasificar puntos de la regin situada en el extremo superior derecha.

2.5. Obtencin de Mapas. Funcin de vecindad.


Con la regla que acabamos de exponer podemos entrenar una SOMs para que sea capaz de clasificar en grupos las diferentes entradas que le suministremos, pero si tambin queremos que sea capaz de reproducir en una o dos dimensiones siguiendo un orden topolgico (proyectar un mapa) las entradas introducidas, tenemos que desarrollar otra regla un poco ms compleja. Necesitamos introducir una funcin de vecindad () que nos permita conocer lo prxima que puede estar una neurona de otra. As tenemos wij = (c,i) * * (xj wij) donde c es la neurona ganadora e i la neurona de la que modificamos los pesos (que puede ser la misma). Dicha funcin devolver un valor alto si ambas neuronas estn muy prximas entre s y un valor bajo en caso contrario. -18-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Esta frmula se aplicar a todas las neuronas de la red y no slo a la ganadora como ocurra antes. En este modelo seguiremos llamando neurona ganadora a la que tenga mnima diferencia entre sus pesos y la entrada. De esta forma los pesos de todas las neuronas se modificarn en funcin de su cercana respecto de la ganadora, los pesos de las neuronas ms cercanas sufrirn un incremento mayor que los pesos de las neuronas ms lejanas.

Figura 13. SOM reconociendo los colores rojo, verde y azul. A medida que nos acercamos a las neuronas ganadoras de cada clase el color se vuelve ms intenso.

Con esto conseguimos que los pesos de las neuronas cercanas a la ganadora sean muy similares a los pesos de la ganadora y esta similitud ir disminuyendo progresivamente a medida que nos alejemos de la neurona BMU. Esto es lo que permite formar una ordenacin topolgica de la red neuronal dividiendo sta en regiones y mimetizando as la topologa de la realidad de la que se toman los datos. La utilizacin de la funcin de vecindad en el modelo de mapas autoorganizados aporta respecto del modelo competitivo sencillo dos ventajas adicionales: el ritmo efectivo de convergencia se mejora y el sistema es ms robusto frente a variaciones en los valores iniciales de los pesos.

2.6. Tipos de funcin de vecindad


Normalmente la funcin de vecindad () suele seguir una curva Gaussiana centrada en la posicin de la neurona ganadora. Pero tambin puede tener otras formas:

-19-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Figura 14. Tipos de funcin de vecindad [1]

Existen otros tipos, como la funcin rectangular (o de tipo escaln) o la funcin pipa con la que se obtienen mapas cuyas regiones tienen bordes ntidos alrededor de las neuronas ganadoras.

Figura 15. Regiones delimitadas concntricamente a la neurona ganadora por una funcin rectangular o de tipo pipa. [3]

Se suele utilizar mucho tambin la diferencia de gaussianas (sombrero mejicano), con la que se penaliza a las neuronas que se encuentran a una distancia media a la neurona ganadora.

2.7. Variacin de la funcin de vecindad y de la tasa de aprendizaje


A lo largo del proceso de aprendizaje se puede modificar la funcin de vecindad. Al principio del proceso se puede trabajar con una gaussiana aplanada que permita alimentar a muchas neuronas cercanas a la ganadora (vecindario grande) y progresivamente la gaussiana se ir haciendo ms picuda (vecindario pequeo) para alimentar a slo las neuronas ms cercanas a la ganadora, terminando por alimentar slo a la neurona ganadora. Este estrechamiento de la funcin se consigue modificando su varianza linealmente, partiendo de una varianza alta y finalizando con una varianza baja. Podemos llamar radio de vecindad a la apertura de la funcin gaussiana, a lo largo del proceso puede variar siguiendo esta expresin: t R (t ) = Ro + (R f R0 ) tR

-20-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

donde R0 representa el radio inicial y tiene un valor grande y Rf el radio final y tiene un valor igual a 1, t representa la iteracin y tR el nmero de iteraciones para alcanzar Rf Tambin suele variar a lo largo del proceso la tasa de aprendizaje () partiendo con un valor alto (con el que la modificacin de los pesos es mayor) y disminuyendo linealmente hacia un valor bajo. A lo largo del proceso de aprendizaje modificamos en cada iteracin un poco menos los pesos respecto de la anterior. Podemos aplicar la ecuacin anterior a la tasa de aprendizaje obteniendo una funcin lineal de decrecimiento: t (t ) = o + ( f 0 ) t o bien podemos utilizar la siguiente funcin exponencial obteniendo un decrecimiento ms rpido: f (t ) = 0 0
t t

Con la variacin de estos dos parmetros se consigue favorecer (y hacer ms rpida) la convergencia de los pesos creando as una SOM eficiente.

2.8. Algoritmo de Aprendizaje


El proceso de aprendizaje comprende dos fases fundamentales: una ordenacin global, en la que se produce el despliegue del mapa y un ajuste fino, en el que las neuronas se especializan. En el proceso de aprendizaje para el despliegue del mapa se pueden seguir estos pasos: [5] 1. Los pesos de todas las neuronas se inicializan aleatoriamente con valores pequeos, para que todas las neuronas tengan similares posibilidades de ganar. 2. Se inicializa la tasa de aprendizaje () y la varianza inicial de la funcin de vecindad () 3. Se introduce en la red un vector de entrada con valores aleatorios. 4. Se calcula la distancia entre los pesos de todas las neuronas y el vector de entrada. A travs de una competicin (distancia mnima) se establece la neurona ganadora para ese vector de entrada. 5. Se calcula la vecindad de cada neurona respecto de la ganadora. 6. Se aplica la regla de aprendizaje en todas las neuronas de la red, modificando sus pesos. 7. Se recalcula el valor de y la varianza de para la siguiente iteracin. 8. Se repite el proceso desde el paso 3 hasta que los pesos converjan. Se puede realizar a continuacin una segunda fase en el aprendizaje, en la que se produce el ajuste fino del mapa, de modo que la distribucin de los pesos sinpticos se ajuste ms a la de las entradas. El proceso es similar al anterior, tomando constante e igual a un valor pequeo (por ejemplo 0.01), y radio de vecindad constante e igual a uno.

-21-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

2.9. Simulacin mediante ordenador [3]


Podemos ilustrar el comportamiento del algoritmo utilizando simulaciones por ordenador. En esta simulacin estudiaremos una red de 100 neuronas organizadas en una red neuronal de 10 filas por 10 columnas. Para entrenar la red se utiliza un vector de entrada con dos componentes x1 y x2 uniformemente distribuidos en los rangos {-1 < x1 < 1; -1 < x2 < 1}. Los vectores de los pesos de las neuronas de la red se inicializan con valores aleatorios.

Figura 16. Simulacin por ordenador del algoritmo de aprendizaje. (a) valores iniciales aleatorios, (b) red despus de 50 iteraciones, (c) red despus de 1000 iteraciones, (d) red despus de 10000 iteraciones.

En la figura 16 se muestran cuatro etapas del entrenamiento. En la figura 16a se muestra la red inicializada a valores aleatorios, las siguientes figuras muestran los valores de los pesos de las neuronas representados por puntos, las lneas representan la conexin entre neuronas vecinas. En las figuras 16b y 16c podemos ver como el mapa se despliega partiendo de un desorden inicial (fase de ordenamiento) y se converge a un orden que podemos observar en la figura 16d (fase de convergencia, el mapa se propaga para cubrir todo el espacio de entrada).

-22-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Al finalizar el entrenamiento la distribucin de las neuronas se aproxima al vector de entrada, exceptuando el efecto de los bordes (que veremos en el siguiente apartado).

2.10. Variantes de las SOMs


Sobre este modelo general que acabamos de exponer los investigadores han incorporado algunas modificaciones para mejorar su eficacia. [1] Mapas autoorganizados crecientes. Se parte de un mapa con pocas neuronas y en cada iteracin se aaden nuevas neuronas cuyos pesos se obtienen de la interpolacin de los valores de los pesos de las neuronas vecinas. Correccin del efecto de los bordes del mapa. Las neuronas situadas en las orillas de mapa no aprenden de igual forma que el resto, debido a que tienen menos vecinas. Se presentan asimetras entre las neuronas del interior y las de los bordes. Para corregir esto se puede someter a un ritmo de aprendizaje mayor a las neuronas de los bordes; o bien se puede cerrar el mapa, considerar que una neurona de un extremo del mapa es vecina de la neurona correspondiente del extremo opuesto, obteniendo as una superficie esferoidal o toroidal. Introduccin de un mecanismo de conciencia. Durante el proceso de aprendizaje pueden existir neuronas que monopolicen el proceso ganando iteracin tras iteracin. Para conseguir una equiprobabilidad de victoria entre las neuronas se introduce un mecanismo de conciencia consistente en contabilizar durante el proceso el nmero de veces que cada neurona gana, y penalizar a aquellas que ganan en demasiadas ocasiones. Redes de contrapropagacin (counterpropagation) de Hetch-Nielsen. En este modelo se parte de un mapa autoorganizado de aprendizaje no supervisado y una vez realizado su entrenamiento se someten sus resultados a una red neuronal de aprendizaje supervisado. Se trata pues de un modelo hbrido en el que, en su versin ms simple, consta de tres capas neuronas: capa de entrada, capa oculta no supervisada (de tipo Kohonen) y capa de salida supervisada (de tipo Grossberg). En esta red el aprendizaje queda dividido en dos fases: [2] Fase no supervisada. Gradualmente se identifican caractersticas de los datos, estableciendo lmites entre ellos y agrupndolos en clases. Fase supervisada. Un supervisor externo da nombres a las clases obtenidas y somete a la clasificacin a un ajuste ms fino. Las caractersticas de este modelo son comparables con las del perceptrn multicapa, mejorando su velocidad de convergencia pero con peor capacidad de generalizacin.

-23-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Red LVQ (Learning Vector Quantization) Se trata de un modelo supervisado, compuesto por una capa simple de neuronas de Kohonen sin relaciones de vecindad, que en ocasiones se emplea como procedimiento supervisado de ajuste fino del mapa de Kohonen. Este modelo, utilizado la clasificacin de patrones, se basa en premiar a aquellas neuronas que clasifican correctamente un determinado patrn, y castigar a las que realizan una clasificacin errnea, modificando sus pesos en sentido contrario.

2.11. Aplicaciones
Las aplicaciones de los mapas autoorganizados se dividen en dos grandes grupos: Clasificacin de datos en clases. Visualizacin de datos multidimensionales a travs de la reduccin de la dimensionalidad. Con estos dos posibles usos de las SOMs tenemos las siguientes reas de aplicacin: Anlisis y minera de datos. Bioinformtica, anlisis de secuencias genticas. Reconocimiento del habla, modelado del lenguaje natural. Control industrial, monitorizacin y diagnosis de procesos y plantas industriales. Aplicaciones mdicas: diagnosis, creacin de prtesis, modelado de perfiles de pacientes. Telecomunicaciones, distribucin de recursos en la red, procesado de seales. Deteccin de intrusos en sistemas informticos, clasificacin de ataques en los SDI (Sistemas de Deteccin de Intrusos). Clasificacin de nubes en imgenes por satlite Investigacin sobre desordenes del sueo. Anlisis de seales elctricas del cerebro. Organizacin y recuperacin de grandes colecciones de textos (WEBSOM) Anlisis y visualizacin de grandes colecciones de datos estadsticos. Etc

2.12. Herramientas software de simulacin de SOMs


Existen en el mercado una serie de herramientas software que permiten la simulacin del funcionamiento de redes SOM. Algunas de las ms conocidas son las siguientes: SOM_PAK (Helsinki University of Technology)[11]. Conjunto de programas escritos en C por Teuvo Kohonen y su equipo que permiten construir redes SOM. El formato de los ficheros en los que se almacenan datos de entrada con los que se trabaja es el siguiente: o Primera linea contiene la dimensin de los vectores. o Las siguientes lineas contienen los pesos separados por espacios. o Al final de cada una se puede tener una etiqueta adicional. o Las lineas que comienzan por # son comentarios

-24-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Algunos programas importantes del paquete: o lininit y randinit: inicializan los pesos del mapa. o vsom : realiza el entrenamiento de los mapas autoorganizados. o qerror: calcula el error cuantificado. o umat: genera una representacin en postscript del mapa. o visual: devuelve las coordenadas de las neuronas BMU encontradas Se suelen utilizar scripts para trabajar con las funciones el paquete. SOM ToolBox (Helsinki University of Technology)[11]. Constituye una librera de funciones para Matlab que implementan procedimientos para crear y manipular redes SOM. Utilizan la potencia de clculo y facilidad de programacin de la herramienta matemtica Matlab para la simulacin de SOMs. Los datos de entrada para el entrenamiento de la SOM se pueden introducir en un fichero de texto o directamente en la consola de Matlab. Algunas de las funciones ms interesantes son: o som_read_data: lee un fichero de datos ASCII en el formato definido para los ficheros de datos para SOM_PAK o som_data_struct: genera una estructura de datos a partir de unos datos de entrenamiento. o som_normalize: normaliza una estructura de datos. o som_randinit: inicializa una SOM con valores aleatorios. o som_make: crea, inicializa y entrena la SOM con valores por defecto que consigue de otras funciones. Recibe como parmetro obligatorio el conjunto de datos necesario para realizar el entrenamiento. o som_seqtrain y som_batchtrain: entrena una red SOM pasada por parmetro utilizando para ello un conjunto de datos tambin pasado por parmetro. La primera utiliza un algoritmo secuencial, mientras que la segunda uno en modo batch. o som_bmus: encuentra la neurona BMU. Recibe como parmetros la red SOM y los datos de entrada necesarios para la bsqueda o som_show: visualiza una red SOM pasada por parmetro. En el modo de operar con SOM Toolbox se suelen seguir los siguientes pasos: 1. construir el conjunto o estructura de datos de entrenamiento 2. normalizarlo 3. crear y entrenar el mapa utilizando los datos normalizados 4. visualizar el mapa 5. analizar los resultados NeuroSolutions [12]. Conjunto de herramientas para la simulacin de redes neuronales en entorno visual. Adems de otros tipos de redes (como perceptrones multicapa), se pueden simular redes SOM. Herramientas: o NeuralBuilder: asistente que facilita la creacin de un red SOM en unos pocos pasos en los que se solicita al usuario: el fichero con los datos de entrenamiento y con los datos esperados, el error con el que el entrenamiento se parar, el nmero de capas ocultas de la red y sus dimensiones (cantidad de neuronas), las reglas de aprendizaje y modos de propagacin de las neuronas, el nmero mximo de iteraciones del entrenamiento y el modo en el que se desea visualizar cada elemento del entrenamiento. A continuacin construye la red neuronal y muestra en un

-25-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

grfico su estructura. Apoyado en grficos y hojas de datos se puede observar el entrenamiento. o NeuroSolutions for Excel. Conjunto de funcionalidades integradas en la hoja de clculo MS Excel que permiten desde dicho programa procesar y analizar datos, adems de crear grficos y redes neuronales a partir de los datos introducidos en la hoja de clculo. o NeuralExpert. Asistente muy sencillo de manejar que permite seleccionar entre resolver cuatro tipos de problemas: clasificacin, aproximacin, prediccin y clustering de datos. Si seleccionamos clasificacin podemos crear una red neuronal en 8 sencillos pasos.

-26-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

3. EJEMPLO DE APLICACIN DE LAS SOMs FACERET: SISTEMA DE ADMINISTRACIN Y BSQUEDA INTELIGENTE DE CARAS EN BASES DE DATOS DE IMGENES.
ADAPTADO Y RESUMIDO DE [13] Y [14] INVESTIGACIN Y ARTICULOS ORIGINALES OBRA DE:

Javier Ruiz del Solar Profesor Asistente Depto. de Ingeniera Elctrica, U. de Chile. Ingeniero Civil Electrnico, Universidad Tcnica Federico Santa Mara. Chile Dr. Engineer, Technical University of Berlin, Germany Pagina personal: http://www.cec.uchile.cl/~aabdie/jruizd/ Pablo Navarrete Ingeniero Civil Electricista, Universidad de Chile 3.1. Introduccin
El sistema FACERET (FACE RETrieval) es un sistema formado por una TS-SOM (que explicaremos ms adelante) y una base de datos donde almacenamos gran nmero de fotografas de caras de personas. El sistema permite buscar y localizar la cara de una persona dentro de una base de datos con muchas imgenes de caras, recorriendo el mnimo de imgenes posibles (mediante al uso de la TS-SOM). Este sistema se puede aplicar en usos policiales en los que es necesario identificar el sospechoso de un delito y en el que los testigos del delito no pueden recordar con exactitud los rasgos de la cara del delincuente, tan solo tienen un recuerdo, pero no una imagen ntida. El sistema presenta iterativamente al usuario una serie de caras, en cada iteracin el usuario selecciona las caras que ms parecido encuentra con la del delincuente, hasta que (si se produce convergencia) se le muestra la fotografa del presunto delincuente, finalizando la bsqueda con xito. En cada nueva iteracin la seleccin realizada por el usuario en la iteracin anterior es relevante para determinar las imgenes a mostrar en la iteracin. Este proceso de bsqueda se llama retroalimentacin de relevancia (Relevance Feedback). Durante este proceso iterativo se descartan una gran cantidad de imgenes (el espacio de bsqueda disminuye en cada iteracin) de forma que la bsqueda se puede conseguir mucho ms rpidamente que con una bsqueda secuencial.

3.2. Funcionamiento de FACERET


En el siguiente esquema se describe la estructura del sistema FACERET. Podemos distinguir la base de datos, en la cual se almacenan todas las imgenes o fotografas de las caras, y la red TS-SOM, encargada de administrar en forma eficiente la base de datos y la informacin de las caras contenidas en la misma.

-27-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Figura 17. Estructura de FACERET

El esquema de funcionamiento del sistema se puede resumir en este algoritmo:


1. 2. 3. 4. FACERET escoge un conjunto al azar de imgenes de caras que son mostradas al usuario. El usuario selecciona las caras mostradas por el sistema que encuentre parecidas a la cara que est buscando. FACERET determina un nuevo conjunto de imgenes a partir de las imgenes que han sido seleccionadas y no-seleccionadas por el usuario durante todas las consultas. El usuario analiza las caras mostradas por el sistema: 4.a El usuario encuentra la cara buscada: SALIR. 4.b El usuario encuentra caras parecidas a la cara buscada: IR A 2. 4.c El usuario no encuentra caras parecidas a la cara buscada: 4.c.1 El usuario desiste de la bsqueda: SALIR. 4.c.2 El usuario decide continuar la bsqueda. No selecciona ninguna de las caras mostradas por el sistema: IR A 1.

La informacin que obtiene el sistema en cada iteracin del usuario consiste en valores binarios, parecido o no parecido, asociados a cada cara mostrada al usuario. A partir de esta informacin el sistema debe determinar un nuevo grupo de fotografas a mostrar al usuario, de forma que se reduzca el espacio de bsqueda y se asegure la convergencia a la cara buscada. Para conseguir esto es necesario: Comprender los criterios utilizados por los humanos para definir parecidos entre caras. En este punto se utiliza el Anlisis de Componentes Principales (PCA) para obtener vectores de caractersticas (descriptores) de las imgenes de caras y el uso de Distancia Euclidiana como criterio de similitud entre estos vectores o descriptores. Un ordenamiento de la base de datos para seleccionar grupos de imgenes similares a la cara buscada. Lo cual se consigue a travs de las TS-SOM que pasamos a exponer en el siguiente apartado.

-28-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

3.3. Mapas Autoorganizados Arbreos (TS-SOM)


Los mapas autoorganizados arbreos suponen una variacin arquitectnica de un mapa autoorganizado convencional. El uso de TS-SOM (Tree Structured SOM) permite disminuir considerablemente el tiempo de bsqueda de una neurona ganadora al introducir en la red un vector de entrada respecto al tiempo necesario en una red SOM convencional. Esto es debido a su particular arquitectura, basada en una estructura piramidal dividida en niveles, en cada uno de los niveles se encuentra una red SOM.

Figura 18. Arquitectura de un mapa autoorganizado arbreo o TS-SOM

A medida que se profundiza en la estructura del rbol las neuronas de cada nivel tiene una especializacin mayor en reconocer patrones que las del nivel anterior. De esta forma la neurona raz tendr unos pesos que permitirn su activacin con suficiente facilidad, la activacin de la neurona provocar la comunicacin de esta con las del nivel inferior. Una o varias de estas neuronas se activarn en funcin de su especializacin. Cada una de estas neuronas gobierna una regin de neuronas en el nivel siguiente, de modo que su activacin provoca la comunicacin con la regin correspondiente, descartndose la comunicacin con el resto de regiones. A medida que nos adentramos en la estructura del rbol se activan nicamente pequeas regiones de neuronas de cada nivel, de cada una de las redes SOM que forman el rbol. De este modo se descarta desde los primeros niveles del rbol el uso de muchas neuronas de la pirmide, reducindose considerablemente el espacio de bsqueda y acelerando el tiempo de bsqueda. En la figura 18 se muestra un TS-SOM de tres niveles en el que cada neurona de cada nivel gobierna sobre cuatro neuronas del nivel inferior. El espacio de bsqueda en niveles inferiores de la TS-SOM est restringido a una cierta zona del mapa correspondiente a las neuronas situadas debajo de la neurona ms cercana del nivel anterior. Luego, la complejidad de las bsquedas en una estructura TSunidades es , donde es el nmero de hijos por neurona. La SOM con complejidad de una red SOM convencional es O(n) debido a que para determinar la neurona ganadora es necesario procesar todas las neuronas de la red. De esta forma se demuestra que la velocidad de entrenamiento y de operacin de una TS-SOM es mayor que en una SOM.

-29-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

Para determinar los vectores de pesos en la red TS-SOM se debe seguir el siguiente algoritmo: Paso 0: En el primer nivel (con una sola neurona) el vector de pesos es igual al vector promedio de toda la base de datos. Paso 1: En los niveles bajo la raz, el vector de pesos de cada neurona es inicializado copiando el vector de pesos de la neurona padre (del nivel anterior). Paso 2: Por cada neurona procedemos de la siguiente forma: Paso 2.1: Determinamos su neurona ms cercana. Paso 2.2: Definimos grupo limitado de neuronas como el grupo de neuronas formado por las neuronas hijas del neurona ms cercana y los neuronas hijas de sus vecinas Paso 2.3: Definimos centroide como el promedio de los vectores de las neuronas que forman el grupo limitado. Procedemos a su clculo. Paso 3: Los nuevos vectores de pesos se calculan como el promedio de los centroides vecinos, ponderados por el nmero de vectores ms cercanos (de cada neurona) y por una funcin que asigna ms importancia a los vecinos ms cercanos (usualmente gaussiana). Paso 4: Si el vector de pesos no converge de acuerdo a algn criterio de variacin entre iteraciones, el procedimiento contina con el siguiente nivel de la TS-SOM en el Paso 1. Si no es as, el procedimiento se repite desde el Paso 2. En la Figura 19 se muestra la ubicacin de un grupo de caras en el ltimo nivel de la red TS-SOM entrenada usando las componentes PCA1 (que definen e identifican cada cara) comprobndose que existe consistencia con el parecido entre caras asociado a los humanos.

Figura 19. Ejemplo de ubicacin ordenada de caras en el nivel ms bajo de una estructura TS-SOM

Para ms informacin sobre la aplicacin de PCA en este sistema consultar [14]

-30-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

3.4. Sistema de Seleccin


El sistema de bsqueda de caras est basado en el sistema PicSOM de bsqueda de imgenes en bases de datos. Se muestra al usuario en cada iteracin un conjunto pequeo (por ejemplo 6) de fotografas para que seleccione las que le parezcan ms cercanas a la persona buscada. El problema radica en determinar el siguiente conjunto de fotografas a mostrar al usuario en la siguiente iteracin. Para solucionar esto se utilizan matrices de seleccin. En cada nivel de la red TS-SOM se define una matriz de seleccin con las mismas dimensiones de la red SOM correspondiente (ver Figura 20). Cada posicin de la matriz representa una neurona del nivel de la TS-SOM correspondiente.

(a) Mapa Auto-Organizativo.

(b) Matriz de Seleccin. Figura 20. Matriz de seleccin asociada a un nivel de la TS-SOM

Cuando un usuario selecciona caras que considera parecidas a la cara buscada (dentro de las 6 mostradas), el sistema asigna valores positivos a las caras seleccionadas por el usuario y valores negativos a las caras no-seleccionadas. Los valores positivos y negativos se normalizan tal que sumen cero. Estos valores se suman a la matriz de seleccin en las posiciones correspondientes a las caras mostradas segn su posicin en el nivel de la TS-SOM. Por ltimo se distribuyen los valores de cada posicin dentro la matriz hacia sus vecinos aplicando un filtro paso-bajo. El resultado se puede observar en la figura 20b El nuevo conjunto de caras que el sistema muestra al usuario corresponde a las caras ubicadas en las neuronas con mayor valor en los elementos correspondientes de la matriz de seleccin.

3.5. Simulaciones
Se han efectuado simulaciones sobre el sistema FACERET para comprobar su correcto funcionamiento sobre una base de datos FERET (Facial Recognition Technology) que puede almacenar 14.051 imgenes en escala de grises agrupadas en 1209 clases de individuos, aunque para la simulacin se utiliz 1196 imgenes de 1196 sujetos distintos. Se entren una red TS-SOM con 6 niveles y 3232 neuronas en el ltimo nivel.

-31-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

En la figura 21 se muestra una simulacin en donde se busc una cara dentro de la base de datos. En esta simulacin se converge a la cara buscada despus de 6 iteraciones, lo que corresponde a mostrar entre un 3% y un 3,5% de la base de datos. Entre cada una de las iteraciones se muestran las 6 matrices de seleccin que indican cmo el sistema converge a una zona del mapa autoorganizativo donde se encuentra la cara buscada.

Figura 21. Simulacin de una bsqueda

Es importante mencionar que hubo casos en que el sistema no logr converger en un nmero razonable de iteraciones, debido a que se concentraba en zonas completamente distintas a la zona donde se ubic la cara buscada. Luego el resultado de las simulaciones demostr que el sistema funciona eficientemente en la mayora de los casos, pero no asegura la convergencia de la bsqueda (en pocas iteraciones).

-32-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

4. BIBLIOGRAFIA Y OTROS RECURSOS


BIBLIOGRAFIA [1] [2] [3]

Redes Neuronales y Sistemas Borrosos Bonifacio Martn del Ro, Alfredo Sanz Molina Ra-Ma 2001 Artificial Intelligence George F. Luger, William A. Stubblefield Addison Wesley 1998 Neural Networks. A comprehensive Foundation. Simon Haykin Macmillan College Publishing Company 1994

CONFERENCIAS [4] [5] [6] [7] [8]

Anlisis de Componentes Principales y Redes Neuronales Csar I. Garca Osorio (Universidad de Burgos) Curso de Verano Inteligencia Artificial y sus Aplicaciones. UBu. Julio 2003. Fundamentos y Aplicaciones de los Mapas Autoorganizados Jess M. Maudes Raedo (Universidad de Burgos) Curso de Verano Inteligencia Artificial y sus Aplicaciones. UBu. Julio 2003. Reconocimiento y Clasificacin con Redes Neuronales Luis Alonso Romero (Universidad de Salamanca) Curso de Verano Inteligencia Artificial y sus Aplicaciones. UBu. Julio 2003. Aprendizaje Competitivo Emilio S. Corchado Rodrguez (Universidad de Burgos) Curso de Verano Inteligencia Artificial y sus Aplicaciones. UBu. Julio 2003. Modelos Conexionistas aplicados a la seguridad SDI/SDA Emilio S. Corchado Rodrguez (Universidad de Burgos) Curso de Verano Integracin de Sistemas Operativos, Comunicaciones y Seguridad. UBu. Julio 2004.

RECURSOS DE INTERNET

Tutorial sobre Redes Neuronales Artificiales: Los Mapas Autoorganizados de Kohonen Palmer, A., Montao J.J. y Jimnez, R. Universitat de les Illes Balears [10] Trabajo de Redes Neuronales y algoritmos de primer orden (INF 350-1) Universidad Catlica de Valparaso [11] Pgina del Laboratorio de Computacin y Ciencias de la informacin de la Universidad Tecnolgica de Helsinki http://www.cis.hut.fi/ [12] NeuroDimension, Inc. http://www.nd.com

[9]

-33-

Redes Neuronales Artificiales y Mapas Autoorganizados Sistemas Expertos e Inteligencia Artificial

David Martnez Gonzlez Universidad de Burgos Curso 2004-05

SISTEMA FACERET [13] Pontificia Universidad Catlica de Chile http://www2.ing.puc.cl/~iing/ed437/Anales/ [14] Navarrete, P., and Ruiz-del-Solar, J. (2002). Interactive Face Retrieval using SelfOrganizing Maps. 2002 Int. Joint Conf. on Neural Networks IJCNN 2002, May 12-17, Honolulu, USA http://www.cec.uchile.cl/~aabdie/jruizd/papers/wcci2002a.pdf

-34-

También podría gustarte