FUNDAMENTOS DE REDES NEURONALES ARTIFICIALES FELIPE LARA ROSANO INDICE LABORATORIO DE CIBERNETICA APLICADA CENTRO DE INSRUMENTOS UNAM. 1. INTRODUCCION 2. GENERALIDADES SOBRE REDES NEURONALES NATURALES Estructura de la neurona biológica La corteza cerebral como red neuronal 3. REDES NEURONALES ARTIFICIALES ELEMENTALES Bosquejo histórico La neurona artificial El Perceptrón La Adaline 3. OTRAS REDES NEURONALES ARTIFICIALES Redes de Hopfield Redes de Memoria Asociativa Bidireccional 4. MODELOS DE APRENDIZAJE EN REDES NEURONALES ARTIFICIALES MULTICAPAS Tipos de aprendizaje Aprendizaje por retropropagación del error 5. APLICACIONES POTENCIALES Diagnóstico Procesamiento de señales Procesamiento y análisis de imágenes Control Automático y Robótica Análisis y generación de lenguaje natural 7. BIBLIOGRAFIA. 1. INTRODUCCION En los últimos años ha habido un desarrollo explosivo de la investigación básica y aplicada alrededor de las Redes Neuronales artificiales. Estos sistemas, también llamados sistemas de procesamiento distribuido en paralelo, sistemas coneccionistas, redes neurales y neurocomputadoras, constituyen la base de la Sexta Generación de computadoras anunciada ya por los japoneses. Entre las razones de este desarrollo explosivo, destaca el que las Redes Neuronales artificiales presentan en ciertos campos claras ventajas sobre las computadoras digitales comunes, llamadas del tipo Von Neumann, (Von Neumann 1945) pues no sólo son capaces de aprender de la experiencia sin grandes complicaciones de software o de hardware, sino que pueden resolver en forma sencilla y económica algunos de los problemas que constituyen los mayores retos para las computadoras tradicionales, tales como el reconocimiento de patrones complejos, procesamiento de imágenes, generación e interpretación de lenguaje natural y problemas de clasificación y diagnóstico difusos. Por las razones anteriores, en una primera etapa de investigación, en el Laboratorio de Inteligencia Artificial de la Coordinación de Sistemas del Instituto de Ingeniería se decidió explorar la naturaleza y arquitectura de las Redes Neuronales artificiales. El resultado de esta indagación se presenta en este documento. 2. GENERALIDADES SOBRE REDES NEURONALES NATURALES Estructura de la neurona biológica Desde que se empezó a conocer la anatomía y estructura del tejido nervioso,a partir de los trabajos de Ramón y Cajal (1911) en España, los investigadores trataron de conocer la forma cómo este tejido y los órganos que constituye, especialmente el cerebro, procesan la información que reciben de los órganos receptores, para dar una respuesta adecuada a sus estímulos. Aunque aun se está lejos de comprender el funcionamiento y la estructura del sistema nervioso, se conoce con cierto detalle la estructura de la neurona, como elemento básico del tejido nervioso y la forma cómo se estructura la corteza cerebral. La neurona, como toda célula, consta de una membrana exterior M, que la limita y le sirve de órgano de intercambio con el medio exterior, de un citoplasma C, que es el cuerpo principal de la célula donde radica el grueso de sus funciones y de un núcleo N, que contiene el material genético de la célula. (Figura 1) El citoplasma presenta unos alargamientos D, llamados dendritas, que son órganos de recepción. En las dendritas termina un gran número de fibras F que son conductores que llevan la señal o impulso nervioso de los receptores o de otras neuronas hacia la neurona. Estas fibras terminan en un pequeño corpúsculo llamado sinapsis, que constituye un relevador bioquímico y que sirve para transferir la señal de una neurona a otra. Existen dos clases de sinapsis: actuadoras, que favorecen el disparo de la neurona receptora e inhibidoras, que dificultan éste. Cuando se presenta un cierto desbalance entre las sinapsis actuadoras y las inhibidoras activas, la neurona dispara un impulso de salida, que constituye la respuesta de la neurona. Este impulso nervioso de salida es conducido por una prolongación cilíndrica alargada (hasta de varios decímetros de largo) de la neurona, que se llama cilindro eje o axón A, que en su extremo se divide en varias fibras para comunicarse con otras neuronas o con órganos efectores o motores como glándulas o músculos. El citoplasma de las neuronas forma la masa gris de los centros nerviosos y el conjunto de cilindros ejes forma la masa blanca de aquéllos. La corteza cerebral como red neuronal En el cerebro humano la corteza cerebral contiene la mayor parte de las neuronas de este órgano y constituye, por ese hecho, la red neuronal natural más compleja. La corteza cerebral tiene un espesor promedio de 3mm y una superficie de unos 2000 cm2.En ella se sitúan unos cien mil millones de neuronas y de cien a mil billones de sinapsis. Es el centro superior de la memoria, del procesamiento de sensaciones, de la regulación motora, del lenguaje, de los afectos y de los mecanismos de inferencia. Está situada en la periferia del cerebro, formando pliegues llamados circunvoluciones cerebrales. En la corteza hay zonas especializadas en determinado trabajo, llamadas zonas o localizaciones cerebrales. Aunque su definición aun está en estudio, se tienen identificadas claramente las zonas motoras, las zonas del lenguaje, así como las zonas sensitivas correspondientes a los diferentes sentidos. Conjuntamente con los descubrimientos de los neurofisiólogos y neuroanatomistas, algunos psicólogos comenzaron a desarrollar modelos neuronales de aprendizaje. Uno de los que tuvo mayor recocimiento fue el de Donald O. Hebb, (1949) que propuso su ley de aprendizaje, que posteriormente fue el fundamento de los algoritmos de aprendizaje de las Redes Neuronales artificiales. Hebb postuló que si por alguna circunstancia dos neuronas se activan simultáneamente, se fortalecen las conexiones entre esas dos neuronas, haciendo que para una de ellas sea más fácil disparar, si la otra dispara. Esto explicaría la formación de reflejos condicionados en los animales. Esta teoría de Hebb dió lugar a nuevas teorías sobre la memoria y el aprendizaje. La parte del tejido nervioso más plástica es precisamente la sinapsis, donde la conductividad sináptica puede ser alterada por cambios en la composición química, en el tamaño y en la forma de dicha sinapsis. De esta forma puede explicarse la memoria como un conjunto de cambios en las sinapsis entre neuronas, en cuyo caso la información queda codificada por el número de interconexiones entre neuronas y el grado diferencial de conductividad de las sinapsis correspondientes. 3. REDES NEURONALES ARTIFICIALES ELEMENTALES Bosquejo histórico En la década de los 40 y principios de los 50 , varios investigadores entre los que destacan McCulloch y Pitts (1943), Householder y Landahl (1945), Kleene (1956), Von Neumann (1956) y Culbertson (1956) elaboraron modelos matemáticos de neuronas y Redes Neuronales. En la década de los 50, varios investigadores, entre ellos Farley y Clark (1954) y Rochester, Holland, Haibt y Duda (1956), combinaron los resultados obtenidos por los matemáticos, biólogos y los psicólogos y desarrollaron modelos de simulación en computadora de neuronas y Redes Neuronales, dando lugar a la forma actualmente más generalizada de trabajar con estos sistemas: su simulación mediante software, en una computadora digital común. Pronto se obtuvieron éxitos muy promisorios. Frank Rosenblatt desarrolló el Perceptrón (Rosenblatt 1958), que fue la primera red neuronal artificial especificada con toda precisión y orientada computacionalmente. Como era una máquina que podía aprender y demostrar comportamiento adaptativo complejo, atrajo de inmediato la atención de los investigadores. Su procedimiento de convergencia de aprendizaje fue un avance definitivo sobre la teoría de Hebb. Asimismo, Rosenblatt desechó el enfoque de teóricos anteriores, que veían al cerebro como una computadora lógica. En vez de ello, lo consideró como un asociador y clasificador, cuya misión era asociar respuestas de clasificación a estímulos específicos. En 1962 Rosenblatt publicó su libro Principles of Neurodynamics (Rosenblatt 1962) en el que presentó formalmente el Perceptrón como modelo para construir Redes Neuronales artificiales. Los perceptrones se aplicaron rápidamente a resolver problemas tales como la predicción climatológica, la interpretación de electrocardiogramas y otros. Tal parecía que se había hallado la clave para comprender el funcionamiento cerebral, emulando las Redes Neuronales naturales mediante redes complejas de perceptrones. Sin embargo, pronto se comprobó que las redes con una capa de perceptrones eran incapaces de resolver problemas tan simples como la simulación de una compuerta lógica de tipo O exclusivo y, tras una investigación sobre las limitaciones de los perceptrones, Minsky y Pappert publicaron el libro Perceptrons (Minsky & Pappert 1969) donde se hacían patentes estas limitaciones. Como consecuencia, los fondos para nuevas investigaciones se congelaron y la mayoría de los investigadores reorientaron su objeto de estudio. Sólo un par de investigadores aislados como Teuvo Kohonen en Finlandia, Stephen Grossberg y James Anderson en Estados Unidos, continuaron sus esfuerzos en este campo, dando lugar lentamente a que, a través de los años, (Kohonen 1972), (Anderson 1972) y (Grossberg 1987), emergiera un nuevo cuerpo teórico alrededor de las Redes Neuronales multicapas, que superó las limitaciones encontradas por Minsky y dio nuevo impulso al desarrollo de Redes Neuronales artificiales. La neurona artificial La neurona artificial es una unidad cuatro elementos funcionales: (Figura 2) procesadora con 1. El elemento receptor, a donde llegan una o varias señales de entrada xi, que generalmente provienen de otras neuronas y que son atenuadas o amplificadas cada una de ellas con arreglo a un factor de peso wi que constituye la conectividad entre la neurona fuente de donde provienen y la neurona de destino en cuestión. 2. El elemento sumador, que efectúa la suma algebraica ponderada de las señales de entrada, ponderándolas de acuerdo con su peso, aplicando la siguiente expresión: S = Σ wi xi (1) . 3. El elemento de función activadora, que aplica función no lineal de umbral (que frecuentemente es función escalón o una curva logística) a la salida sumador para decidir si la neurona se activa, disparando salida o no. una una del una 4. El elemento de salida que es el que produce la señal, de acuerdo con el elemento anterior, que constituye la salida de la neurona. Este modelo neuronal es el utilizado en casi todas las Redes Neuronales artificiales, variando únicamente el tipo de función activadora. A continuación se presentarán los modelos más simples de Redes Neuronales artificiales. El Perceptrón El Perceptrón, desarrollado por Rosenblatt (1958), consiste en una neurona procesadora, con sus elementos de entrada, sumador, activador y de salida. a la cual llegan señales de entrada xi, i = 1, 2,...,n cada una con una a través de una línea con conductividad o peso asociado wi. El elemento sumador efectúa entonces una suma ponderada de las entradas, en tanto que el activador emplea una función escalón de umbral: si la suma ponderada es mayor o igual a un valor de umbral U, da una salida y de tal manera que: y = 1 si S > U y = 0 si S < U La red neuronal más simple construida con perceptrones tiene dos capas: una capa receptora de entrada, en la que la salida de cada neurona reproduce simplemente su entrada (Fig 3) y una capa de salida formada por perceptrones como los descritos, totalmente conectados con la capa de entrada, a través de líneas de comunicación con conductividades o pesos ajustables. Así, cada neurona de entrada está conectada con cada neurona de salida a través de una línea de comunicación con una conductividad o peso ajustable. La ley de aprendizaje del perceptrón ajusta estos pesos, de manera que se obtenga con mayor probabilidad la salida deseable correspondiente a un cierto conjunto de entradas. El perceptrón es entrenado presentándole un conjunto de patrones de entrenamiento en forma repetida. Cada patrón de entrenamiento es una pareja formada por un vector de entrada x y su vector de salida y deseable. La dimensión del vector de entrada es igual al número de neuronas de la capa de entrada, en tanto que la dimensión del vector de salida es igual al número de neuronas de la capa de salida. Al presentarle el vector de entrada al perceptrón, sus neuronas de entrada lo asumen. Las salidas de la red se comparan con el vector de salida y la diferencia obtenida se utiliza para reajustar los valores de los pesos w de las interconexiones. Este reajuste se hace de modo que sea más probable que la red dé la respuesta apropiada la siguiente vez. El entrenamiento prosigue hasta que todas las respuestas de la red se aproximan en forma aceptable a las deseadas. Para el reajuste de los pesos, existen diferentes reglas propuestas posteriormente por diferentes autores (Duda & Hart 1973; Rosenblatt 1962), basadas en la Regla Delta de Widrow y Hoff (1960).. En una de las más sencillas, el nuevo peso w1 es igual al peso anterior w0 más una cantidad proporcional a la diferencia entre la salida deseada t y la salida real y: w1 = w0 + η (t - y) (2) donde η es una constante de proporcionalidad menor que la unidad que se llama razón de aprendizaje. Si el vector de entradas es de ceros y unos, hay una fórmula derivada en la que la razón de aprendizaje se multiplica por la entrada correspondiente x. De este modo, el peso se modifica solo cuando la entrada vale 1, es decir, cuando está activa. Así,la fórmula anterior queda en la forma: w1 = w0 + x η (t - y) (3) De acuerdo con estas fórmulas, el nuevo peso es mayor que el anterior, si la salida deseada es mayor que la actual y menor en el caso contrario. Antes de comenzar el entrenamiento, los pesos se fijan aleatoriamente. Durante el entrenamiento, los patrones de entrenamiento se presentan a la red una y otra vez (a veces cientos y hasta miles de veces), hasta que los pesos ya no se modifican. En este caso se dice que la red ha convergido, en cuyo caso o ha aprendido con éxito o se declara incapaz de aprender todas las respuestas correctas. Las limitantes más grandes del perceptrón es que, aunque pueden construirse Redes Neuronales de varias capas con él, no permite más que una sola capa de pesos adaptativos. La Adaline La Adaline es un modelo de neurona desarrollado por Bernard Widrow y Marcian E. Hoff(Widrow & Hoff 1960). Su nombre proviene de adaptive linear neuron, aun cuando después la rebautizaron como adaptive linear element, cuando los modelos neuronales cayeron en desgracia. La Adaline es análoga a un perceptrón, ya que calcula la suma ponderada de sus entradas, siendo sus diferencias las siguientes: a) A las entradas que provienen del exterior o de otras neuronas, se les agrega otra entrada adicional xo con un valor constante de bias o polarización, que en general es igual a +1 y que, modulada por su peso wo, representa el umbral de disparo de la neurona. b) La señal de salida es +1 o -1, según que la suma ponderada S sea mayor o menor que el umbral de disparo. Para definirla, se utiliza una función activadora equivalente a una función escalón (fig 4). c) El error que se utiliza para la regla de aprendizaje es la diferencia entre la salida S del sumador ponderado y la salida deseada, en vez de tomar la diferencia entre la salida total (que es la salida del cuantizador) y la salida deseada. La razón de ello es que aquélla es matemáticamente más fácil de manipular, por ser una función cuadrática de los pesos de entrada y, además, el cuadrado del error total es una función monotónica del cuadrado de este error, por lo que minimizarlo significa minimizar el error total. Esto significa, además, que la Adaline sigue aprendiendo, aún después de dar una respuesta final correcta, en tanto la salida del sumador no sea igual a la salida total. Este aprendizaje adicional abrevia considerablemente el tiempo total de aprendizaje, en relación con el perceptrón. La regla de aprendizaje, llamada también la Regla Delta, es la siguiente: (Widrow & Hoff 1960) ∆wij = yi η (tj - Sj) (4) donde ∆wij es el incremento en el peso entre la neurona i y la neurona j, yi es la salida de la neurona i, η es la tasa de aprendizaje, tj es la salida deseada de la neurona j y Sj la salida del sumador de la neurona j. Al definir el mecanismo de aprendizaje, Widrow y Hoff minimizan el cuadrado del error antes definido, utilizando el método del gradiente máximo. Al tratarse de una superficie cuadrática, el mínimo encontrado es un mínimo global. Asimismo, los autores muestran que las derivadas parciales definidas al plantear la minimización, son proporcionales al error mencionado, por lo que la medición de este error permite calcular la dirección hacia adónde moverse para corregirlo. Es fácil pasar de un elemento a una red de varios elementos, en virtud de que la ley de aprendizaje es local, esto es, una neurona dada solo debe tener información respecto a su propia entrada y salida, sin preocuparse por las demás. 4. OTRAS REDES NEURONALES ARTIFICIALES Redes de Hopfield En 1982, John Hopfield introdujo un nuevo tipo de redes, que posteriormente se llamaron Redes de Hopfield. (Hopfield 1982) La red de Hopfield elemental tiene una sola capa de neuronas, pero todas éstas están conectadas entre sí, mediante arcos dobles ponderados que van en ambas direcciones. Cada peso puede ser positivo o negativo. Esta topología doble de interconexión convierte a la red en una red retroalimentada o recursiva. (Fig 5) Cada una de las neuronas tiene una salida que puede estar en uno de dos estados: 0 o 1. La salida es 1, si la suma ponderada de las salidas de las otras neuronas es mayor que un umbral especificado T; en caso contrario la salida es 0. Toda la red está entonces en un cierto estado a cada momento, definido por un vector de estados cada uno de cuyos elementos corresponde a una de las n neuronas. Los estados de la red se pueden también representar como los vértices de un hipercubo de n dimensiones, siendo n el número de neuronas. Aunque en principio los pesos wij y wji de una rama doble pueden ser diferentes, un teorema garantiza que si son iguales, esto es si la matriz de pesos es simétrica, la red converge. Hay ocasiones en las que incluso la red puede converger teniendo pesos diferentes en las ramas dobles. Una de las aplicaciones de la Red de Hopfield es la de servir como memoria asociativa. Una memoria asociativa es aquella en que una fracción de una señal es capaz de reproducir la totalidad de la señal. Por ejemplo, con una fracción de una melodía el cerebro humano puede reconocer y reproducir la melodía completa. Las memorias asociativas son útiles para regenerar señales incompletas o deterioradas por ruido. Para fungir como memoria asociativa, pesos de la red debe ser igual a: W = ∑yiT yi la matriz W de (5) i donde yi es el iésimo vector a reconocer (memoria), expresado como vector renglón, yiT yi es la matriz de pesos correspondiente al iésimo vector a reconocer y la sumatoria abarca todas las matrices de pesos correspondientes a todos los vectores (memorias) a reconocer. (Wasserman 1989) Una vez que los pesos han sido determinados, la red puede ser utilizada para producir el vector de salida deseado, aunque el vector de entrada esté incompleto. Para ello, se presenta a la red el vector de entrada. Después el vector de entrada se retira y se permite relajarse a la red hasta alcanzar el estado estable más cercano, que será el vector reconocido. El procedimiento de relajación o actualización de la red se realiza en forma secuencial, considerando solamente una neurona a la vez y eligiendo en forma aleatoria la neurona que se va a actualizar. La actualización de una neurona j se realiza calculando la suma ponderada de sus entradas: Sj = ∑xiwij (6) i Si la suma es menor o igual que el umbral T, el estadosalida yj de la neurona j se hace igual a cero. Si la suma es mayor que el umbral T, el estado-salida de la neurona j se hace igual a uno. Es factible asociar a cada estado de la red una cantidad escalar denominada energía de la red, y que está dada por la expresión: 1 E = - 2 wjixjxi ji ∑ ∑ Es factible demostrar (Dayhoff 1990) que a medida que red se actualiza, su energía decrece hasta alcanzar mínimo cuando la red se estabiliza. Este mínimo depende la posición inicial de la red y puede ser, por lo tanto, mínimo local y no uno global. (7) la un de un La existencia de una función objetivo de tipo cuadrático asociada a una red de Hopfield permite que estas redes puedan ser utilizadas como mecanismos de optimización. (Hopfield & Tank 1985) Redes de Memoria Asociativa Bidireccional Hasta ahora se han presentado redes de memoria autoasociativa, esto es, que un cierto patrón puede ser completado o corregido, pero no asociado con un patrón diferente. Esto es el resultado de redes de una sola capa de neuronas. Las Redes de Memoria Asociativa Bidireccional son heteroasociativas, es decir, que ante un vector de entrada dado produce un vector diferente, aunque relacionado, en otra capa de neuronas. Aunque existen diferentes tipos de Redes de Memoria Asociativa Bidireccional, se presentará aquí el descrito por Wasserman (1989). La red se compone de tres capas: (Fig 8) una capa de entrada A, una capa de salida B y una capa de retroalimentación R. Cada neurona de la capa de entrada A está conectada con todas las neuronas de la capa de salida B, a través de una matriz de pesos W. La salida de la neurona j de la capa de salida B va a la entrada de la neurona j de la capa de retroalimentación R y cada neurona de la capa de retroalimentación R está conectada con todas las neuronas de la capa de entrada A a través de una matriz de pesos que es la transpuesta WT de la matriz de pesos W. De esta manera, si se aplica un vector de entrada a a la capa de entrada, es transformado por la matriz de pesos W en un vector de entrada aW a la capa de salida. Este, a su vez, es transformado por la función de activación de las neuronas de esta capa para obtenerse el vector b de salida de la capa de salida, lo que puede expresarse como: b = F (a W) (9) . Este vector b se lleva a la capa de retroalimentación, la cual lo multiplica por la matriz WT de pesos y lo presenta a la capa de entrada A, que produce un segundo vector a. Este segundo vector a es igual a: a = F (b WT) (10) Este proceso se repite hasta que la red alcanza un estado estable. La red funciona asociando los vectores a y b, mediante pesos adecuados. Si se quiere ver qué vector b corresponde a un vector a, se fuerza la red a igualar la salida de la capa de entrada a este vector a, se remueve la entrada, se deja estabilizar la red y el vector de salida de la capa de salida es el vector b buscado. La matriz expresión: de pesos apropiada W = se ∑aiT calcula bi mediante la (10) i donde la sumatoria se hace para todas las parejas de vectores a,b que se quiere asociar en la red. Existen versiones de estas redes que permiten la definición de la matriz de pesos mediante aprendizaje, utilizando aprendizaje de Hebbs. (Hebbs 1949), donde el cambio de pesos es proporcional al producto del nivel de activación de las dos neuronas ligadas por el peso. 5. MODELOS DE APRENDIZAJE EN REDES NEURONALES ARTIFICIALES MULTICAPAS Tipos de aprendizaje Se ha mencionado ya que una de las características fundamentales de las Redes Neuronales es su adaptabilidad y su susceptibilidad de aprendizaje, a través de la modificación de los pesos de las interconexiones entre las diferentes neuronas. Hay dos formas fundamentales de aprendizaje: 1. Aprendizaje supervisado, que requiere la presencia de un tutor externo y una serie de patrones de aprendizaje. El tutor conoce el vector de respuesta correcto ante cada vector de entradas y, con la respuesta real de la red, genera un vector de error, que retroalimenta a ésta. La red, con base en el vector de error, actualiza los pesos de sus interconexiones de manera que el error tienda a desaparecer. Con un número suficiente de sesiones de entrenamiento, la red converge, produciendo las respuestas deseadas. Este tipo de aprendizaje es el aplicado tanto en el Perceptrón, como en la Adaline. 2. Aprendizaje no supervisado, que utiliza datos de entrenamiento no etiquetados previamente y no necesita tutor externo. Los datos son presentados simplemente a la red, que de acuerdo con ellos configura cúmulos internos que comprimen los datos de entrada en cierto número de categorías de clasificación. Este tipo de aprendizaje es el aplicado en las Redes de Kohonen. En este capítulo se resumirán otros modelos de aprendizaje relevantes para las Redes Neuronales que entran en una de estas categorías. Aprendizaje por retropropagación del error La principal deficiencia de los algoritmos de aprendizaje referidos es que no pueden ser utilizados cuando hay más de una capa de pesos qué ajustar. Por esta razón, el modelado de sistemas inteligentes mediante Redes Neuronales decayó durante algunos años, hasta que en 1986 David Rumelhart, Geofrey Hinton y Ronald Williams en el libro Parallel Distributed Processing: Explorations in the Microstructures of Cognition (Rumelhart, Hinton & Williams 1986) introdujeron el algoritmo de retropropagación, que permitía ajustar los pesos de varias capas de interconexiones, con arreglo a la diferencia entre la salida real y la deseada. Una vez publicado el libro, se encontró que ya anteriormente David Parker en 1982 había desarrollado el algoritmo de retropropagación (Parker 1982). Poco tiempo después se encontró que incluso desde 1974 Paul Werbos había propuesto este algoritmo en su tesis doctoral. (Werbos 1974). Por consiguiente, Rumelhart y compañía se hubieran ahorrado mucho trabajo si hubieran sabido de estos trabajos previos. El algoritmo de retropropagación del error se explicará a continuación con base en una red neuronal de tres capas (fig 10): la capa de entrada, la capa intermedia u oculta y la capa de salida. La capa de entrada es la única que recibe señales de entrada externas, en tanto que la capa de salida es la que da las respuestas observables de la red. Entre las capas de entrada y de salida se encuentra la capa intermedia u oculta, formada por neuronas procesadoras. La red está completamente interconectada, es decir, cada neurona de la capa intermedia está conectada con cada una de las neuronas de entrada y con cada una de las neuronas de salida. Sin embargo, esto no es imprescindible. Tampoco se permiten interconexiones entre neuronas de la misma capa El algoritmo de retropropagación del error involucra dos fases: a) la fase de propagación hacia adelante y la fase de propagación hacia atrás. En la fase de propagación hacia adelante, se le presenta a la red un vector de entrada a través de sus neuronas de entrada. Estas neuronas dan una respuesta igual a su entrada y dirigida a cada una de las neuronas j de la capa intermedia. Cada una de éstas, al recibir esas entradas, calcula su suma ponderada S de acuerdo con los pesos de las interconexiones de entrada. La suma ponderada S pasa al elemento activador no lineal, que presenta como salida una función sigmoide f(S) de esa suma ponderada S. Esta salida constituye, a su vez, una entrada para cada neurona i de la capa de salida que, a su vez, calcula una suma ponderada de sus entradas, la cual pasa por su activador no lineal para constituir la salida de la red. Con esto termina la fase de propagación hacia adelante. La fase de propagación hacia atrás comienza con la comparación de la salida real de la red con la salida deseada, calculándose el error δj para cada neurona j de salida. Este error es igual a: δj = (tj - yj) f'(Sj) (11) donde: tj = la salida deseada de la neurona j yj = la salida real de la neurona j f'(x) = la derivada de la función activadora sigmoidal f(x) en el punto x Sj = la suma ponderada de las entradas a la neurona j. Después, se calcula el valor del error δj neurona intermedia j en la forma siguiente: para cada Se hace la suma ponderada de los errores de salida, utilizando los pesos de interconexión wij entre esta neurona j intermedia y cada neurona k de salida, y esta suma ponderada se multiplica por la derivada f' de la función activadora sigmoidal f(S), con el fin de "escalar" el error y de forzar una corrección más grande cuando la suma ponderada queda cerca de la zona de pendiente máxima de la curva sigmoidal δj = [∑dkwkj] f'(Sj) k A continuación se calcula el pesos, de acuerdo con la fórmula: (12) ∆wji incremento a ∆wji = η δj ai los (13) donde: δj = el valor de error de la neurona posterior ai = el valor de salida real de la neurona anterior η = la tasa de aprendizaje Esta regla se conoce también como la generalizada (Rumelhart & McClelland 1986). regla delta En muchos casos es deseable dar a cada neurona una polarización o bias igual a +1, pero con un peso ajustable por entrenamiento, con el fin de neutralizar el efecto de inicio lento de la función logística, con lo que se acelera la convergencia del proceso de aprendizaje. Otras ocasiones la convergencia se acelera introduciendo un término en las ecuaciones de ajuste, llamado momentum, y que es proporcional al cambio de peso sufrido en la iteración anterior. La expresion (13) queda entonces en la forma: ∆wji(n) = η δj ai + α.∆wji(n-1) (14) El valor de α varía entre 0 y 1, pero comunmente se adopta un valor alrededor de 0.9 6. APLICACIONES POTENCIALES Los campos potenciales de aplicación de las Redes Neuronales se pueden agrupar en los siguientes rubros: 1. 2. 3. 4. 5. Diagnóstico Procesamiento de señales. Procesamiento y análisis de imágenes. Control automático y robótica. Análisis y generación de lenguaje natural. A continuación se discutirá brevemente la naturaleza de estas aplicaciones potenciales. Diagnóstico El diagnóstico es la identificación de la naturaleza y causas de una situación presente. La operación de diagnóstico es empleada en numerosos campos, tales como la planeación estratégica de organizaciones, la medicina, la ingeniería de servicio y mantenimiento, la economía, la sociología, las ciencias políticas, etc. En el diagnóstico se observan un conjunto de síntomas, que son valores de variables observables del sistema, los cuales se asocian con un conjunto de factores ambientales que actúan o han actuado sobre éste, para inferir el estado del sistema, así como una explicación causal del mismo. El diagnóstico de sistemas complejos se basa fundamentalmente en la experiencia de expertos, quienes a lo largo de su experiencia han aprendido a asociar ciertos síntomas e historia ambiental con determinados estados del sistema, sus causas y las acciones más adecuadas para mejorarlo. Aunque los Sistemas Expertos basados en reglas han sido aplicados con cierto éxito en muchas áreas del diagnóstico, para su elaboración se requiere una comprensión lógico causal del funcionamiento del sistema, la cual no se ha logrado aun en forma completa en muchos campos, incluidas algunas especialidades médicas, los análisis bursátiles, los diagnósticos económicos, sociales y políticos, etc De lo anterior resulta la conveniencia de utilizar Redes Neuronales que, basándose en ejemplos concretos y con la tutoría de un experto, aprendan a diagnosticar sistemas complejos, sin requerir el análisis lógico causal explícito que requerirían los Sistemas Expertos. Así, en el diagnóstico médico se ha desarrollado DESKNET (Yoon et al, 1989), que es una Red Neuronal basada en retropropagación que es capaz de diagnosticar 10 diferentes enfermedades de la piel, basándose en un conjunto de 18 síntomas y pruebas de laboratorio. Otra aplicación ha sido desarrollada por Apolloni et al (1990) para el diagnóstico de variedades de epilepsia. Para ello se empleó una red neuronal de retropropagación con 724 neurona de entrada, 30 neuronas ocultas y 31 neuronas de salida. En el diagnóstico de motores jet, Dietz, Kiech y Ali (1989) desarrollaron una Red Neuronal basada en retropropagación, utilizando un simulador de motores jet que proporcionaba datos de sensores asociados a diferentes fallas. La red entrenada fue capaz de diagnosticar el estado de motores con una alta precisión. También el diagnóstico de circuitos electrónicos ha sido un campo donde se han empleado con gran éxito las Redes Neuronales. Véase por ejemplo Jakubowicz & Ramanujam (1990) y Reeder & Koos (1990). En el campo financiero, las Redes Neuronales se han aplicado para evaluar solicitudes de préstamos hipotecarios, dando como salida una evaluación del riesgo de cada solicitud. Collins, Gosh y Scofield (1988) reportan un sistema de Redes Neuronales para este efecto que contiene 6000 neuronas configuradas en varias redes parciales que se enfocan en distintos aspectos de la solicitud. Los resultados han sido satisfactorios. Procesamiento de señales Un problema importante del procesamiento de señales es la recuperación de una señal analógica después de haber sido transmitida por un canal ruidoso o distorsionador. Para este problema se han desarrollado enfoques tradicionales basados en filtros y ecualizadores de canales y la aplicación de estimación estadística para conformar un estimado óptimo de la señal deseada. Sin embargo, la falta de conocimiento de parámetros estadísticos de la señal obstaculiza el uso de la teoría de la estimación. Una posible solución es la construcción de filtros adaptativos entrenados en instalaciones reales, que aprendan a dar como salida la señal deseada y basados en Redes Neuronales. Douglas Palmer de Hecht-Nielsen Neurocomputer Inc (Palmer 1987) comparó el filtrado resultante de una Red Neuronal multicapa con el de un filtro adaptativo lineal en una señal de electroencefalograma y los resultados de la red aparecían menos ruidosos que los del filtro. Otro problema importante es la predicción de series de tiempo. Alan Lapedes y Robert Farber han aplicado Redes Neuronales (Lapedes y Farber 1987) en forma de un perceptrón de varias capas para predecir el comportamiento de un sistema dinámico no lineal con comportamiento caótico descrito por la ecuación diferencial no lineal de GlassMackey, dando por resultado una mayor precisión en la predicción con Redes Neuronales que utilizando predictores polinomiales y el filtro adaptativo lineal de Widrow-Hoff. En este mismo sentido, se han aplicado Redes Neuronales para predecir el comportamiento de un mercado bursátil, asesorando adecuadamente sobre el mejor momento para comprar o vender acciones. El modelo tuvo un desempeño calificado como excelente. (Kimoto, Yoda et al. 1990). Odom y Sharda reportan también el empleo de Redes Neuronales para predecir la quiebra de una institución bancaria. (Odom & Sharda 1990). Procesamiento y análisis de imágenes El procesamiento de imágenes es un campo muy promisorio de aplicaciones de las Redes Neuronales, en donde la imagen digitalizada original o bien preprocesada se utiliza como entrada de una red, obteniéndose como salida una clasificación e identificación de la imagen o de segmentos de ella. Como procedimientos de preprocesamiento pueden utilizarse transformadas de Fourier, algoritmos de extracción de características especiales y otras técnicas. Entre las aplicaciones que se han desarrollado están la identificación de blancos militares camuflados (Ruck 1987), utilizando imágenes obtenidas mediante un radar laser y una red multicapas, obteniéndose una más alta efectividad de la solución neuronal (86.4%) de reconocimiento de tanques, en comparación con un clasificador estadístico (76.5%). Otras aplicaciones comprenden el diagnóstico radiológico a través del análisis de imágenes de radiografías. (Boone et al. 1990 y Kaufman et al. 1990), el reconocimiento de rostros humanos utilizando un perceptrón multicapas (Perry & Carbey 1990) y el reconocimiento de caracteres manuscritos. (Haruki & Hatano 1990 y Zhu et al. 1990). Problemas de procesamiento de imágenes para la industria también han sido resueltos mediante Redes Neuronales. Glover (1988) reseña aplicaciones en la clasificación de botellas, así como en el análisis de defectos para control de calidad. Control Automático y Robótica Un tema fundamental en Ingeniería de Control es diseñar un controlador que, con base en el estado presente de un sistema, determine el conjunto óptimo de señales que hagan que un sistema de actuadores lleve al sistema al estado deseado. Wang y Yeh han explorado el uso de Redes Neuronales para la construcción de controladores auto-adaptativos, caracterizados por su habilidad de aprender a partir de ejemplos, sin necesidad de modelar la planta a controlar. Estos controladores se distinguen por su adaptatividad dinámica ante cambios de la misma planta, así como por sus propiedades de robustez. (Wang & Yeh 1990) También se han aplicado Redes Neuronales para resolver el problema de asir un objeto dado mediante un brazo robótico inteligente.(Xu & Scherrer 1990,.Fukuda et al. 1990 y Hosogi 1990). Finalmente, se ha tenido éxito en el empleo de Redes Neuronales para la identificación de procesos variantes en el tiempo. (Haesloop & Holt 1990) así como para la identificación de sistemas no lineales. (Fernández, Parlos & Tsai 1990). Análisis y generación de lenguaje natural En cuanto a la aplicación de Redes Neuronales para el reconocimiento de lenguaje hablado, se está trabajando activamente para mejorar el reconocimiento de fonemas, haciéndolo independiente del hablante (Cole et al. 1990), así como su clasificación, introduciendo redes con retrasos. (Burr 1988, Waibel et al 1989, Kamm & Singhal 1990). Asimismo, se están empleando Redes Neuronales para analizar un vocablo hablado, identificando sus parámetros fonéticos, con el fin de asociarlo con la palabra escrita correspondiente, permitiendo su reconocimiento. (Sung & Jones 1990, Tom & Tenorio 1990). En lo que respecta a la generación de lenguaje, los trabajos más famosos son los de Terrence Sejnowsky y Charles Rosenberg (Sejnowsky & Rosenberg 1987) que introducen su sistema NETTALK como un sistema que aprende a leer en voz alta. A partir de NETTALK ha habido nuevas contribuciones en cuanto al mejor tipo de red neuronal a utilizar. (Kamimura 1990). 7. BIBLIOGRAFIA. Anderson, J A (1972). "A simple neural network generating an interactive memory". Mathematical Biosciences 14: 197-220. Apolloni, B et al. (1990). "Diagnosis of epilepsy via backpropagation". Proc.IJCNN International Joint Conference on Neural Networks.Washington DC. II: 571-578. Boone, J M et al. (1990). "Computer aided radiologic diagnosis using neural networks". Proc.IJCNN International Joint Conference on Neural Networks.Washington DC. II: 98101. Burr, D J. (1988). "Speech recognition experiments with perceptrons" in D Z Anderson (ed) Neural Information Processing Systems. New York: American Institute of Physics. Cole, R A et al (1990). "Speaker independent recognition of spoken english letters". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. II: 45-52. Collins, E, Ghosh, S & Scofield C (1988). "An application of a multiple neural network learning system to emulation of mortgage underwriting judgements". IEEE International Conference on Neural Networks, II: 459-466. Culbertson, J T (1956)."Some uneconomical robots" Automata Studies. Shannon, C E & McCarthy, (eds).Princeton: Princeton University Press. in J DARPA. (1988) Neural Network Study. Fairfax, VA: AFCEA Press. Dayhoff, J (1990). Neural Network Architectures: introduction. New York: Van Nostrand Reinhold. an Duda, R & Hart, P (1973). Pattern Classification and Scene Analysis. New York: Wiley Interscience. Farley, B & Clark, W A (1954). "Simulation of selforganizing systems by digital computer". IRE Transactions on Information Theory. 4: 76-84. Fernández, B, Parlos, A G & Tsai, W K (1990). "Nonlinear dynamic system identification using artificial neural networks". Proc.IJCNN International Joint Neural Networks. San Diego. II: 133-142. Conference on Fukuda, T et al. (1990). "Neural network application for robotic motion control, adaptation and learning". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. III: 447-451. Glover, D. (1988) "A hybrid optical fourier/electronic neurocomputer machine vision inspection system". Proc. Vision 1988 Conference. Dearborn, Michigan: Society of Manufacturing Engineers. Grossberg, S (ed) (1987). The Adaptive Brain (Vols I & II). New York: North Holland. Haeslop, D & Holt, B R. "Neural networks for process identification". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. III: 429-434. Haruki, K & Hatano, H (1990). "Pattern recognition of handwritten phonetic japanese alphabet characters". Proc.IJCNN International Joint Conference on Neural Networks.Washington DC. II: 515-518. Hebb, D O (1949). The Organization Neuropsychological Theory. New York: Wiley. of Behavior: a Hinton, G E & Sejnowsky T J (1986). "Learning and relearning in Boltzmann machines" in Rumelhart D E & McCleland J L (eds) Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Vol 1. Cambridge, MA: MIT Press, pp 282-317. Hopfield, J J (1982). "Neural networks and physical systems with emergent collective computational abilities". Proc. Natl. Acad. Sci. 79: 2554-2558. Hopfield, J J & Tank, D W (1985). "Neural Computation of Decisions in Optimization Problems". Biol. Cybernetics. 52: 141-152. Hosogi, S (1990). "Manipulator control using layered neural network model with self organizing mechanism". Proc.IJCNN International Joint Conference on Neural Networks.Washington DC. II: 217-220. Householder, A S & Landahl, H D (1945). "Mathematical Biophysics of the Central Nervous System". Mathematical Biophysics Monograph Principia Press. Series No.1. Bloomington, USA: Jakubowicz, O & Ramanujam, S. (1990). "A neural network model for fault diagnosis of digital circuits". Proc.IJCNN International Joint Conference on Neural Networks.Washington DC. II: 611-614. Kamimura, R (1990). "Application of temporal supervised learning algorithm to generation of natural language". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. I: 201-207. Kamm C A & Singhal, S. "Effect of neural network input span on phoneme classification". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. I: 195-200. Kaufman, J J et al. (1990). "Bone fracture healing assessment using a neural network". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. II: 53-58. Kimoto, T, Yoda, M et al. (1990). "Stock market prediction system with modular neural networks". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. I: 1-6. Kleene, S C (1956). "Representation of Events in Nerve Nets and Finite Automata" in Automata Studies. Shannon, C E & McCarthy, J (eds).Princeton: Princeton University Press. Kohonen, T (1972). "Correlation matriz memories". IEEE Trans. on Computers. C-21: 353-358. Kohonen, T (1982). "Self-organized formation of topologically correct feature maps". Biological Cybernetics 43: 50-69. Kohonen, T (1988). Self-Organization Memory. New York: Springer. Kosko, B (1987 memories". IEEE Trans. 18(1): 49-60. and a). "Bi-directional on Systems, Man and Associative associative Cybernetics. Kosko, B (1987 b). "Competitive adaptive bi-directional associative memories". Proc. IEEE First Int. Conference on Neural Networks. II: 759-766. Lapedes A & Farber R. (1987) "Nonlinear signal processing using neural networks". Proc. Conference on Neural Information Processing Synthetic, IEEE, November. Systems - Natural and McCulloch, W S & Pitts, W H (1943). "A Logical Calculus of the Ideas Immanent in Nervous Activity". Bulletin of Mathematical Biophysics, 5:115-133. Minsky, M & Pappert, S (1969). Perceptrons. Cambridge, MA: MIT Press. Odom, M D & Sharda, R (1990). "A neural network model for bankruptcy prediction". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. II: 163-168. Palmer, D. (1987). Removing random noise from ekg signals using a back propagation network. Informal paper from Hecht-Nielsen Neurocomputer Inc. Parker, D B (1982). Learning Logic, Invention Report S81-64, File 1, Office of Technology Licensing, Stanford University. Perry, J L & Carney, J M. (1990). "Human face recognition using a multilayer perceptron". Proc.IJCNN International Joint Conference on Neural Networks.Washington DC. II: 413-416. Ramón y Cajal, S (1911). Histologie du Système Nerveux. París: Maloine. Reeder, J R & Koos, L J (1990). "A neural network approach to electronic circuit diagnostics". Proc.IJCNN International Joint Conference on Neural Networks.Washington DC. II: 671-674. Rochester, N, Holland, J H, Haibt, L H & Duda, W L (1956). "Test on a cell assembly theory of the action of the brain, using a large digital computer". IRE Transactions on Information Theory. IT-2: 80-93. Rosenblatt, F (1958). "The Perceptron: a Probabilistic Model for Information Storage and Organization in the Brain". Psychological Review, 65, No.6: 386-408. Rosenblatt, F (1962). Washington: Spartan Books. Principles of Ruck, D W. (1987). Multisensor target classification. Ph D Thesis, Air Force Technology, Computer Science Dept. Neurodynamics. detection and Institute of Rumelhart, D E, Hinton, G E & Williams, R J (1986). "Learning internal representations by error propagation" in Rumelhart D E & McCleland J L (eds) Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Vol 1. Cambridge, MA: MIT Press, pp 318-362. Sejnowsky, T J & Rosenberg, C R (1987). "Parallel networks that learn to pronounce English text. Complex Systems 1: 145-168. Sung, C & Jones, W C (1990). "A speech recognition system featuring neural network processing of global lexical features". Proc.IJCNN International Joint Conference on Neural Networks.Washington DC. II: 437-440. Tom, M D & Tenorio, M F (1990). "Experiments with the spatio - temporal pattern recognition approach and the dynamic time warping approach to word recognition". Proc.IJCNN International Joint Conference on Neural Networks.Washington DC. II: 445-448. Von Neumann, J (1945) "First draft of a report on the EDVAC" , republicado en The Origins of Digital Computers: Selected Papers. Randall, B (ed). Berlín:Springer.1982 Von Neumann, J (1956). "Probabilistic Logics and the Synthesis of Reliable Organisms from Unreliable Components" in Automata Studies. Shannon, C E & McCarthy, J (eds).Princeton: Princeton University Press. Waibel, A et al. (1989). "Phoneme recognition using time delay neural networks". IEEE Trans. ASPP, 37: 328-339. Wang, S & Yeh, H M S. "Self adaptive neural architectures for control applications". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. III: 309-314. Wasserman, P D (1989). Neural Computing: theory and practice. New York: Van Nostrand Reinhold. Werbos, P J (1974). Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences, Ph.D. thesis, Harvard University, Cambridge, MA. Widrow, B & Hoff, M E (1960). "Adaptive switching circuits". 1960 IRE WESCON Convention Record, New York: IRE, 96-104. Xu, G & Scherrer H K. (1990). "Application of neural networks on robot grippers". Proc.IJCNN International Joint Conference on Neural Networks. San Diego. III: 337-342. Yoon, Y et al. (1989). "A desktop neural network for dermatology diagnosis". J. Neural Network Computing. 1: 4352. Zhu, X et al. (1990). "Feature detector and application to handwritten character recognition". Proc.IJCNN International Joint Conference on Neural Networks. Washington DC. II: 457-462.