Está en la página 1de 76

Redes de Neuronas Articiales

Curso: 2001/2002 Cuatrimestre: Primero Alumna: Laura M. Castro Souto Profesores: Antonino Snchez del Riego a Julin Dorado de la Calle a

Indice general
I Fundamentos Biolgicos de las RNA o
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
7 8 10 10 10 11 11 11 11 12 14 14 15 17 18 18 20 24 29 29 29 30 30 32 34 35 36 38 38

1. Introduccin a la neurocomputacin o o 1.1. RNA vs. Programacin Secuencial . . . . . . . . . . . o 1.2. Breve historia de las RNA . . . . . . . . . . . . . . . 1.3. Esquemas o Paradigmas de Aprendizaje . . . . . . . 1.3.1. Aprendizaje Supervisado . . . . . . . . . . . . 1.3.2. Aprendizaje No Supervisado . . . . . . . . . . 1.3.3. Paradigma H brido de Aprendizaje . . . . . . 1.4. Las RNA ms utilizadas . . . . . . . . . . . . . . . . a 1.4.1. Redes de Hopeld . . . . . . . . . . . . . . . . 1.4.2. Perceptrn Multicapa (Multilayer Perceptron) o 1.5. Clasicacin general . . . . . . . . . . . . . . . . . . o 1.6. Algoritmos de aprendizaje. Clasicacin . . . . . . . o 1.7. Reglas de aprendizaje . . . . . . . . . . . . . . . . . . 1.7.1. Regla de Hebb . . . . . . . . . . . . . . . . . 1.7.2. Regla de Boltzmann . . . . . . . . . . . . . . 1.7.3. Regla del Perceptrn . . . . . . . . . . . . . . o 1.7.4. Regla Delta Generalizada - Backpropagation . 1.8. Estimacin del perfomance . . . . . . . . . . . . . . . o 2. Revisin de algunos tipos de RNA o 2.1. Memorias asociativas . . . . . . . . . . . . . . 2.1.1. Conceptos . . . . . . . . . . . . . . . . 2.1.2. Tipos . . . . . . . . . . . . . . . . . . 2.1.3. Trabajos de Bart Kosho . . . . . . . . 2.1.4. Redes de Hopeld . . . . . . . . . . . . 2.2. Redes Competitivas . . . . . . . . . . . . . . . 2.2.1. Interaccin lateral . . . . . . . . . . . . o 2.3. Mapas Autoorganizativos de Kohonen (SOM) 2.4. Radial Basic Functions . . . . . . . . . . . . . 2.5. Redes de contrapropagacin . . . . . . . . . . o 1

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

INDICE GENERAL

II

Modelos Avanzados de RNA


. . . . RNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43
45 47 47 48 49 49 50 53 54 54 59 59 61 61 61 62 63 63 64 64 67 67 68 68 69

3. Procesado Temporal 3.1. Anlisis de Series Temporales con RNA . . . . . . . . a 3.1.1. Problemas de series temporales abordables con 3.2. Tipos de RNA aplicables a series temporales . . . . . 3.2.1. Redes Feedforward . . . . . . . . . . . . . . . 3.2.2. Redes Temporales . . . . . . . . . . . . . . . . 3.2.3. Time Delay Neural Networks (TDNN ) . . . . 3.2.4. BackPropagation Through Time . . . . . . . . 3.2.5. Redes parcialmente recurrentes . . . . . . . . 3.2.6. RealTime Recurrent Learning . . . . . . . . .

4. Computacin Evolutiva o 4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 4.2. Tcnicas de Computacin Evolutiva . . . . . . . . . . . . . . . . . e o 4.2.1. Algoritmos Genticos . . . . . . . . . . . . . . . . . . . . . e 4.2.2. Programacin Gentica . . . . . . . . . . . . . . . . . . . . o e 4.2.3. Vida Articial . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Aplicacin de tcnicas de Computacin Evolutiva en RNA . . . . o e o 4.3.1. Algoritmos genticos para el entrenamiento de RNA . . . . e 4.3.2. Aplicaciones prcticas de Computacin Evolutiva en RNA a o 4.3.3. RNA y algoritmos genticos: ventajas y problemas . . . . . e 4.4. Sistemas h bridos . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1. Denicin de conjunto borroso . . . . . . . . . . . . . . . . o 4.4.2. Neurona de procesado difuso . . . . . . . . . . . . . . . . . 4.4.3. Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . 4.4.4. Aplicaciones de fuzzy RNA . . . . . . . . . . . . . . . . . .

Parte I Fundamentos Biolgicos de las Redes o de Neuronas Articiales

Cap tulo 1 Introduccin a la neurocomputacin o o


Entendemos por neurocomputacin la utilizacin de los sistemas conexionistas o o o redes de neuronas articiales para realizar una computacin o procesado de informacin. o o El principal componente de la neurocomputacin son, pues, los sistemas conexioo nistas o redes de neuronas articiales, trminos anlogos, y su meta fundamental, atacar e a problemas reales. Este tipo de problemas se caracteriza por su incertidumbre, ruido e imprecisin en los datos, etc. Por tanto, los sistemas conexionistas deben reejar cierta o tolerancia a dicha imprecisin e incertidumbre. Es decir, las RNA1 no se aplican a algo o de tipo algor tmico sino todo lo contrario, se vuelven utiles frente a problemas para los que no existe o no se conoce un algoritmo que los aborde, o bien cuando dicho algoritmo existe pero resulta computacionalmente demasiado lento o caro2 (las RNA suelen ser muy rpidas en funcionamiento). a Las RNA estn inspiradas en las redes de neuronas biolgicas, tanto en su estructura a o como en su comportamiento (algoritmos genticos, computacin molecular). Ahora bien, e o una neurona biolgica, comparada con cualquier otro dispositivo elctrico, es muy lenta. o e Por qu, entonces, funcionan y dan tan buen resultado las RNA? Debido a su alto grado e de paralelismo; su lentitud se compensa con el gran nmero de componentes que las foru man y trabajan al un sono. Los neurocomputadores introducen, por tanto, inspirados en esta idea, el paralelismo en su arquitectura, sustituyendo a la clsica arquitectura secuencial de Vonn Neumann. a Las RNB3 pueden verse, siguiendo la idea anterior, como dispositivos no lineales con una alta capacidad de paralelismo caracterizados sobre todo por una gran robustez y tolerancia a fallos4 . Resultan excepcionalmente buenas en tareas tales como:
Abreviaremos de este modo redes de neuronas articiales. Algo que, por otra parte, cada vez ocurre menos. 3 Abreviaremos as redes de neuronas biolgicas. o 4 A pesar de que mueren continuamente, las funciones que realizan globalmente no se ven afectadas por ello. La cuestin de si se reproducen o no suscita an muchas controversias. o u
2 1

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION Procesos de inferencia. Tareas de sentido comn. u Procesado de imgenes. a

y es por ello por lo que las RNA intentan y pretenden emular las RNB. Son tareas que el ser humano lleva a cabo muy bien y que pretenden ser automatizadas (dominios de aplicacin: reconocimiento de patrones, prediccin, optimizacin, control, memorias o o o asociativas, etc.). Deben distinguirse bien los conceptos de emular y simular, que es aplicable a los sistemas expertos (parte simblica). Ambos signican un intento de reproducir el como portamiento, pero en la emulacin, adems, se trata de imitar no slo unas reglas de o a o funcionamiento, sino la estructura interna de algo. En las RNB, el aprendizaje es el resultado de un complejo proceso qu mico-elctrico e en la sinapsis, desatado a ra de informacin que llega proveniente del exterior por los z o sentidos. Las RNA lo hacen modicando sus pesos sinpticos como consecuencia de la a introduccin de informacin de diversa o o ndole: imgenes, probabil a stica (con ruido, difusa, imprecisa. . . ), etc. Pero, qu es aprender? Consideramos que el proceso de aprendizaje consiste en, e a partir de mucha y diversa informacin que llega por todo tipo de medios, ser capaz o de integrarla y abstraerla para generar nueva informacin y conocimientos aplicables a o situaciones nuevas. En suma, es capacidad de generalizacin. o

1.1.

RNA vs. Programacin Secuencial o

Las RNA almacenan toda la informacin en los pesos sinpticos. Los elementos prino a cipales de las RNA, llamados elementos de proceso o procesado (EP), disponen de un conjunto de primitivas que denen su comportamiento y que pueden ser denidas y pueden ser asimtricas (no tienen por qu ser iguales en todos los PE de todas las capas e e de una RNA), como puede ser por ejemplo la funcin umbral, cuyos valores ms t o a picos son:
i

xi wij
i

f(

xi wij )

sigmoidal tangente hiperblica o donde f funcin umbral o sinoidal logar tmica

Otros parmetros que caracterizan a las RNA son: a Topolog a. Propiedades de los EP.

1.1. RNA VS. PROGRAMACION SECUENCIAL Regla o Esquema de aprendizaje utilizado (algoritmo). Validacin (mediante el uso de o ndices o indicadores para medir ratios de error): Anlisis del error. a Capacidad de generalizacin. o Ejecucin. o

Si comparamos una red neuronal (de cualquier tipo) con una mquina de Von Neua mann veremos que cuenta con: Mayor grado de paralelismo. Representacin, computacin distribuida. o o Capacidad de aprendizaje. Capacidad de generalizacin. o Capacidad de adaptacin. o Tolerancia a fallos. Dominios de aplicacin con problemas perceptuales5 complejos, problemas de seno tido comn,. . . frente al dominio de computacin numrica. u o e Ms detalladamente puede verse en la tabla 1.1 (pgina 10). a a Hoy por hoy, en el estudio de las RNA, RNB y la computacin, colaboran las siguientes o ramas de la ciencia: neurosiolog 6 a ciencia cognitiva, psicolog a f sica (mecnica, termodinmica) a a teor de control a informtica, computacin a o inteligencia articial estad stica, matemtica a Los campos sobre los que se vaticina mayor proyeccin de futuro: o computadores neuronales programacin inteligente de propsito general o o computacin molecular o
5 6

Perceptivos. Los estudios sobre neonatos son muy intensivos y abundantes.

10

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

computacion Von Neumann modelo RN complejo simple procesador alta velocidad lento uno (generalmente) altamente paralelo (gran nmero) u separada del procesador integrada en el procesador memoria localizada distribuida no direccionable por contenido direccionable por contenido centralizada distribuida computacion secuencial paralela programa almacenado autoaprendida tolerancia muy vulnerable robusto a fallos dominio de manipulacin numrica y simblio e o problemas perceptuales y de senti aplicacion ca do comn u entorno de muy bien denido y construido pobremente denido y construido operacion Cuadro 1.1: Modelo Von Neumann vs. Modelo RN.

1.2.

Breve historia de las RNA

Haremos unas breves pinceladas de los hechos histricos ms importantes en la historia o a 7 de las redes neuronales Epoca de aparicin Trabajos de McCulloch & Pitts (1940) y Ramn y Cao o jal. Epoca de decaimiento Trabajos de Rosenblatt sobre el perceptrn (1960); o cr ticas de Minsky & Paper. Epoca de resurgimiento Trabajos de Hopeld (1980); algoritmo backpropagation propuesto por Werbs y popularizado por Rumelhart (1981).

1.3.

Esquemas o Paradigmas de Aprendizaje

Existen tres esquemas o paradigmas t picos para el aprendizaje o entrenamiento de una red de neuronas articial, que veremos a continuacin. o

1.3.1.

Aprendizaje Supervisado

Tal vez el esquema ms utilizado a lo largo de la historia, este paradigma de aprendia zaje8 est en funcin de salida deseada vs salida obtenida. a o
El libro Neurocomputing: foundations of research de J.A. Anderson & E. Rosenfeld de mit press, 1990, es una gran referencia para conocer mejor esta historia. 8 Proceso que produce la modicacin de los pesos sinpticos. o a
7

1.4. LAS RNA MAS UTILIZADAS

11

Se analiza el error y se realimenta el algoritmo de aprendizaje. Los patrones se introducen repetidamente hasta disminuir lo mximo posible el error global. a Una variante es el aprendizaje por refuerzo, en el que no existe salida deseada. Lo que se hace es, mediante algn tipo de ecuacin, se determina la correccin de la salida u o o (no la respuesta correcta) y se refuerza la salida en funcin de dicha correccin. o o

1.3.2.

Aprendizaje No Supervisado

Se presentan a la red grandes cantidades de datos9 , en los que estos algoritmos buscan regularidades estad sticas, deniendo en base a ellas categor o clsteres. as u

1.3.3.

Paradigma H brido de Aprendizaje

Utiliza una combinacin de los dos anteriores, bien en un orden, bien en el otro. o Ejemplo: redes RBF10 .

1.4.

Las RNA ms utilizadas a

Las redes de neuronas que ms se usan son: a Redes de Hopeld. Perceptrn Multicapa. o Mapas Autoorganizativos (Self-Organizing maps, SOM). RBF (Radial Basic Function). ART (Adaptive Resonant Theory). Veremos algunas de ellas en las subsecciones siguientes.

1.4.1.

Redes de Hopeld

Las redes de Hopeld son redes recurrentes de interconexin completa (ver gura o 1.4.1, pgina 12). a La informacin del exterior puede llegar tanto a un unico PE como a todos ellos. o Mientras que en la mayor de las redes el estado de los PE se actualiza de modo s a ncrono, capa por capa (feedforward11 ), en estas redes los EP se pueden actualizar en paralelo. Las redes de Hopeld funcionan como memorias asociativas, esto es, buscan la reconstruccin de patrones incompletos o con ruido. o
El aprendizaje no supervisado suele necesitar muchos ms patrones de entrenamiento que el supera visado. 10 En este punto puede resultar conveniente la consulta de las referencias [1] y [2] de la bibliograf a. 11 Cada capa puede ser un proceso, comunicarse por mensajes, ser threads,. . .
9

12

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

Figura 1.1: Ejemplo de red de Hopeld. Mquinas de Boltzman a Estn basadas en funciones de la termodinmica, funciones de energ que segn el a a a u problema han de ser maximizadas o minimizadas. Aplicaciones de las redes Hopeld Entre otras, las redes Hopeld se usan para: Segmentacin y ltrado de imgenes. o a Optimizacin (problemas como el del viajante). o Memorias direccionables por contenido.

1.4.2.

Perceptrn Multicapa (Multilayer Perceptron) o

Una de las primeras RNA que se desarrollaron, sus aplicaciones residen en el campo del reconocimiento y la clasicacin (ver gura 1.4.2, pgina 13). o a En origen, se habla del perceptrn simple, una RNA de una capa capaz unicamente o de diferenciar tantas clases como PE se colocasen en la capa de salida, esto es, de establece una separacin lineal en el espacio en que nos encontremos (marcado por el nmero de o u PE en la capa de entrada). Por tanto, es incapaz de implementar operaciones como el XOR, careciendo, pues, de dominios de aplicacin reales, ya que lo normal en dominios reales es que los patrones no o sean separables linealmente. Por esta razn se evolucion al perceptrn multicapa, una RNA de interconexin o o o o completa con aprendizaje supervisado.

1.4. LAS RNA MAS UTILIZADAS

13

(a) Simple.

(b) Multicapa.

Figura 1.2: Perceptrn. o

14

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

1.5.

Clasicacin general o

El que sigue es un esquema general de clascacin de las RNA: o

Figura 1.3: Clasicacin de las RNA. o Las redes feedforward se caracterizan por que las interconexiones de sus PE son siempre unidireccionales, al contrario que en las redes feedback, en las que hay enlaces de capas posteriores hacia capas anteriores. Las redes feedforward se denominan tambin estticas porque con una entrada e a determinada producen una unica salida, no se comportan como memorias, esto es, la res puesta no es funcin de estados previos. Por esta razn se las compara en ocasiones con o o circuitos combinacionales. Por su parte, las redes feedback se llaman tambin recue rrentes o dinmicas por la razn contraria: pueden tener bucles y su salida resulta de a o una evolucin a travs de una serie de estados tras la presentacin de la entrada. Se las o e o compara, pues, con circuitos secuenciales (con biestables y capacidad de memoria). Existen algoritmos de aprendizaje espec cos para cada tipo de RNA, y tambin los e hay aplicables a los diferentes tipos. Veremos una taxonom en la seccin siguiente. a o

1.6.

Algoritmos de aprendizaje. Clasicacin o

Los principales aspectos a considerar en un proceso de aprendizaje son: Cul es el modelo del problema? a

1.7. REGLAS DE APRENDIZAJE Cul es el dominio de trabajo? (sus restricciones,. . . ) a Qu informacin est disponible? e o a

15

Entender cmo se actualizan los pesos, qu son y cmo funcionan las reglas distintas o e o de aprendizaje (algoritmos) fundamental. Capacidad (nmero de patrones que puede almacenar la red). u Complejidad del conjunto de entrenamiento (determinar el nmero de patrones neu 12 cesario para que la red generalice bien ). Complejidad computacional (tiempo requerido por un algoritmo de aprendizaje determinado)13 .

Figura 1.4: Ciclo de vida de una RNA. Como se puede observar en la tabla 1.6 (pgina 16), existen 4 tipos bsicos de reglas a a de aprendizaje: 1. Por correccin de error. o 2. De Boltzmann. 3. De Hebb. 4. Aprendizaje competitivo.

1.7.

Reglas de aprendizaje

Son el conjunto de normas que marcan cmo se van modicando los pesos a travs o e de los diferentes pasos del entrenamiento.
12 13

Si los patrones son escasos en nmero, la red puede aprender pero no generalizar. u a Existen modicaciones rpidas de algunos de los principales algoritmos. a

16

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

paradigma

Supervisado

regla aprendizaje Correccin o del error

arquitectura Perceptrn o simple, multicapa

algoritmo aprendizaje

dominio aplicacion

Boltzmann Hebbian

Competitivas

Algoritmo del perceptrn, o backpropagation, adaline, madaline Recurrentes Algoritmo de Boltzmann Multicapa Algoritmo de feedforanlisis discrimia ward nal Competiti- Cuanticacin o vas de vectores (LVQ) Multicapa Feedforward, competitivas Hopeld Proyecciones de Shannon Anlisis de coma ponente principal Aprendizaje memorias asociativas Cuanticacin o de vectores (LVQ) Mapas autoorganizativos Algoritmos ART-1 y ART-2 Algoritmo RBF

Clasicacin de pao trones, aproximacin o de funciones, prediccin (seales), control o n (centrales, pacientes). Clasicacin de patroo nes. Anlisis de datos, claa sicacin de patrones. o Clascacin, categorio zacin, denicin de o o clases; compresin de o datos. Anlisis de datos. a Anlisis de a compresin. o datos,

No Supervisado

Correccin o del error Hebbian

Memorias

Competitivas

Competitivas SOM ART

Categor as

H bridos

Correccin o del error

RBF

Clasicacin de patroo nes, aproximacin de o funciones, prediccin, o control.

Cuadro 1.2: Taxonom de los algoritmos de aprendizaje. a

1.7. REGLAS DE APRENDIZAJE

17

1.7.1.

Regla de Hebb

Se basa en el siguiente principio: Una sinapsis incrementa su ecacia si las dos neuronas interconectadas por ella tienden a estar activas o inactivas al mismo tiempo. En caso contrario, se intenta decrementar o atenuar esa conexin. o El incremento de la ecacia de una conexin se traduce en RNA en el aumento del o peso asociado a esa conexin entre dos PE concretos. o El esquema de aprendizaje de Hebb es, pues, un tipo de aprendizaje supervisado que se rige por: wij = i (t) Oj (t) donde wij i (t) Oj (t) es es es es el peso asociado a la conexin entre los PE i y j o la tasa de aprendizaje la activacin de i en t o la seal que emite j en t n

reforzando as los pesos que habitualmente estn activos al mismo tiempo. a Puede verse un ejemplo de la aplicacin de esta regla en las anotaciones del tema, o aunque a efectos prcticos no es muy util; como el perceptrn (que veremos en la seccin a o o siguiente), divide el espacio de entradas (dominio de los patrones de entrenamiento) en regiones buscando la direccin de mxima variacin de la poblacin. Por ello, se dice que o a o o esta regla presenta una orientacin selectiva. o

Figura 1.5: Orientacin selectiva de la regla de aprendizaje de Hebb. o

18

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

1.7.2.

Regla de Boltzmann

Las redes sobre las que se aplica este tipo de aprendizaje, el aprendizaje de Boltzmann, son redes recurrentes simtricas con elementos de proceso binarios14 : e simtricas wij = wji e PE binarios P E {1} Estas redes no tienen distincin entre capa de entrada/oculta/salida como tales, sino o que sus PE pertenecen a uno de dos posibles conjuntos: conjunto de elementos de procesado visibles, que interaccionan con el entorno (reciben informacin del exterior) o o conjunto de elementos de procesado no visibles u ocultos, que no lo hacen15 . Los PE usan como funcin de activacin la distribucin de Boltzmann, que genera o o o salidas 1 y est basada en la Teor de la Informacin (concretamente en el concepto de a a o entrop y la termodinmica. Los cambios en los pesos se realizan: a) a wij = ( ij ) ij donde wij ij ij variacin del peso wij o tasa de aprendizaje correlacin entre el estado de la unidad i o y el de la unidad j cuando la RN de Boltzmann est en modo visible (le llegan datos del exterior) a correlacin entre los estados de i y j o cuando la red est en modo no visible a (opera libremente, sin datos del exterior)

Se puede considerar esta regla un caso particular del aprendizaje por correccin de o error.

1.7.3.

Regla del Perceptrn o

La regla del perceptrn fue propuesta por Rosenblatt en un intento por mejorar la o regla anterior. Usa una funcin de activacin lineal y una funcin de transferencia tipo o o o umbral. La arquitectura de red sobre la que se aplica consiste en una capa de entrada, una capa asociativa (oculta) y una capa de respuesta o capa de salida. La capa de entrada y la asociativa se conectan totalmente con pesos que permanecen jos desde el principio sin ser modicados. Los pesos que var an, y por tanto que realmente encarnan el proceso de aprendizaje, son los que interconectan la capa asociativa y la de salida.
14 15

Las redes de Hopeld son una generalizacin de este caso. o En el caso de una red Hopeld, todos los elementos son visibles.

1.7. REGLAS DE APRENDIZAJE

19

El modo de comportamiento de esta regla es sencillo: se presenta un patrn de entrada o p y para cada PE de la capa de respuesta se computa la salida (los Oi tomarn, pues, a valores 0 1), que ser correcta o no (es supervisado). o a El ajuste de los pesos se realiza de la siguiente manera: Si Oi es correcta, no se modica ningn peso conectado a ese PE. u Si Oi no es correcta, se modican los pesos conectados a ese PE de acuerdo con la expresin: o wij = i (Pip Oip ) Ojp donde Pip Oip Ojp (Pi Oi ) salida deseada salida obtenida salida del PE de la capa asociativa error

para todo elemento de la capa asociativa conectado con ese PE. Entonces: wij (n) = wij (a) + wij donde wij (n) wij (a) wij nuevos pesos pesos anteriores incremento

Pseudocdigo o En realidad, el algoritmo que se aplica en la prctica es ligeramente diferente: a para (cada patron en el conjunto de entrenamiento) hacer aplicar patron al perceptron obtener salida si (respuesta correcta) y (respuesta=+1) entonces nuevo_vector_pesos=vector_pesos_antiguo+vector_patron_entrada sino si (respuesta correcta) y (respuesta=-1) entonces nuevo_vector_pesos=vector_pesos_antiguo-vector_patron_entrada sino si (respuesta no correcta) y (respuesta=+1) entonces nuevo_vector_pesos=vector_pesos_antiguo-vector_patron_entrada sino si (respuesta no correcta) y (respuesta=-1) entonces nuevo_vector_pesos=vector_pesos_antiguo+vector_patron_entrada fin-para Los dos primeros condicionantes representan el refuerzo en acierto, mientras que los dos ultimos representan la penalizacin en fallo. o Puede verse un ejemplo de la aplicacin de esta regla en las anotaciones. o

20

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

1.7.4.

Regla Delta Generalizada - Backpropagation (Retropropagacin del error) o

Nos encontramos en esta ocasin con un aprendizaje supervisado, que necesita cono secuentemente patron entrada+salida deseada y donde el error se dene salida obtenidasalida deseada, del cual se obtiene una frmula para propagar el error a capas anteriores. o Hasta la aparicin de esta regla, el mundo conexionista hab ca en desgracia condeo a do nado por los art culos de Marvin Minsky, ya que el perceptrn no presentaba la posibilidad o de propagar el error a capas ocultas. El padre de esta regla, controvertidamente, parece ser Rumelhart (1983). La modelizacin matemtica de la misma corri a cargo de Parker Le Cun (1985). o a o La arquitectura de red sobre la que se aplica backpropagation se corresponde con un modelo feedforward de interconexin completa. o

Figura 1.6: Red tipo backpropagation de 3 capas (caso ms sencillo). a

Parmetros a Los principales parmetros de la regla delta generalizada son: a La tasa de aprendizaje , con valores t picos en el intervalo [0 01 . . . 1]. El momento . Los valores iniciales de los pesos sinpticos, que suelen ser aleatorios y caer en el a intervalo [0 . . . 1] para evitar que la red se sature16 .
Se dice que una RNA est saturada cuando el valor de alguno (o varios) de los pesos asociados a las a interconexiones de sus PE resulta exageradamente elevado (en valor absoluto).
16

1.7. REGLAS DE APRENDIZAJE

21

Nmero de elementos de la(s) capa(s) oculta(s). As como n y q son funcin del u o n+q problema, p es variable; suele probarse con . Este nmero inuye directamente u 2 en la capacidad de generalizacin de la red, pues en general: o si p es pequeo, se necesitan ms casos para entrenar y que estos sean realmente n a representativos si p es grande, basta con un nmero de casos menor, pero el entrenamiento es u ms caro computacionalmente y es ms fcil que la red se vuelva una memoria a a a y no generalice correctamente (no obstante, hay casos concretos en los que funciona bien, como por ejemplo en procesado de imgenes) a Tambin inuye en la existencia de m e nimos locales. La funcin de activacin (ver gura 1.7.4, pgina 22). o o a El conjunto de entrenamiento: (n variables, q variables) para obtener (salida producida-deseada), os ds . Una RNA se puede interpretar como un mtodo de ajuste paramtrico (estad e e stico). Algoritmo Sigue los pasos: 1. Asignar valores aleatorios a los pesos (matrices W1 y W2 ), habitualmente entre [0 . . . 1] o [1 . . . 1]. Pueden aplicarse umbrales para cada PE. 2. Pasos progresivos (tantos como capas): a) Computar activaciones de la capa oculta: Oh = F (I W1 ) donde Oh F I W1 vector salida capa oculta funcin activacin o o vector entrada matriz de pesos entre la capa de entrada y la capa oculta

b) Computar activacin de la capa de salida: o Os = F (Oh W2 ) donde Os F Oh W2 vector salida capa salida funcin activacin o o vector salida capa oculta matriz de pesos entre la capa oculta y la capa de salida

22

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

Figura 1.7: Funcin de activacin (ejemplos). o o

1.7. REGLAS DE APRENDIZAJE 3. Pasos regresivos (tantos como capas): a) Computar error en la capa de salida17 : es = Os (1 Os ) (ds Os ) donde es Os ds Os (1 Os ) (ds Os ) vector de errores capa salida vector salida, Os [0 . . . 1] vector salida deseada factor error

23

b) Computar error en la capa oculta: eh = Oh (1 Oh ) W2 es donde eh Oh W2 es vector de errores capa oculta vector salida capa oculta matriz de pesos entre la capa oculta y la capa de salida vector de errores capa salida

c) Ajustar los pesos entre la capa oculta y la capa de salida (W2 ): W2 (t) = W2 (t 1) + W2 (t) con W2 (t) = Oh es + W2 (t 1) donde Oh es tasa de aprendizaje vector salida capa oculta vector de errores capa salida momento

d ) Ajustar los pesos entre la capa de entrada y la capa oculta (W1 ): W1 (t) = W1 (t 1) + W1 (t) con W1 (t) = i eh + W1 (t 1) donde i eh tasa de aprendizaje vector de entrada vector errores capa oculta momento

17

Como es habitual, error=salida deseada-salida obtenida.

24

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

Cmo seleccionar ? o Hay diferentes cosas que pueden tenerse en cuenta a la hora de seleccionar el parmetro a velocidad de aprendizaje : Harry & Eatom recomiendan la realizacin de estudios previos de los datos en busca o de clsteres. En la mayor de los casos, puede llegarse a una conclusin similar a: u a o = 15 N1 2 + N2 2 + . . . + N n 2 Ni patrones de cada clster de datos u

Haciendo algo similar con el momento eligen = 0 9 o menor. Puede realizarse un decremento progresivo segn: u (t) = (0) t 1+ r r ajuste, acelerador (parmetro exterior) a

Puede haber una hasta por cada PE particular. Silva y Almeida sugieren que la velocidad de aprendizaje puede variar dependiendo de si el error aumenta o disminuye, teniendo en cuenta la evolucin que ha seguido o en los ultimos ciclos (adems de ser distinta para cada PE, tambin). a e Pueden usarse diferentes segn la etapa del proceso de aprendizaje en la que nos u encontremos. Pueden utilizarse para determinarla algoritmos genticos, funciones difusas. . . e

1.8.

Estimacin del perfomance de un o Sistema de Aprendizaje

El objetivo de una RNA, como el de todo sistema de aprendizaje, sobre todo de los socrticos (aprendizaje a partir de ejemplos), es conseguir buenos resultados con casos a no usados para el entrenamiento18 , y poder de este modo enfrentar con cierta seguridad labores de prediccin y clasicacin. o o Una medida comn de dicha seguridad es, por ejemplo: u ratio de error = no de errores no de casos (tanto por 1)

El problema del ratio de error es que no representa medida verdadera en cuanto que para que lo fuese tendr que estar en funcin de toda la poblacin (que, en general, a o o
18

Capacidad de generalizacin. o

1.8. ESTIMACION DEL PERFOMANCE

25

tender a ser innita), de modo que lo que realmente obtenemos no es ms que una esa a timacin, que puede ser optimista o pesimista. A ra de esto se denen otras medidas, o z como por ejemplo el true error rate (ratio de error verdadero), que se dene como el ratio de error de un sistema de clasicacin sobre un gran nmero de casos que convergen o u en el lmite a la distribucin de la poblacin actual. o o Algo que tambin es conveniente a la hora de enfrentar el diagnstico, es diferenciar e o claramente el tipo de error: Falsos negativos Son los errores ms serios y problemticos; generalmente a a querremos que sean lo ms raros que nos sea posible. Se tratar por a a, ejemplo, de un sistema que nos dice que un paciente est sano cuando a realmente est enfermo. a Falsos positivos Aunque no dejan de ser errores, son menos problemticos a y siempre mejores que los anteriores. Es el caso del enfermo sano al que se le cree enfermo. Otra medida que nos da mucha ms informacin es la confussion matrix, que nos a o permite denir y caracterizar distintos tipos de errores. Por ejemplo: true class C-1 C-2 C-3 50 0 0 0 48 5 0 2 45

predicted class C-1 C-2 C-3

Cuadro 1.3: Ejemplo de confussion matrix. Obsrvese que en la diagonal obtenemos las clasicaciones correctas de nuestro sistee ma, y recurdese que en esta seccin trabajamos siempre sobre el conjunto de test. e o

prediccion positiva (R+) prediccion negativa (R)

clase positiva (C+) verdaderos positivos (TP) falsos negativos (FN)

clase negativa (C) falsos positivos (FP) verdaderos positivos (TN)

Cuadro 1.4: Posibilidades en una prediccin. o

26

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

sensitivity =

TP C+ TP R

specity =

TN C TN R+

predictive value(+) =

predictive value() = TP + TN (C+) + (C)

accuracy(precission) =

error = 1 accuracy Si tenemos un sistema con alta sensitividad para el diagnstico de una enfermedad, o por ejemplo, entonces si el diagnstico es positivo, es muy probable que sea cierto. Claro o que si el mismo sistema tiene al mismo tiempo baja especidad, signicar que a los ina dividuos sanos tambin les est diagnosticando enfermedad! e a A los diferentes tipos de errores se les puede asociar un peso o coste. En este caso, adems de tener la matriz de errores tendr a amo una matriz de costes: predicted class C-1 C-2 C-3 true class C-1 C-2 C-3 0 1 1 2 0 1 5 3 0

Cuadro 1.5: Ejemplo de matriz de costes. De nuevo, la diagonal tiene signicado: en este caso, que acertar no tiene coste alguno, como es lgico. En el ejemplo anterior, el mayor coste est asociado a fallar en la prediccin o a o de la clase 1 establecindola en su lugar como de clase 3. e Los costes pueden ser tanto positivos como negativos (segn la interpretacin del u o problema). Ambas matrices (la de errores y la de costes), se utilizar conjuntamente an para obtener los ndices de seguridad en la prediccin con el sistema de aprendizaje en o cuestin: o
n n

coste total =
i=1 j=1

Eij Cij

donde

Eij no de errores (de la matriz de errores) Cij coste (de la matriz de costes)

Este coste total podr asignarse a cada par (arquitectura conexionista, conjunto de a entrenamiento) para as tener un criterio de decisin y/o eleccin. Tambin se puede o o e trabajar con el coste medio:

1.8. ESTIMACION DEL PERFOMANCE

27

coste medio de decision = Otras medidas:


n n

coste total total casos

riesgos =
i=1 j=1

Eij Rij

donde Rij son los costes;


n n

utilidad =
i=1 j=1

Eij U (Rij )

donde U es una funcin que modica Rij . o Por ultimo, teniendo E, ratio de error sobre un conjunto de test independiente y aleatorio, tambin es util: e desviacin estndar = o a E(1 E) n

28

CAP ITULO 1. INTRODUCCION A LA NEUROCOMPUTACION

Cap tulo 2 Visin general de algunos tipos de o RNA


2.1.
2.1.1.

Memorias asociativas
Conceptos

Muchas redes que siguen el esquema de memorias asociativas utilizan el concepto de distancia de Hamming, que veremos a continuacin, para la clasicacin de patrones. o o Situados en el espacio n-dimensional, el cubo de hamming n-dimensional tiene 2n puntos equidistantes del origen del espacio eucl deo. La gura 2.1 es la representacin del o cubo en el caso del espacio tridimensional.

Figura 2.1: Cubo de Hamming 3D. La distancia entre dos puntos en el espacio n-dimensional se calcula: x = {x1 , x2 , . . . xn } y = {y1 , y2 , . . . yn } d= (x1 y1 )2 + (x2 y2 )2 + . . . (xn yn )2 29

30

CAP ITULO 2. REVISION DE ALGUNOS TIPOS DE RNA como xi , yi {1}, se tiene que (xi yi )2 {0, 4} y adems a (xi yi ) = 0 si xi = yi (xi yi ) = 4 si xi = yi de modo que podemos escribir d= 4 no de componentes distintas

A ese nmero de componentes distintas es a lo que llamamos precisamente distancia u de Hamming (h), as que: d=2 h d2 h= 4

2.1.2.

Tipos
(X) Y (xi ) ; yi

Memorias heteroasociativas En este tipo de redes se establece una correspondencia

Si se proporciona un xi que no est en la memoria, el yi que se obtiene es el corresa pondiente al xj almacenado de distancia hamming menor con xi . Memorias interpoladoras Realizan lo mismo que las anteriores, pero devuelven el yj desplazado lo mismo que lo est el xi respecto al xj . a Memorias autoasociativas Asocian cada xi consigo mismo (en lugar de con otro par), de modo que al presentar un xi desconocido es reconstruido en funcin de la m o nima distancia hamming.

2.1.3.

Trabajos de Bart Kosho

El conexionista Bart Kosho empieza a estudiar las memorias asociativas en torno a 1958. Trabaja con p pares de patrones (Ai , Bi ) donde Ai , Bi {1} y Ai , Bi tienen dimensiones diferentes (Ai dimensin m, Bi dimensin n). o o La matriz de distancias hamming es, pues, m n. Este esquema conlleva una serie de limitaciones en especio que hacen que como mximo se puedan almacenar S <m a n(m, n) pares de patrones. w = y1 xt + y2 xt + . . . + yL xt L 2 1 La matriz de pesos se obtiene:
L

M=
i=1

At Bi i

2.1. MEMORIAS ASOCIATIVAS donde L es el nmero de pares de patrones. Se cumple que: u F (Ai M ) = Bi F (Bi M t ) = Ai

31

Figura 2.2: Arquitectura de una memoria asociativa. Codicacin de patrones o El proceso de memorizacin de patrones tiene lugar de la siguiente manera: o 1. Se calcula la matriz de pesos M1 . 2. Si almacena todos los pares (sin desplazamiento) fin. 3. sino: a) Se borran de M1 los pares que son mal clasicados. b) Se calcula M2 con los pares mal clasicados. c) Si con M1 , M2 tenemos todos los patrones bien clasicados fin. d ) sino repetir. En funcionamiento El proceso es el siguiente: 1. Se calcula la energ asociada a cada uno de los i pares (A, Yi ) (para un patrn A, a o hay un Yi por cada Mi ). Dicha energ se calcula: a E = A Mi Yit donde A tiene dimensin 1 m, Mi es m n y Yit n 1, de modo que se obtiene o un nmero. u 2. Nos quedamos con el Yi cuya energ est ms prxima a la energ de la matriz M a e a o a ortogonal, que es: E = n m

32

CAP ITULO 2. REVISION DE ALGUNOS TIPOS DE RNA

2.1.4.

Redes de Hopeld

Hopeld comienza a trabajar en el modelo que despus llevar su nombre alrededor e a de 1985. Las caracter sticas generales de las redes Hopeld son: Una unica capa (construida y posteriormente entrenada). Interconexin completa, retroalimentacin. o o Respuesta dinmica: la red progresa con la entrada hasta alcanzar un estado estable a (hasta que la salida deja de cambiar). Aplicaciones: reconocimiento de patrones, almacenados en sus pesos sinpticos. El a nmero de patrones que puede almacenar es: u no patrones con N el nmero de EP de la RNA. u Los ms conservadores arman que en realidad el l a mite es: no patrones < 0 15 N Mientras que los ms optimistas sostienen que pueden llegar a conseguirse: a no patrones N N 4 log2 (N )

El esquema supervisado (con entrada y salida deseada), aunque es viable, no suele utilizarse con este tipo de red; es ms corriente emplear conjuntos de entrenamiento donde a slo se presenten entradas, y asumir como salidas deseadas los propios patrones de entrao da. As se presentan ms tarde en funcionamiento patrones incompletos o parcialmente , a errneos para su reconstruccin. o o La funcin de transferencia es la siguiente: o si net > umbrali 1 0 si net < umbrali out (t) = out (t 1) si net = umbrali donde net =
i=1 n

Oi wij

De modo que una red Hopeld se puede resumir en una simple matriz n n.

2.1. MEMORIAS ASOCIATIVAS

33

Figura 2.3: Arquitectura de una red Hopeld. Teorema de Estabilidad Una RNA de Hopeld es estable si la matriz de pesos que le corresponde es simtrica y con ceros en la diagonal principal, es decir, siempre que e wij = wji wij = 0 i=j i=j

Que sea estable signica que con cualquier entrada, la salida se estabiliza en un nmero nito de ciclos o iteraciones de la red. Este teorema establece una condicin u o suciente pero no necesaria. Construccin de la matriz de pesos o De acuerdo con lo anterior, podemos asegurarnos la estabilidad de nuestra red Hopeld construyendo cada elemento de la matriz de pesos de la siguiente manera: wij =
N 1

xS xS i j 0
i=0

i=j i=j

34 donde N xS i

CAP ITULO 2. REVISION DE ALGUNOS TIPOS DE RNA

nmero de patrones u elemento i del patrn S, o xS {1} i

Eliminar o dar de alta nuevos patrones es tan sencillo como modicar los pesos sumando o restando el valor del patrn a las posiciones correspondientes de la matriz. o Aplicaciones Algunos campos de aplicacin de las redes de Hopeld son: o Reconocimiento de voz, escritura,. . . Medicina. Gestin de sistemas, routing. o

2.2.

Redes Competitivas

La principal caracter stica de las redes competitivas y su comportamiento en aprendizaje es que los PE de su capa de salida compiten entre s de tal forma que el que resulta ganador se activa e identica la clase a la que pertenece el patrn de entrada (se denen o tantos PE de salida como clases o clsteres quieran obtenerse), habiendo unicamente un u PE que se activa en cada ciclo. Esta es una gran aproximacin al comportamiento de las redes de neuronas biolgicas, o o pues est demostrado que en la zona del crtex cerebral existen excitaciones e inhibiciones a o entre neuronas vecinas que reproducen un comportamiento similar al que acabamos de esbozar. Este tipo de reglas (y sus algoritmos de aprendizaje) se orientan, pues, fundamentalmente a la clasicacin o clusterizacin de patrones similares del conjunto de entrenao o miento en funcin de las correlaciones entre los mismos. o El modelo de RNA competitiva ms simple (una sola capa, interconexin completa) a o puede verse en la gura 2.2. El PE que gana (el que tiene mayor entrada) se activa y adems inhibe a sus vecinos: a wi x wi x i donde i es el ganador wij (xj n wij ) 0 i = i i = i

2.2. REDES COMPETITIVAS

35

Figura 2.4: Arquitectura de una RNA competitiva sencilla. Como se puede ver, el ganador intenta desplazar su peso hacia la coordenada de entrada (si x > w, w(t 1) x; si x < w, dem); se acerca el vector de pesos al vector media de las entradas que clasica su PE asociado. En otras palabras, mueve el patrn o almacenado en la unidad ganadora (pesos) hacia el patrn de entrada. o

(a) Antes del entrenamiento.

(b) Despus del entree namiento.

Figura 2.5: Distribucin de pesos en aprendizaje competitivo. o En estas redes el aprendizaje nunca naliza, en realidad, suele irse decrementando la tasa de aprendizaje y detener el proceso cuando llega a valor cero, o bien cuando la red y sus poblaciones se estabilizan. Suelen utilizarse en aplicaciones tales como procesado de voz, por ejemplo.

2.2.1.

Interaccin lateral o

Muchas de las ideas que estamos viendo en redes competitivas surgen de similitudes con las RNB derivadas de estudios del neocrtex y el crtex cerebral, cuyas caracter o o sticas son: capas bidimensionales neuronas activas producen excitacin en las ms prximas o a o neuronas activas producen inhibicin en las ms alejadas o a

36

CAP ITULO 2. REVISION DE ALGUNOS TIPOS DE RNA

Figura 2.6: Esquema del neocrtex. o las relaciones entre neuronas se debilitan con la distancia

Figura 2.7: Representacin excitaciones/inhibiciones neuronales. o La funcin que mejor modela este comportamiento es el conocido sombrero mexio cano:

Figura 2.8: Sombrero mexicano.

2.3.

Mapas Autoorganizativos de Kohonen (SOM)

Este tipo de arquitecturas presenta una propiedad caracter stica que es el mantenimiento de la topolog Surge la idea de nuevo de la estructura del neocrtex cerebral. a. o

2.3. MAPAS AUTOORGANIZATIVOS DE KOHONEN (SOM)

37

Figura 2.9: Arquitectura bsica clsica de un mapa autoorganizativo. a a En este contexto cambia la notacin y ahora wij es el vector de n elementos asociado o con la unidad de la posicin (i, j) de la matriz x p. o Cada PE calcula la distancia eucl 1 entre el vector de entrada x y el vector wij de dea cada elemento de proceso. De nuevo, al igual que en los esquemas competitivos, ganar el a ms prximo. Hay arquitecturas en las que puede ganar ms de un PE y en ellas surge el a o a concepto de vecindad. Algoritmo de funcionamiento 1. Inicializar los pesos sinpticos con valores aleatorios pequeos2 . Se selecciona la tasa a n de aprendizaje, la vecindad (pueden solaparse). 2. Presentar un patrn y evaluar la salida. o 3. Seleccionar el PE (ci , cj ) con salida m nima (distancia m nima entre el vector de pesos y la entrada). 4. Actualizacin de pesos: o wij (t + 1) = donde N(ci ,cj ) son los vecinos de la unidad (ci , cj ) (ganador) en t 5. Decrementar la tasa de aprendizaje (cada ciclo o cada x ciclos) y reducir el nmero u de vecions, el tamao de la vecindad3 . n 6. Repetir del 2 al 5 con todos los patrones del conjunto de entrenamiento hasta un nmero predeterminado de iteraciones o algn criterio de convergencia. u u Los campos de aplicacin ms t o a picos de los mapas autoorganizativos de Kohonen son el clstering, el anlisis de datos multivariables, reconocimiento de voz, procesado de u a imagen, robtica, control, etc. o
La distancia Hamming es equivalente a la distancia eucl dea cuando se trabaja con ceros y unos. Para no condicionar previamente la distribucin del SOM. o 3 Los vecinos pueden (o suelen) empezar siendo la mitad o una tercera parte de los PE de la red e ir decreciendo segn una funcin exponencial decreciente. u o
2 1

wij (t) + (x(t) wij (t)) wij

(i, j) N(ci ,cj ) (t) en otro caso

38

CAP ITULO 2. REVISION DE ALGUNOS TIPOS DE RNA

2.4.

Radial Basic Functions

Las redes RBF, que ya mencionamos cuando hablamos del aprendizaje h brido, son una clase especial de redes feedforward, con dos capas generalmente (entrada, oculta, salida). Los PE de la capa oculta usan como funcin de activacin una funcin de base radial o o o (por ejemplo, la funcin de Gauss); por tanto, tenemos tantas funciones de base radial o como PE tenga la capa oculta, con centro y longitud denidas por su vector de pesos asociado. La ultima capa realiza una interpolacin, de modo que una red RBF lo que o hace es buscar una funcin que se ajuste al espacio de patrones de entrada. o

Figura 2.10: Resultado de una red RBF. Su aprendizaje, como decimos, es hbrido, y su convergencia es muy rpida (ms an a a u que la de redes como las backpropagation), aunque necesitan muchos elementos de procesado en la capa oculta para obtener una buena interpolacin, lo que hace que sus requisitos o computacionales sean elevados. Su uso est empezando a extenderse sobre todo en prediccin de seales. a o n

2.5.

Redes de contrapropagacin o

Sus creadores fueron Hecht y Nielsen, all por el ao 1987. Son unas redes de rpido a n a entrenamiento que generalizan muy bien y son capaces de manejar informacin incompleo ta, parcialmente errnea, etc. o Su arquitectura es una mezcla de dos modelos: Redes de Kohonen (autoorganizativas), esquema que le otorga su capacidad de generalizacin y autoorganizacin. o o Redes Grossberg (codicadores de), que le aportan el soporte que presentan para informacin incompleta y/o errnea. o o

2.5. REDES DE CONTRAPROPAGACION

39

Su topolog es la de una red de tres capas (entrada, oculta y de salida), con dos a matrices de pesos. La capa competitiva es la que queda entre la entrada y la capa oculta, siendo la de Grossberg la capa oculta-salida.

Figura 2.11: Arquitectura bsica de una red CNP. a La capa autoorganizativa sigue el esquema general que ya vimos para este tipo de redes; la capa Grossberg puede funcionar con un esquema supervisado o no supervisado: Modicacin de pesos capa autoorganizativa.- Se usa un vector distancia d para o determinar el ganador de la capa competitiva:
n

d=
i=1

(Ai B)2

El ajuste de pesos responde a: W (t) = W (t 1) W W = h d Por supuesto, podr tenerse en cuenta un trmino momento. a e Modicacin de pesos capa Grossberg.- En el modelo bsico, la capa Grossberg se o a actualiza slo en las conexiones con el ganador de la capa oculta. Dicho ajuste se o lleva a cabo segn: u W (t) = W (t 1) + W W = h d donde d ahora es: d = o(1 o)(t o) con o = vector salida d = vector errores t = vector salida deseada

40

CAP ITULO 2. REVISION DE ALGUNOS TIPOS DE RNA

El funcionamiento de estas redes es, como de costumbre, sencillo. Simplemente (aunque hay variantes) consiste en presentar un patrn, calcular las activaciones de la capa o oculta, designar un ganador (el PE de mayor activacin) y calcular la salida propagando o seal desde la capa oculta poniendo a uno el PE ganador y los otros a cero. n Entre las ventajas de este tipo de red podemos contar su capacidad para ser entrenadas mediante un paradigma tanto supervisado como no supervisado, e incluso con una mezcla de ambos. Existen diseos en que se designan varios PE ganadores en la capa oculta, e n incluso modelos en los que esta capa es bidimensional. En cuanto a las aplicaciones, podemos citar, entre otras: Clasicacin de patrones (dado un patrn de entrada, la salida designa una de entre o o varias posibles clases), clasicacin de seales (ECG, PIC,. . . ). o n Reconocimiento de caracteres, reconocimiento de voz. Clustering (clasicacin de patrones no supervisado), anlisis de similitudes. o a Compresin de datos, anlisis de datos mdicos. o a e Aproximacin de funciones (la RNA funciona como una caja negra), modelizacin, o o estimacin. o Prediccin: dada una serie temporal de n muestras, predecir n + 1. Utililidad en o toma de decisiones en negocios (bolsa, ciencia,. . . ). Optimizacin (obtencin de una solucin ptima a partir de una solucin satisfactoo o o o o ria atendiendo a una serie de restricciones o reglas). Se busca maximizar/minimizar una funcin objetivo. o Memorias direccionables por contenido (informacin multimedia, sistemas de cono trol).

2.5. REDES DE CONTRAPROPAGACION

41

Figura 2.12: Sistema de control implementado con una RNA CNP.

42

CAP ITULO 2. REVISION DE ALGUNOS TIPOS DE RNA

Parte II Modelos Avanzados de Redes de Neuronas Articiales

43

Cap tulo 3 Procesado Temporal


Una serie temporal es una secuencia ordenada de observaciones (normalmente el orden se reere al tiempo) cuya caracter stica fundamental es que dichas observaciones estn correlacionadas 1 . a Podemos encontrar dos enfoques en lo que a series temporales se reere: El objetivo es el control del proceso (control industrial). El objetivo es la prediccin (extraccin de la funcin que subyace); es el ms o o o a frecuente, puesto que se usa como apoyo a la toma de decisiones en campos tan variados como el econmico, control industrial, medicina, metorolog . . o a,. Existen dos mtodos principales de prediccin: e o Cualitativos: se usan cuando no se tiene informacin del pasado, sino del modeo lo (por ejemplo, para hacer prediccin de ventas de un nuevo producto). Reciben o tambin el nombre de prediccin basada en modelos, y son por naturaleza e o inexactos. Cuantitativos: se usan cuando se dispone de informacin histrica (t o o picamente, una serie temporal). Sern en los que nos centraremos. a Una serie temporal tiene dos componentes bsicas: a Yi = D i + A i 1. Determin stica, la que podremos predecir. Se compone a su vez de: Di = Ti + Ci + Ei + Ii a) Tendencia, que aporta una idea general de si la serie es creciente, decreciente o estacionaria.
Contrasta con lo que hemos visto hasta ahora en RNA: estamos acostumbrados a que el orden de presentacin de patrones, por ejemplo no deba inuir. o
1

45

46

CAP ITULO 3. PROCESADO TEMPORAL b) Factor c clico, una componente de per odos grandes. c) Factor estacional, una componente de per odos cortos. d ) Factor irregular, que no aleatorio: tiene unas causas puntuales que si se conociesen permitir su prediccin. an o

2. Aleatoria, que en el mejor de los casos, ser ruido blanco, y determina el nivel de a error que obtendremos en la prediccin. o Consideraremos cuatro tipos de series temporales: Estacionarias: su media no aumenta, no tienen tendencia y la varianza de los puntos no cambia. No estacionarias en la media: son series con tendencia, pero las varianzas dentro de los ciclos estacionarios son iguales. No estacionarias en la varianza: son series con tendencia en las que la varianza se va haciendo ms acusada en cada ciclo. a Caticas: las ms complejas de predecir, se rigen por la Teor del Caos, o a a con ecuaciones de funciones recursivas con gran error asociado. Las series reales normalmente no son estacionarias ni en media ni en varianza. Con RNA puede abordarse cualquier serie, pero es importante detectar con cul tipo nos a enfrentamos. La Estad stica puede abordar los dos primeros tipos con mtodos como e el Anlisis de series temporales o los Mtodos ARIMA2 , desarrollados por Box-Jenkins a e (1976) y cuyo proceder se estructura de la siguiente forma: 1. Clculo de estad a sticos de la serie. 2. Comprobacin de la estacionalidad o bien transformacin de la serie para que lo sea o o y reclculo de estad a sticos. 3. Identicar un modelo de datos para la serie temporal a partir de los estad sticos. 4. Validacin (prediccin en casos reales). o o 5. Vuelta a (1) si es necesario, o nalizacin del proceso. o Los principales problemas son la falta de un mecanismo, unas reglas jas para el ajuste de los parmetros del modelo ARIMA (se usan grcas de correlaciones entre los datos a a para estimarlos), lo que hace que se necesite personal experto, y ls aplicacin reducida a o los modelos estacionarios (los unicos en los que la Estad stica funciona realmente bien) y los no estacionarios sobre los que puedan aplicarse transformaciones.

Autoregressive Integrative Moving Average, un mtodo modular las series estacionarias se clasican e como AR, existen series ARMA, las ARIMA son las ms complejas. . . a

3.1. ANALISIS DE SERIES TEMPORALES CON RNA

47

3.1.

Anlisis de Series Temporales con RNA a

Lo primero que debe hacerse es preparar el conjunto de entrenamiento: visualizar la serie (para intentar hallar pistas sobre qu tipo de sistema tenemos y escoger la RNA ms e a adecuada), preparar y seleccionar los datos. La preparacin de los datos conlleva un anlisis estad o a stico para ver con qu tipo e de datos trabajamos (analizar valores errneos fuera del rango normal, blancos...) y o posteriormente un estudio de correlaciones entre las variables de entrada3 (y de salida). Tras ello ltraremos la entrada (datos) para eliminar en cierta medida el ruido (aunque sabemos que las RNA trabajan bien en presencia de ruido, son capaces de extraer igualmente el modelo). Se normalizarn los valores (dependiendo de la funcin de transferencia a o que se pretenda usar, al rango [0.,1] al [1.,1]). o Hay que tener en cuenta el tipo de prediccin que se pretende realizar: o de valores de componentes (tendencia, variaciones de ciclo estacional, . . . )

pues nos har preparar los datos de una forma diferente en cada caso. Tambin podr a e a dividirse la serie temporal en sus componentes y usar una RNA para el tratamiento de cada una. En la seleccin de datos se separa un conjunto para test y un conjunto para eno trenamiento; en ste se busca equilibrar el nmero de ejemplos por el nmero de tipos de e u u salida (aunque se tengan muchos ms de un tipo que de otro). Normalmente, se toma la a serie temporal y a partir de un determinado punto se determina que ser para test (no a se puede hacer como en otras RNA vistas en la primera parte y coger trozos aleatorios para cada tarea).

3.1.1.

Problemas de series temporales abordables con RNA

Hay tres tipos principales de problemas de series temporales abordables con RNA: Reconocimiento: Produccin: o Asociacin: o S.T RNA valor identicativo valor RNA S.T. S.T RNA S.T
in out in out in out

Cualquier RNA trabajar mejor cuanto ms concreta sea la informacin que le suministremos. a a o

48

CAP ITULO 3. PROCESADO TEMPORAL

Consideraremos la prediccin un caso particular de la asociacin. La prediccin puede o o o ser: A corto plazo: sin realimentacin entre la entrada y la salida. La red predice n o valores jos a partir de cada entrada dada. A largo plazo: se presenta a la red una entrada y la salida de la misma se realimenta a la entrada de nuevo. Se repite el proceso hasta obtener el momento deseado. Una red de prediccin a corto plazo, realmente slo predice una tendencia, por ello no o o funcionarn bien aplicadas a prediccin a largo plazo (que es mucho ms compleja). a o a

3.2.

Tipos de RNA aplicables a series temporales

Las redes para procesado temporal aparecieron ya con McCulloch y Pitts (1943), que intentaron desarrollar modelos de neurona y de red capaces de realizar procesados temporales. El uso de redes recurrentes se populariz con Hopeld, que las aplic al tratamiento o o de datos estticos, y Minsky & Papert, que pusieron las ideas de cmo deber funcionar a o an los algoritmos de entrenamiento para tratar la componente temporal en redes. Por arquitectura, sabemos que tenemos: Redes alimentadas hacia delante (feedforward ), cuyas conexiones nunca van hacia la misma capa ni hacia capas anteriores. Se dice que tienen una ejecucin por capas o Redes recurrentes, en las que no hay la restriccin anterior y es posible una intero conexin total. No existe el concepto de capa porque todas las neuronas pueden ser o entrada/salida o ambas a un tiempo. Se dice que tienen una ejecucin por instante o de tiempo. Las redes recurrentes presentan la ventaja de poder tener ms conexiones (que, al n a y al cabo, es donde se almacena la informacin) y poder crear ciclos (pudiendo, pues, o generar un comportamiento en el tiempo). Sin embargo, tener ms conexiones tambin a e implica un mayor tiempo de entrenamiento y mayores dicultades para la convergencia (menor estabilidad). Modelos de RNA aplicables a ST Redes feedforward con algoritmo de entrenamiento backpropagation (lo ms sencillo, a vlido slo para series estacionarias). a o Redes feedforward con algoritmos de entrenamiento para series temporales (recurrent backpropagation). Redes feedforward con retardos (algoritmo TDNN 4 ).
Time Delay Neural Network, se caracteriza por tener varias conexiones entre dos mismas neuronas simulando una especie de buer.
4

3.2. TIPOS DE RNA APLICABLES A SERIES TEMPORALES Redes recurrentes con algoritmo BPTT 5 .

49

Redes parcialmente recurrentes (con una capa de contexto donde la salida de un instante es entrada en el siguiente). Redes recurrentes con algoritmo RTRL6 . En todos los modelos a partir del primero, se busca implementar una memoria (contexto) de las activaciones anteriores, que matice lo que signican los datos de entrada en cada instante, de forma que la red tenga en cuenta un estado de activacin interno/anterior o adems del dato actual. a

3.2.1.

Redes Feedforward

Ya conocemos su arquitectura y aprendizaje. Suelen usarse con series estacionarias, en prediccin a corto plazo. o Entre las consideraciones que deben tomarse est, como ya hemos comentado, la prepaa racin del conjunto de entrenamiento: se dene para ello una ventana temporal (nmero o u de observaciones en el pasado que se van a tener en cuenta para predecir el futuro). Normalmente, para cualquier tipo de red y prediccin a corto plazo, la ventana temporal suele o ser pequea (entre 2-7 valores, con frecuencia en torno a 3). n Los valores de la ventana son la entrada y el siguiente valor (futuro) ser la salida a deseada. Puede hacerse que la salida no sea uno, sino tambin varios valores. e En estos casos es interesante la utilizacin de varias series (a la entrada), relacionadas, o claro, para la prediccin de una sola (a la salida), porque el manejo de ms informacin o a o correlaciones puede ayudar a la red en su cometido.

3.2.2.

Redes Temporales

El modelo de neurona para redes temporales diere ligeramente del modelo que manejan las redes feedforward: modelo estatico xi = f (neti ) neti = wij xj
j

modelo temporal xi (t + 1) = f (neti (t + 1)) neti (t + 1) = wij xj (t)


j

Cuadro 3.1: Diferencias entre neuronas feedforward y neuronas temporales.


Backpropagation Through Time, desenvuelve la red recurrente hacia delante hasta hacerla feedforward y entrenarla como tal. 6 Real Time Recurrence Learning.
5

50

CAP ITULO 3. PROCESADO TEMPORAL

donde f es la funcin de activacin. En las redes temporales no existe el concepto de o o capa y la activacin es por tiempo. o En cuanto al error:
t1

Etotal (t0 , t1 ) =
t0 +I

E(t)

donde t0 es el instante inicial, t1 el instante nal y t0 + I el instante en que se empieza a obtener/generar salida (usualmente ser t0 + 1). E(t) es el error cuadrtico: a a E(t) = 1 ei (t)2 2 iout

donde ei (t)2 es el error para una unica neurona concreta: ei (t) = di (t) xi (t) 0 i out i out /

donde el conjunto de salida (out) puede ser diferente en distintos momentos del tiempo (out(t)). Algoritmos de gradiente en redes temporales Por lotes (el conjunto de pesos de la red se ajusta cada cierto nmero de pasos): u wij = Etotal (t0 , t1 ) wij

Continuo (el conjunto de pesos de la red se ajusta tras cada presentacin de entradas): o wij = E(t) wij

3.2.3.

Time Delay Neural Networks (TDNN )

Buscando alternativas a las tradicionales redes feedforward, la primera idea que se manej para implementar una memoria fueron los retardos. En el modelo feedforward, o realmente, ya se estaban usando, aunque slo en la capa de entrada; en esta nueva arquio tectura se pretende incorporarlos en todos los elementos de proceso. Para ello, lo que se hace es duplicar las conexiones entre neuronas (ver gura 3.2.3, pgina 51). a De este modo, en cada instante puede considerarse el peso de ndice asociado al retardo que se pretenda tener en cuenta. Realmente, la situacin es la que se reeja en la gura o 3.2.3 (pgina 51). a Es una forma de implementar un buer de activaciones anteriores, que es lo que se hac en las redes feedforward con la capa de entrada, como ya hemos mencionado. a

3.2. TIPOS DE RNA APLICABLES A SERIES TEMPORALES

51

Figura 3.1: Modelos TDNN.

Figura 3.2: Modelos TDNN (general).

52

CAP ITULO 3. PROCESADO TEMPORAL

Algoritmos de aprendizaje: gradiente y variaciones backpropagation (temporal backpropagation) Como hemos repartido los retardos en las capas, los algoritmos van a actuar por capas y no por instantes de tiempo, a pesar de estar en un esquema temporal donde el concepto de capa, como hemos visto, se diluye. xi (n) = f (neti (n))
n

neti (n) =
l=0

wij (l)xj (n l)

donde n es el tamao de la ventana temporal. Los pesos se modican: n wij (n + 1) = wij (n) + i (n) xi (n) donde ei (n) f (neti (n)) deltai (n) = f (neti (n))
mA n=0

si PE out m (n + l) wmi (n) si PE out /

donde f es la derivada de la funcin de activacin y A es el conjunto de elementos o o conectados a la salida de xi . Como se puede observar, el peso correspondiente al instante 0 no se actualiza nunca, es como una especie de bias. Esto que hemos visto hasta ahora son TDNN con retardo temporal jo. Tambin e se han desarrollado TDNN con retardo temporal variable; el buer de activaciones en las primeras se presenta ordenado, mientras que en este ultimo caso se modica:
n

neti (n) =
l=0

wij xj (n ij (l))

donde ij (l) cambia con el tiempo. En TDNN con retardo temporal jo a cada conexin le corresponde una activacin o o en el tiempo concreta ( ndice n l); en TDNN con retardo temporal variable para cada instante l toma diferentes valores (ij (l)). Lo interesante es que ij (l) no es jo sino que es entrenable, adems de serlo los pesos a wij (n) como es comn. Esto nos permitir desordenar, eliminar o sobreponderar algunas u a activaciones frente a otras, quitando importancia al valor de la ventana temporal, que es lo que se persigue: ij (n + 1) = ij (n) + i (n) xi (n)

3.2. TIPOS DE RNA APLICABLES A SERIES TEMPORALES

53

3.2.4.

BackPropagation Through Time

Las redes BPTT son un tipo de redes recurrentes que para entrenarlas se desenvuelven en el tiempo (cada instante t da lugar a una capa), y se utiliza un algoritmo de retropropagacin. o

Figura 3.3: Desenvolvimiento de una red BPTT. La ventaja que presentan con respecto a las redes TDNN es que aqu los pesos son los mismos entre cada par de capas, de modo que hay mucho menos que modicar. Las l neas maestras del algoritmo BPTT, publicado en 1988 por Werbos, son las siguientes: E(t) wij = = wij T =t donde k (t) = f (netk (t)) k (t) con ek (t) k (t) =
lout t

i (t) xj (t 1)
0 +1

T =t wlk l (t + 1) T < t

Como es un algoritmo que sigue la losof backpropagation, los sumatorios se empiea zan a calcular en el valor del ndice ms alto hasta el ms pequeo. a a n

54

CAP ITULO 3. PROCESADO TEMPORAL

Si el nmero de t, o bien el de neuronas, es muy grande, este modelo se hace bastante u impracticable. Una idea intuitiva para hacerlo ms viable es restringir el nmero de insa u tantes de t. Lo que se suele hacer es, pues, un clculo truncado: se tienen en cuenta slo a o h instantes de tiempo hacia atrs. Las frmulas a aplicar entonces son las mismas, con a o una unica variacin en el sub o ndice inferior del sumatorio en la frmula de modicacin o o de pesos: E(t) wij = = i (t) xj (t 1) wij T =th+1 de este modo slo tendr que almacenarse h valores de t del pasado. o an Las ventajas de este modelo son, entre otras, que al ser ya un modelo recurrente, tiene memoria. Entre las desventajas, el hecho de que se est usando un mtodo adapa e tado de redes que no son recurrentes (backpropagation), lo que nos obliga, como hemos mencionado, a guardar muchos valores para realizar los clculos. a
t

3.2.5.

Redes parcialmente recurrentes

Las redes parcialmente recurrentes tienen una arquitectura alimentada hacia delante pero implementan una capa de contexto que es la que implementa la recurrencia. Hay diferentes tipos, que pueden observarse en la gura 3.4 (pgina 55). a Estas redes se entrenan con un algoritmo de retropropagacin normal. Las conexiones o entre la capa de contexto y la oculta (o, en general, la que est conectada a ella) no se e entrenan, son ms bien un parmetro. Lo unico que se modica son las activaciones de la a a capa oculta, que lo hacen segn: u xi = f
j

wij xj +
k

wik ck

donde xj representa la capa de entrada y ck la capa de contexto. Mas de nuevo estamos ante un apao y no un esquema puro, que como ventajas n presenta la facilidad de implementacin y entrenamiento (presenta poco clculo), pero, o a por contra, slo es vlida para series temporales simples, pues si la serie es compleja no o a es capaz de generalizar el comportamiento de la misma.

3.2.6.

RealTime Recurrent Learning

El algoritmo RTRL se aplica a redes realmente recurrentes (sin el concepto de capa, con activaciones por tiempo) y fue desarrollado por varios autores, entre ellos Zipser, y publicado en 1989. Otra de sus caracter sticas principales es que la propagacin del error es hacia delante: o

3.2. TIPOS DE RNA APLICABLES A SERIES TEMPORALES

55

(a) Clsica. a

(b) Variante t pica.

(c) Como ventana temporal=2.

(d) Variante recurrente.

Figura 3.4: Tipos de redes parcialmente recurrentes.

56

CAP ITULO 3. PROCESADO TEMPORAL

wij =

E(t) = ek (t) k (t) ij wij kout

donde el parmetro k (t) representa el ajuste del peso wij calculando parcialmente a ij cmo inuye esa conexin con respecto a los valores de salida (cada uno de ellos), k out. o o Es por ello que se podera el error ek (t) por medio de este parmetro, lo que inuye cada a conexin wij en la salida k. o k (t + 1) = f (netk (t + 1)) ij
lout

wkl l (t) + ik xj (t) ij

donde k (0) = 0. La funcin ik en esta ocasin representa la denominada delta de o o ij Kroneker : ik = 1 i=k 0 i=k

Los clculos de este modelo son sencillos, comparados con otros de los ya vistos. a

En cuanto a su funcionamiento, como no podemos hablar de capas, para cada instante t se calculan todos los valores xj (t) a partir de los xj (t 1), sin importar el orden de clculo. Una vez que se tienen todas las activaciones, se calculan los k (t) a partir de los a ij errores en el instante t, ej (t), que ya se pueden obtener porque se dispone de los xj (t) y los k (t 1). Por ultimo, se modican los pesos, wij . ij La ventaja de este modelo se encuentra en la propagacin hacia delante de los errores o y la simplicidad que ello aporta frente a esquemas backpropagation, mientras que, como desventaja, encontramos la situacin de que si la red tiene muchos elementos de procesado o hay un nmero elevado de parmetros que calcular (para cada conexin, tantos como u a o salidas tenga la red). Las redes RTRL son las ms adecuadas para prediccin a largo plazo y tratamiento de a o series complejas como caticas o no estacionarias. No obstante, lo que realmente se suele o hacer en la prctica con este tipo de series en las que no se puede aplicar una red alimena tada hacia delante con ventana temporal, es simplicarlas. Se evita la utilizacin de redes o RTRL por problemas de convergencia, frente a la sencillez y rapidez de entrenamiento de

3.2. TIPOS DE RNA APLICABLES A SERIES TEMPORALES

57

una red feedforward. Claro que si la serie es muy compleja y no puede ser aproximada, s se hace necesario el componente de memoria que aportan.

58

CAP ITULO 3. PROCESADO TEMPORAL

Cap tulo 4 Computacin Evolutiva o


4.1. Introduccin o

En muchos problemas del mundo real se utilizan redes de neuronas articiales junto con diferentes sistemas de otras ramas de la informtica, como por ejemplo: a Sistemas Expertos, que aportan capacidad de explicacin o Bases de Datos, en sistemas de data mining etc.

Estas conjunciones reciben el nombre de sistemas h bridos, y la Computacin o Evolutiva es tambin uno de ellos. e Las tcnicas de Computacin Evolutiva son tcnicas de bsqueda que se basan en e o e u la evolucin natural. La Naturaleza y la Informtica ya se han relacionado antes: gentica, o a e ecolog inteligencia articial. . . y no gratuitamente, pues no en vano los sistemas ms a, a complejos que se conocen son los seres vivos (y sus mecanismos de evolucin). Adems, o a en contraposicin con las mquinas, no slo presentan una complejidad estructural mucho o a o mayor, sino que contienen autoexplicacin sobre ellos mismos (cdigo gentico). La gran o o e pregunta es: cmo se llega a ese punto, a ese estado de evolucin y complejidad a la vez o o tan armoniosa y organizada? La respuesta est en el proceso de optimizacin natural. a o Ha habido grandes guras, por todos conocidas, que han aportado su granito de arena a la teor de la seleccin de las especies: a o Lamark, con su teor de la herencia de los caracteres adquiridos. a Darwin, con su libro El Origen de las Especies, sobre la seleccin natural. o Mendel, con sus teor sobre la herencia (caracteres dominantes, recesivos. . . ). as De Vries, con su teor sobre las mutaciones y los cambios abruptos. a 59

60

CAP ITULO 4. COMPUTACION EVOLUTIVA

La recopilacin de todas sus aportaciones ha dado lugar al Neo-darwinismo, ms o o a menos vigente en la actualidad. La Computacin Evolutiva considera a los individuos de una poblacin como poo o sibles soluciones de un problema dado. As dos cosas imprescindibles en el mbito de la , a C.E.1 son la denicin de un mecanismo de codicacin (consideraremos los individuos o o como cadenas de bits/valores) y un modo de evaluacin de dichos individuos. o A partir de ah la poblacin inicial se desarrolla al azar, y cada individuo se valora , o independientemente. En analog con la naturaleza, se escoger a los mejores, que son a a los que con toda probabilidad ms oportunidades de sobrevivir han de tener. a En cuanto a los operadores aplicables sobre la poblacin, los principales son dos: o 1. Cruce, cuya tarea es mezclar, combinar el material gentico con el objetivo de reunir e en un slo individuo (solucin) lo mejor (mejores caracter o o sticas) de la poblacin. o A partir de dos individuos progenitores y de su genotipo se dene al azar un punto de cruce, y se intercambian sus informaciones genticas: e

2. Mutacin, que persigue la variabilidad, generar valores nuevos que no estn ya en o e la poblacin. o En el caso binario, supondr el cambio de un 1 por un 0 o viceversa: a

Entre los mtodos de seleccin, podemos citar el Roulette Wheel Selection. e o

Abreviaremos as a partir de ahora Computacin Evolutiva. o

4.2. TECNICAS DE COMPUTACION EVOLUTIVA

61

4.2.

Tcnicas de Computacin Evolutiva e o

Las tres tcnicas ms importantes dentro de la C.E. son: e a Algoritmos genticos e Programacin gentica o e Vida Articial

4.2.1.

Algoritmos Genticos e

Obra de John Holland (1975), la principal aplicacin de los algoritmos genticos o e 2 es la optimizacin de parmetros . La poblacin de soluciones se ve como una cadena de o a o posiciones con parmetros, de valores binarios o reales, y los operadores que se aplican a son los ya conocidos: cruce y mutacin. o Los algoritmos genticos son buenos localizando zonas ptimas, no tanto valores ptie o o mos. La ventaja es que no necesitan conocer demasiado el problema, slo la forma de o evaluar los individuos. Claramente, son un mtodo no determinista, ya que cuentan con e muchas componentes azarosas: generacin de la poblacin, seleccin de los individuos,. . . o o o y por ello no deben nunca aplicarse si ya existe un algoritmo matemtico que resuelva el a problema de manera exacta y directa. En caso contrario, los algoritmos genticos son una e buena opcin. o Entre los ejemplos de su utilizacin podemos encontrar: o Optimizacin o Investigacin Operativa o Transporte: volumen, tamao, coste, rapidez,. . . n Sistemas clasicadores Descubrimiento de caracter sticas para determinar Rutas Problema del viajante

4.2.2.

Programacin Gentica o e

La programacin gentica fue iniciada por John Koza en 1980 para el desarrollo de o e algoritmos sobre poblaciones de soluciones, dando lugar a la consideracin de estructuras o como rboles (los individuos se representan, en lugar de por tiras de bits, por rboles, a a
De ah su aplicacin al entrenamiento de RNA, pues se puede ver como un proceso de optimizacin de o o los valores de los pesos de las conexiones entre elementos de procesado, como estudiaremos en secciones subsiguientes. Adems, presentan la ventaja de no estancarse en m a nimos locales, como le sucede a algoritmos de tipo gradiente.
2

62

CAP ITULO 4. COMPUTACION EVOLUTIVA

donde las hojas son constantes o variables y las ramas, operadores) y a la denicin de o funciones y terminales. Las operaciones de cruce y mutacin sobre rboles tambin sufren la modicacin o a e o necesaria: el cruce pasa ahora a consistir en el intercambio de 2 ramas entre 2 rboles a (individuos padres) y en la mutacin se selecciona un nodo y, o bien se cambia su valor, o o bien se elimina y se genera una nueva rama en su lugar. Ejemplos de su utilizacin son: o Regresin simblica o o Clculo de funciones que pasen por una serie de puntos a Desarrollo de programas Control del caminar de un robot de 6 patas Sistemas basados en reglas Sistemas expertos sin necesitar al experto en campos reducidos

4.2.3.

Vida Articial

Lo que se denomina vida articial es una variante de la C.E. en la que se estudia la poblacin de un modo ms global: se considera que los individuos viven sobre un o a mundo (rejilla) en el que desarrollan comportamientos simples. Se estudian entonces las interacciones por proximidad que se producen entre ellos, buscando comportamientos emergentes, es decir, comportamientos complejos (dif ciles de programar) que surgen como resultado de la realizacin combinada de comportamientos simples individuales3 . o Ejemplos de utilizacin de tcnicas de vida articial los encontramos en: o e Ant Colony Optimization (A.C.O.) Enrutamiento, bsqueda de caminos ptimos4 u o Juego de Conway 5 Agentes Conjuntos de reglas, pequeos sistemas expertos que realizan tareas simples n Colaborando, son capaces de realizar tareas ms complejas a Extraccin de reglas, clasicacin,. . . o o
El ejemplo ms representativo lo encontramos en las hormigas. a En imitacin a la conducta de las hormigas guiadas por sus feromonas. o 5 Su funcionamiento, recordemos, era simple: en una poblacin dispuesta matricialmente, una celda o vac era ocupada en la generacin siguiente si estaba rodeada por al menos 3 celdas ocupadas y una a o ocupada lo segu estando si estaba rodeada por 2 3. a o
4 3

4.3. APLICACION DE TECNICAS DE COMPUTACION EVOLUTIVA EN RNA Otras aplicaciones Naturaleza y Biolog a Gentica: codicacin y combinacin e o o Ecolog estudio de poblaciones a: Hardware evolutivo Robtica o F.P.G.A.

63

4.3.

Aplicacin de tcnicas de Computacin Evolutio e o va en RNA

En RNA los mayores problemas se presentan con respecto a la utilizacin de las redes, o comenzando por la seleccin adecuada de las variables relevantes del problema, de los cono juntos de entrenamiento y test, la eleccin del modelo, denicin de parmetros (nmero o o a u de capas, nmero de elementos de procesado por capa, nmero de conexiones. . . ), deteru u minacin del algoritmo de entrenamiento (cada uno con sus problemas: m o nimos locales, lenta convergencia,. . . ), etc. Sobre todas estas cuestiones hay estudios que pueden orientarnos, pero no un mtodo e matemtico que nos garantice resultados, lo que hace del proceso una larga iteracin en a o modo prueba-y-error: mtodos incrementales/decrementales para determinar el nmero e u de capas y elementos de proceso (que, adems, slo son vlidos en problemas de clasia o a cacin y son muy dependientes de la arquitectura original), prueba sucesiva de diferentes o algoritmos de entrenamiento (muchos de los cuales no pueden paralelizarse, lo que obliga a realizar las pruebas una tras otra, en secuencia), incluso la seleccin de variables, a pesar o de poder apoyarse en la estad stica, resulta compleja. La Computacin Evolutiva (sobre todo los algoritmos genticos y la programacin o e o gentica) representan un novedoso aporte al mejor funcionamiento de las RNA. Resultan e utiles, sobre todo, en la seleccin de variables e incluso como algoritmos de entrenamiento6 . o Lo veremos en los apartados siguientes.

4.3.1.

Algoritmos genticos para el entrenamiento de RNA e

Tras jar una arquitectura, se conocen el nmero de elementos que tenemos que ajustar u (nmero de conexiones), lo que nos da la longitud de los individuos (de su genotipo). Se u genera entonces al azar una poblacin de este tipo, para posteriormente evaluar el nivel o de error de cada individuo (nivel de ajuste, ek , tambin llamado tness), nivel de error e que se calcula de igual modo que con los algoritmos de gradiente usuales.

Representan una alternativa a los mtodos de gradiente que no tiene que lidiar con m e nimos locales y que es paralelizable.

64

CAP ITULO 4. COMPUTACION EVOLUTIVA

El tness para cada individuo representa lo bueno que es el conjunto de pesos que encarna para la resolucin de nuestro problema. As pues, el paso siguiente es escoger, o dependiendo del ajuste, individuos para cruzar e individuos para mutar. Con n generaciones (normalmente pocas) los valores de error irn disminuyendo hasta alcanzar una cota a aceptable.

4.3.2.

Aplicaciones prcticas de Computacin Evolutiva en RNA a o

Las tcnicas de computacin evolutiva se suelen utilizar sobre todo en algoritmos de e o bsqueda. En conjuncin con las RNA, son un mtodo unico a la hora de evaluar, elegir u o e y/o estudiar la conveniencia de utilizar una u otra arquitectura de red para la resolucin o de un determinado problema, realizado simultneamente junto con el ajuste de pesos. a Lo que se hace es seguir las etapas bsicas de un algoritmo gentico, ya comentaa e das, (generar n soluciones vlidas, evaluarlas eliminando las peores, cruzarlas, mutarlas a y repetir el proceso hasta alcanzar un buen ajuste) donde en la poblacin los individuos o representan redes (cuyos cromosomas valor pueden representar nmero de PE por capa, u por ejemplo). El tness de cada individuo ser entonces el ECM del mejor representante a de esa arquitectura (subproblema de ajuste de otra subpoblacin). El punto de cruce e o intercambio se elige al azar en cada generacin, realizndose normalmente un 90 % de o a cruces y un 10 % de mutaciones, que suelen consistir en la generacin aleatoria de un o nuevo gen (capa). Por su parte, la programacin gentica (que se diferencia en su representacin arboo e o rescente de los individuos), se utiliza en la construccin automtica de programas. o a

4.3.3.

RNA y algoritmos genticos: ventajas y problemas e

Los principales problemas suelen encontrarse en cuestiones referentes al ajuste de arquitecturas RNA comentado en la subseccin anterior, entrenamientos, tiempo,. . . Alo gunas de las soluciones que se esgrimen al respecto se esbozan a continuacin. o

4.3. APLICACION DE TECNICAS DE COMPUTACION EVOLUTIVA EN RNA Podaje de conexiones (Pruning)

65

El podaje de conexiones consiste en la eliminacin, tras el entrenamiento, de coo nexiones intiles (poco inuyentes, con pesos cercanos a cero), a n de simplicar la u estructura de la RNA. Con algoritmos genticos, esto puede implementarse redeniendo el tness de modo e que no slo sea el error asociado a la RNA, sino que se aada un factor que represente o n una penalizacin proporcional al nmero de conexiones (a mayor nmero de conexiones, o u u mayor penalizacin): o no conex. = 0 no conex.totales La losof de las penalizaciones suele usarse en AG porque en lugar de eliminar de a buenas a primeras los individuos con valores no deseados (una dura restriccin), un indio viduo malo (muy penalizado) puede tener, no obstante, alguna caracter stica buena que podr ser as incorporada a una versin mejor del sujeto tras un cruce o mutacin. a o o

M nimos locales Como ya hemos dicho, el entrenamiento de RNA basado en AG es menos dado a caer en m nimos locales, sobre todo si se incrementa el ratio de mutacin. o Aplicabilidad El entrenamiento mediante AG es vlido para distintos modelos de red neuronal (feeda forward, recurrentes) tradicionales, incluso para aqullos no soportados por algoritmos de e gradiente (con conexiones a diferentes capas, por ejemplo). Codicacin binaria vs. real o La codicacin de los individuos como cadenas de bits simplica las operaciones (por o ejemplo, la mutacin consiste slo en cambiar el valor de una posicin aleatoria dentro o o o del cromosoma, de 0 a 1 o viceversa), pero reduce la precisin, puesto que sta viene o e determinada por el nmero de bits utilizado en la codicacin. u o Una codicacin real evita la traduccin a binario de valores presentes en el campo de o o estudio, a costa de cambiar la losof del cruce (en binario podr llegar a partirse un a a peso por la mitad) y hacer ms compleja la mutacin (que pasa ahora por generar un a o nmero al azar y sustituir o bien operar con el peso ya existente). u

Tiempo El entrenamiento de RNA con AG suele funcionar bien y puede ser incluso ms rpido a a que un entrenamiento tradicional con algoritmos de descenso de gradiente.

66 Seleccin de arquitecturas o

CAP ITULO 4. COMPUTACION EVOLUTIVA

La seleccin de arquitecturas de RNA implica tanto la seleccin del nmero de capas o o u y el nmero de neuronas por capa como el podaje (seleccin) de conexiones. Como ya u o se ha comentado, cada individuo representa una arquitectura y se dene una matriz de conexin n n binaria, donde n es el nmero mximo de PE por red, parmetro que o u a a s hay que proporcionar (basndose en estudios sobre el problema, por ejemplo). a El ajuste en este caso se obtiene tras entrenar la arquitectura representada por cada individuo (red), pudiendo ser el error alcanzado en el entrenamiento de dicha red (que puede hacerse, a su vez, por AG o con mtodos clsicos). e a Evidentemente, el punto fuerte de esta aplicacin no es el tiempo de entrenamiento. o Para paliarlo, lo que se hace es no llevar el entrenamiento de cada red-individuo hasta el nal, ya que slo se necesita una idea de cmo se comporta en trminos generales. Ha de o o e denirse, pues, un criterio de cunto se van a entrenar las redes, que puede ser: a nmero de ciclos (ha de ser suciente para que las redes grandes entrenen, a las u pequeas forzosamente les sobrar) n a nivel de error (presenta un grave problema ante la no convergencia de algunos individuos) tiempo (muy subjetivo)

El resto del proceso (mutaciones, cruces) es el habitual, aunque con matices: hay que tener cuidado al escoger el punto de cruce, puesto que los individuos son de longitudes diferentes, mientras que las mutaciones pueden, generalmente, consistir en aadir o quitar n capas. Pese a todo, al margen de la lentitud de esta opcin, la realidad es que no hay otra o que la suplante en su tarea, es la unica forma de hacerlo. Es por ello que se han buscado mltiples formas de optimizarla hasta el extremo, pasando, por supuesto por alternativas u que plantean la paralelizacin (dividir la poblacin, esto es, se paraleliza no el algoritmo, o o sino la evaluacin de los individuos): o Migracin Se tienen varios procesadores, una poblacin por procesador. Cao o da x generaciones se intercambian individuos, con el mismo criterio que el de seleccin para el cruce. Reduce mucho el riesgo de m o nimos locales. Difusin Permite slo cruces entre individuos prximos de ajuste, genoma o o o parecido, generando clusteres en base a las similitudes y repartiendo cada cluster en un procesador diferente. Cuando un individuo muta y deja de parecerse a los de su grupo, cambia de procesador. Farming Existe un equipo maestro y varios equipos esclavos, cada uno en un procesador diferente. El equipo maestro rige la poblacin al completo o (hace la seleccin), y los esclavos realizan los cruces y mutaciones. o

4.4. SISTEMAS H IBRIDOS

67

4.4.

Sistemas h bridos

A parte de los ya comentados alguna vez (mezcla entre sistemas expertos y RNA), existe un tipo de sistemas h bridos que combinan algoritmos genticos y lgica difusa, e o aplicando sta para que la pertenencia de elementos a conjuntos no sea estricta (fuzzy sets) e sobre los conjuntos de entrenamiento, habilitando de este modo la resolucin de problemas o inabordables de otro modo (ms prximos a la vida real). La idea fue originaria del japons a o e Lofti Zadeh.

4.4.1.

Denicin de conjunto borroso o

Un conjunto borroso tiene una funcin de pertenencia, que indicar si un elemento o a pertenece o no al conjunto, que devolver un nmero entre 0 (no pertenecia) y 1 (pertea u nencia) que representa la probabilidad de pertenencia asociada al elemento con respecto al conjunto. Dicha funcin suele nombrarse . o

Bajo

Medio

Alto

150

160

170 180

Altura

Figura 4.1: Ejemplo de funcin de pertenencia a un conjunto difuso. o Suelen ser, como en la gura, funciones de forma trapezoidal o triangular. Tambin se usan etiquetas semnticas estndar (muy, bastante, ms o menos,. . . ) que e a a a se ajustan con respecto a los valores de la funcin de pertenencia. Esto es lo que permite o usar valores reales en lgica difusa. o Se aconseja una particin completa del dominio, es decir, denir las funciones de pero tenencia para obtener los conjuntos borrosos de una variable de forma que stos cubran e todos sus posibles valores, su rango al completo, siendo su rea de solapamiento no muy a grande (entre 20-30 %). A partir de aqu para lo que se usa la lgica difusa es para denir reglas borrosas, , o muy utilizadas en sistemas expertos y control industrial. Estas reglas admiten valores difusos de entrada y proporcionan valores difusos de salida. Tambin hay mecanismos de e

68

CAP ITULO 4. COMPUTACION EVOLUTIVA

traduccin de valores fuzzy a crisp y viceversa. o Dentro de las RNA hay tres aproximaciones para usar lgica difusa, siendo las dos o ultimas las ms interesantes y la ms sencilla la primera (la que primero surgi): a a o usar entradas difusas usar pesos difusos (sus valores) las dos anteriores (una combinacin) o La utilizacin de alguna de ellas da lugar a las fuzzy articial neural networks o (FANN).

4.4.2.

Neurona de procesado difuso

El modelo de PE difuso modica el modelo normal de neurona, pues sus pesos van a tener ahora un valor difuso. Esto se implementa normalmente teniendo una variable (conjunto) difusa que se multiplica por un peso de valor real tradicional. Las conexiones tendrn entradas que sern validadas por el conjunto difuso: a a
xi Mi*wi

S(Mi(xi)*wi)*p

Se evala la pertenencia de la entrada al conjunto y el valor obtenido se multiplica u por el peso (funciona como una especie de regla difusa ponderada). Toda la informacin o de las entradas se integra del modo usual y se pondera una vez ms por un valor de a atenuacin. Al valor de salida, en lugar de aplicarle una funcin de activacin se le aplica o o o nuevamente una regla difusa (que puede ser simplemente otra funcin de pertenencia o o bien una combinacin ms compleja). El valor obtenido es un valor difuso que puede ser o a traducido a un valor real (si la neurona se encuentra en una capa de salida).

4.4.3.

Entrenamiento

Este tipo de redes no est muy estandarizado y no se usa an demasiado. Hay diversos a u algoritmos para su entrenamiento, todos basados en descenso de gradiente (modicaciones del algoritmo de retropropagacin), donde primero se ajustan los pesos y despus las o e funciones de pertenencia asociadas a las conexiones.

4.4. SISTEMAS H IBRIDOS

69

D Los vertices son los valores que se ajustan en una funcion de pertenencia

4.4.4.

Aplicaciones de fuzzy RNA

El campo principal en el que se estn usando las FANN actualmente es en control a industrial. Se usan en los bucles de realimentacin para controlar la ejecucin de procesos. o o Tambin se usan en clasicacin, dentro del mbito en el que son ms utiles, es decir, e o a a cuando no podemos precisar los datos de entrada (variables difusas, imprecisas).

Indice alfabtico e
tness, 63 radial basic functions, 38 self-organizing maps, 36 algoritmos genticos, 61, 63 e paralelizacin, 66 o difusin, 66 o farming, 66 migracin, 66 o aprendizaje, 8 a partir de ejemplos, 24 backpropagation, 20 competitivo, 34 de Boltzmann, 18 de Hebb, 17 del perceptron, 18 h brido, 11 no supervisado, 11 paradigmas, 10 por refuerzo, 11 regla delta, 20 generalizada, 20 supervisado, 10 tasa de, 17 arquitectura de Von Neumann, 7 capa de contexto, 54 comportamiento emergente, 62 computacin evolutiva, 59, 63 o tcnicas, 61 e aplicacin en RNA, 63 o conexiones podaje, 65 conjunto borroso, 67 diagnstico, 25 o distancia de Hamming, 29 70 elementos de procesado, 8 de proceso, 8 emular, 8 EP, 8 error falso negativo, 25 falso positivo, 25 ratio de, 24 FANN, 68 feedback, 14 feedforward, 11 funcin o de activacin, 18 o de pertenencia, 67 de transferencia, 18 umbral, 8 fuzzy set, 67 genotipo, 63 lgica difusa, 67 o mapas autoorganizativos, 36 mapas de Kohonen, 36 memorias asociativas, 29 heteroasociativas, 30 interpoladoras, 30 momento, 20 neurocomputacin, 7 o neurocomputador, 7 nivel de ajuste, 63 patrones de entrenamiento, 11 perceptrn o multicapa, 12

INDICE ALFABETICO simple, 12 pesos sinpticos, 8 a programacin gentica, 61, 63 o e pruning, 65 redes BPTT, 49, 53 CNP, 38 de contrapropagacin, 38 o de Hopeld, 11, 32 de neuronas articiales, 7 biolgicas, 7 o parcialmente recurrentes, 49, 54 RBF, 38 RTRL, 49 TDNN, 48, 50 con retardo temporal jo, 52 con retardo temporal variable, 52 temporales, 48, 49 RTRL, 54 salida deseada, 10 obtenida, 10 series temporales, 45 componentes, 45 prediccin, 45 o RNA analisis, 47 problemas, 47 tipos, 48 tipos, 46 simular, 8 sistemas conexionistas, 7 de aprendizaje socrticos, 24 a expertos, 8 h bridos, 59, 67 SOM, 36 sombrero mexicano, 36 vecindad, 37 ventana temporal, 49 vida articial, 61, 62

71

72

INDICE ALFABETICO

Indice de guras
1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. Ejemplo de red de Hopeld. . . . . . . . . . . . . . . . . Perceptrn. . . . . . . . . . . . . . . . . . . . . . . . . . o Clasicacin de las RNA. . . . . . . . . . . . . . . . . . . o Ciclo de vida de una RNA. . . . . . . . . . . . . . . . . . Orientacin selectiva de la regla de aprendizaje de Hebb. o Red tipo backpropagation de 3 capas (caso ms sencillo). a Funcin de activacin (ejemplos). . . . . . . . . . . . . . o o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13 14 15 17 20 22 29 31 33 35 35 36 36 36 37 38 39 41 51 51 53 55

2.1. Cubo de Hamming 3D. . . . . . . . . . . . . . . . . . . . 2.2. Arquitectura de una memoria asociativa. . . . . . . . . . 2.3. Arquitectura de una red Hopeld. . . . . . . . . . . . . . 2.4. Arquitectura de una RNA competitiva sencilla. . . . . . 2.5. Distribucin de pesos en aprendizaje competitivo. . . . . o 2.6. Esquema del neocrtex. . . . . . . . . . . . . . . . . . . . o 2.7. Representacin excitaciones/inhibiciones neuronales. . . . o 2.8. Sombrero mexicano. . . . . . . . . . . . . . . . . . . . . 2.9. Arquitectura bsica clsica de un mapa autoorganizativo. a a 2.10. Resultado de una red RBF. . . . . . . . . . . . . . . . . 2.11. Arquitectura bsica de una red CNP. . . . . . . . . . . . a 2.12. Sistema de control implementado con una RNA CNP. . . 3.1. 3.2. 3.3. 3.4. Modelos TDNN. . . . . . . . . . . . . . . Modelos TDNN (general). . . . . . . . . Desenvolvimiento de una red BPTT. . . Tipos de redes parcialmente recurrentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.1. Ejemplo de funcin de pertenencia a un conjunto difuso. . . . . . . . . . . 67 o

73

74

INDICE DE FIGURAS

Indice de cuadros
1.1. 1.2. 1.3. 1.4. 1.5. Modelo Von Neumann vs. Modelo RN. . . . Taxonom de los algoritmos de aprendizaje. a Ejemplo de confussion matrix. . . . . . . . . Posibilidades en una prediccin. . . . . . . . o Ejemplo de matriz de costes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 16 25 25 26

3.1. Diferencias entre neuronas feedforward y neuronas temporales. . . . . . . . 49

75

76

INDICE DE CUADROS

Bibliograf a
[1] Gonzlez Penedo, Manuel. a Apuntes de Sistemas Conexionistas http://carpanta.dc.fi.udc.es/ %7Ecipenedo /cursos/scx/scx.html, 2001.

77