Informática


Redes neuronales


1 Historia de las Redes Neuronales

Desde el principio de la humanidad se soñó con el desarrollo de máquinas que puedan imitar la capacidad de aprendizaje del hombre. Actualmente es un desafío en el que pone todas sus miradas una parte de la comunidad científica.

El hombre se ha caracterizado siempre, a lo largo de su existencia, por una búsqueda constante de nuevas vías para mejorar sus condiciones de vida. Estos esfuerzos le han servido para reducir el trabajo en aquellas operaciones en las que la fuerza juega un papel primordial. Los progresos obtenidos han permitido dirigir estos esfuerzos a otros campos, como por ejemplo, a la construcción de máquinas calculadoras que ayuden a resolver de forma automática y rápida determinadas operaciones que resultan tediosas cuando se realizan a mano. En la actualidad existen diversas maneras de realizar procesos similares a los inteligentes humanos, a los que podemos denominar Inteligencia Artificial (AI).

Estas máquinas, denominadas máquinas inteligentes, permiten implementar fácilmente algoritmos para resolver multitudes de problemas que antes resultaban engorrosos de solucionar. Sin embargo, se observa una limitación importante, que ocurre cuando el problema que se quiere resolver no admite un tratamiento algorítmico, como es el caso, de la clasificación de objetos por rasgos comunes. Este ejemplo demuestra que la construcción de nuevas máquinas más versátiles requieren un enfoque del problema desde otro punto de vista.

Los desarrollos actuales de los científicos se dirigen al estudio de las capacidades humanas, como una fuente de nuevas ideas para el diseño de dichas máquinas. Así, la inteligencia artificial es un intento por descubrir y describir aspectos de la inteligencia humana que pueden ser simulados mediante máquinas. Esta disciplina se ha desarrollado fuertemente en los últimos años, teniendo aplicación en algunos campos como visión artificial, demostración de teoremas, procesamiento de información expresada mediante lenguajes humanos... etc. Las redes neuronales son otra forma de emular otra de las característica propias de los humanos.

Partiendo que las redes neuronales se fundamentan en el sistema nervioso humano, deberíamos remontarnos a los tiempos de Galeno en los que ya se tenia un conocimiento considerables de este. Sin embrago, los verdaderos avances en neurología se produjeron a partir de la segunda mitad del siglo XIX. Investigadores ilustres de esta época son Jackson, Ramón y Cajal y Golgi entre otros.

Durante la Segunda Guerra Mundial, el gobierno de los Estados unidos construyó el ENIAC. Se trataba de una maquina capaz de calcular tablas de artillería. Era de los primeros ordenadores electrónicos (al unísono se crearon dos más en Alemania e Inglaterra para fines también bélicos) basado en tubos de vacío y desprovisto de partes móviles. Contenía 18.000 tubos y pesaba 30 toneladas. Era capaz de realizar 20.000 multiplicaciones por minuto, es decir, era mil veces más rápido que su antecesor de relés. En el preciso momento en el que se cambió la utilidad del ENIAC, en este caso, para objetivos no bélicos, salió a la luz un fallo de diseño. Redes neuronales

Imagen 1.1 Sala del ENIAC

Walter Pitts y Warren McCulloch intentaron explicar en 1943 el funcionamiento del cerebro humano, por medio de una red de células conectadas entre sí podían ejecutar operaciones lógicas. Partiendo del menor suceso psíquico (estimado por ellos): el impulso todo/nada, generado por una célula nerviosa. El bucle "sentidos - cerebro - músculos", mediante la retroalimentacion producirían una reacción positiva si los músculos reducen la diferencia entre una condición percibida por los sentidos y un estado físico impuesto por el cerebro. También definieron la memoria como un conjunto de ondas que reverberan en un circuito cerrado de neuronas. Actualmente, sabemos que las decisiones conscientes acerca de la verdad de las proposiciones lógicas se producen a un nivel más alto, y quizás participen en ellas millones de células cerebrales.

En 1949, el fisiólogo Donald Hebb expuso en su libro The Organitation of Behavior [HEBB49] la conocida regla de aprendizaje. Su propuesta tenia que ver con la conductividad de la sinapsis, es decir, con las conexiones entre neuronas. Hebb expuso que la repetida activación de una neurona por otra a través de una sinapsis determinada, aumenta su conductividad, y la hacía más propensa a ser activada sucesivamente, induciendo a la formación de un circuito de neuronas estrechamente conectadas entre sí.

Durante el verano de 1951, Minsky y Edmons montaron la primera máquina de redes neuronales, compuesta básicamente de 300 tubos de vacío y un piloto automático de un bombardero B-24 (en desuso por supuesto). Llamaron a su creación "Sharc", se trataba nada menos que de una red de 40 neuronas artificiales que imitaban el cerebro de una rata.

Cada neurona hacia el papel de una posición del laberinto y cuando se activaba daba a entender que la "rata" sabia en que punto del laberinto estaba. Las neuronas que estaban conectadas alrededor de la activada, hacían la función de alternativas que seguir por el cerebro, la activación de la siguiente neurona, es decir, la elección entre "derecha" o "izquierda" en este caso estaría dada por la fuerza de sus conexiones con la neurona activada. Por ejemplo, la "rata" completaba bien el recorrido eligiendo a partir de la quinta neurona la opción "izquierda" (que correspondería a la sexta), es entonces cuando las conexiones entre la quinta y sexta se hacen más fuertes (dicha conexión era realizada por el piloto automático), haciendo desde este momento más propensa esta decisión en un futuro. Pero las técnicas Skinnerianas (que eran las que se habían puesto en funcionamiento en esta red neuronal) no podrían llevar muy lejos a este nuevo engendro, la razón pasa porque esto, en sí, no es inteligencia, pues la red neuronal nunca llegaría a trazar un plan.

Imagen 1.2 Minsky, Marvin

Después de su Red Neuronal, Minsky escribió su tesis doctoral acerca de esta, en ella describía "cerebros mucho mayores", exponiendo que si se realizaba este proyecto a gran escala, con miles o millones de neuronas más y con diferentes sensores y tipos de retroalimentación…la máquina podría ser capaz de razonar, mas el sabia que la realización de esta Red Neuronal era imposible y decidió buscar otra forma de crear inteligencia.

En 1957, Frank Rosenblatt presentó al Perceptron, una red neuronal con aprendizaje supervisado cuya regla de aprendizaje era una modificación de la propuesta por Hebb. La verdad es que el Perceptron fue una buena idea, y es posible que los problemas que obtuvo fuesen provocados mas que nada por el exagerado entusiasmo de su creador. Más tarde, en 1969, Marvin Minsky y Seymour Paper escribieron un libro llamado Perceptrons [MINS69], en donde definían a estos como caminos sin salida. También es verdad que indagaron en ellos y sacaron conclusiones muy curiosas e interesantes, pero dado que ambos eran dos personalidades de peso en el mundo de la I.A., en cuanto se publicó el libro, todas las investigaciones a cerca de Perceptrones se paralizaron y anularon.

En los años 60 se propusieron otros dos modelos, también supervisados, basados en el Perceptron de Rosenblatt denominados Adaline y Madaline. En estos, la adaptación de los pesos se realiza teniendo en cuenta el error, calculado como la diferencia entre la salida deseada y la dada por la red, al igual que en el Perceptron. Sin embargo, la regla de aprendizaje empleada es distinta.

La era moderna de las redes neuronales artificiales surge con la técnica de aprendizaje de propagación hacia atrás o Backpropagation. En 1977, James Anderson desarrolló un modelo lineal, llamado Asociador Lineal, que consistía en unos elementos integradores lineales (neuronas) que sumaban sus entradas. En 1982 John Hopfield presentó un trabajo sobre redes neuronales en la Academia Nacional de las Ciencias; en el cual describe con claridad y rigor matemático una red a la que ha dado su nombre, que viene a ser un variación del Asociador Lineal. En este mismo año la empresa Fujitsu comenzó el desarrollo de computadores pensantes para aplicaciones en robótica.

En 1985, el Instituto Americano de Física comenzó la reunión anual Neural Networks for Computing. En 1987 la IEEE celebró su primera conferencia internacional sobre redes neuronales. En este mismo año se formó la International Neural Network Society (INNS) bajo la iniciativa y dirección de Grossberg en USA, Kohonen en Finlandia y Amari en Japón. En 1988, resultó la unión entre la IEEE y de la INNS que produjo la International Joint Conference on Neural Networks. Esta nueva organización realizó 430 artículos de los cuales 63 estaban enfocados a una aplicación. La alternativa europea fue la International Conference on Artificial Neural Networks que comenzó su andadura en septiembre de 1981, y actualmente está organizada por la Sociedad Europea de Redes Neuronales. También merece una referencia aparte la reunión anual Neural Information Processing Systems celebrada en Denver (Colorado) desde 1987, y que probablemente represente el nivel más alto de calidad desde el punto de vista científico.[PRJ98].

2 Generalidades

2.1 Qué entendemos por Red Neuronal Artificial ?

Las Redes Neuronales Artificiales (ANN) son sistemas paralelos para el procesamiento de la información, inspirados en el modo en el que las redes de neuronas biológicas del cerebro procesan esta. Es decir que se han intentado plasmar los aspectos esenciales de una neurona real a la hora de diseñar una neurona “artificial”. Estos modelos realizan una simplificación, averiguando cuales son los elementos relevantes del sistema, bien porque la cantidad de información de que dispone es excesiva o bien porque es redundante. Una elección adecuada de sus características, más una estructura conveniente, es el procedimiento convencional utilizado para construir redes capaces de realizar una determinada tarea.

Es de prever que dichas ANN tengan características similares a las del cerebro:

· Sean robustas y tolerantes a fallos

· Sean flexibles. El cerebro se adapta a nuevas circunstancias mediante el aprendizaje.

· Puedan trabajar con información borrosa, incompleta, probabilística, con ruido o inconsistente.

· Sean altamente paralelas. El cerebro está formado por muchas neuronas interconectadas entre si y es, precisamente el comportamiento colectivo de todas ellas, lo que caracteriza su forma de procesar la información.

El punto clave de las ANNs es la nueva estructuración de estos sistemas para el procesamiento de la información. A partir de esta información como ejemplo, las ANN aprenden. Aprender en sistemas biológicos involucra la modificación de la interconectividad entre las neuronas; este concepto también es cierto para las ANNs.

Los campos de aplicación de las ANNs crecen por momentos, por ejemplo, reconocimiento de patrones, clasificación de datos, predicciones,... Su ventaja más destacada es la de solucionar problemas que con las técnicas convencionales serían demasiado complejos.

Las redes neuronales, en su inicio eran una simulación de los sistemas nerviosos biológicos. De este modo una primera clasificación de los modelos de ANNs puede ser basándonos en su similitud con la realidad biológica: modelos de tipo biológico y aquellos dirigidos a aplicaciones.

2.1.1 Redes Neuronales de tipo Biológico

El cerebro humano contiene aproximadamente 12 billones de células nerviosas o neuronas. Cada neurona tiene de 5600 a 60000 conexiones dendríticas provenientes de otras neuronas mientras que en el sistema nervioso hay 1014 sinapsis; teniendo cada neurona más de 1000 a la entrada y a la salida. Es importante destacar que aunque el tiempo de conmutación de la neurona es casi un millón de veces menor que las computadoras actuales, ellas tienen una conectividad miles de veces superior que las actuales supercomputadoras.

La principal aplicación de estas redes, es el desarrollo de elementos sintéticos para verificar las hipótesis que conciernen a los sistemas biológicos.

Las neuronas y las conexiones entre ella, llamadas sinapsis, son la clave para el procesado de la información. Observar la imagen 2.1:

Redes neuronales

Imagen 2.1 Neurona Biológica

La mayoría de neuronas tienen una estructura parecida a la de un árbol llamadas dendritas que reciben las señales de entrada que vienen de otras neuronas a través de las sinapsis.

Una neurona consta de tres partes:

1. El cuerpo de la neurona

2. Ramas de extensión (dendritas) para recibir las entradas

3. Un axón que lleva la salida de una neurona a las dendritas de otras neuronas

Redes neuronales

Imagen 2.2 Red de Neuronas

La interacción entre dos neuronas no es del todo conocida pero el proceso del traspaso de información es modelado como una regla de propagación representada por la red u(.). Mientras que la neurona puede ser modelada como una simple función escalón f(.).

2.1.2 La Neurona Artificial

Si se tienen N neuronas, podemos ordenarlas arbitrariamente y designarlas como unidades. Su trabajo es simple y único, y consiste en recibir las entradas de las células vecinas y calcular un valor de salida, el cual es enviado a todas las células restantes.

Redes neuronales

Imagen 2.3 Neurona Artificial

Se conoce como capa o nivel a un conjunto de neuronas cuyas entradas provienen de la misma fuente (que puede ser otra capa de neuronas) y cuyas salidas se dirigen al mismo destino (que puede ser otra capa de neuronas). De esta manera podemos destacar tres tipos de unidades:

  • Las unidades de entrada reciben señales desde el entorno (son señales que proceden de sensores o de otros sectores del sistema).

  • Las unidades de salida envían la señal fuera del sistema (son señales que pueden controlar directamente potencias u otros sistemas). Las neuronas de las capas ocultas pueden estar interconectadas de distinta manera, lo que denomina, lo que determina con su número, las distintas tipologías de redes neuronales.

  • Las unidades ocultas son aquellas cuyas entradas y salidas se encuentran dentro del sistema (son señales que no tienen contacto con el exterior).

Imagen 2.4 Caracterización de un grupo de Neuronas

2.1.3 Conexiones Entre Neuronas

Las conexiones que unen a las neuronas que forman una red neuronal artificial, tienen asociado un peso, que es el que hace que la red adquiera conocimiento.

Consideremos yi como el valor de salida de una neurona i en un instante dado. Una neurona recibe un conjunto de señales que le dan información del estado de activación de todas las neuronas con las que se encuentra conectada. Cada conexión (sinapsis) entre la neurona i y la neurona j está ponderada por un peso wje. Normalmente, de forma simplificada, se considera que el efecto de cada señal es aditivo, de tal forma que la entrada neta que recibe una neurona (potencial postsináptico) netj es la suma del producto individual por el valor de la sinapsis que conecta ambas neuronas:

Redes neuronales

Esta regla muestra el procedimiento a seguir para combinar los valores de entrada a una unidad con los pesos de las conexiones que llegan a esa unidad y es conocida como regla de propagación.

2.1.4 Regla de Aprendizaje.

Al igual que el funcionamiento de una red depende del numero de neurones de las que disponga y de como estén conectadas entre si, cada modelo dispone de sus propias técnicas de aprendizaje. En el caso de las redes neuronales artificiales, se puede considerar que el conocimiento se encuentra en los pesos de las conexiones entre neuronas. Todo proceso de aprendizaje implica cierto número de cambios en estas conexiones. En realidad puede decirse que se aprende modificando los valores de los pesos de la red.

2.1.5 Redes Neuronales para aplicaciones concretas

Debido a que el conocimiento sobre el sistema nervioso en general no es completo se han de definir otras estructuras y funcionalidades distintas a las vistas en las de tipo biológico. Estas son sus principales características:

· Auto-organización y Adaptatividad. Ofrecen procesos robustos y adaptativos ya que utilizan algoritmos de autoaprendizaje y autoorganización.

· Procesado no lineal. Proporciona una gran capacidad de aproximar, clasificar y inmunidad frente al ruido.

· Procesador paralelo. Se usan un gran número de células con un alto nivel de interconectividad.

Los campos de aplicación son el procesado de señal y el de imagen.

2.2 Fases en la aplicación de Redes Neuronales

Las aplicaciones del mundo real deben cumplir dos tipos diferentes de requisitos en el procesado, por eso, podemos distinguir dos fases: fase la de aprendizaje o entrenamiento y la fase de prueba.

En la fase de entrenamiento se trata de determinar los pesos usando un conjunto de datos para definir el modelo neuronal. Una vez entrenado este modelo en la fase de prueba, se procesarán los patrones que constituyen la entrada habitual de la red, analizando así las prestaciones finales de la red.

· Fase de prueba. Los parámetros de diseño de la red neuronal se han obtenido unos patrones representativos de las entradas, a los que denominamos patrones de entrenamiento.

Según el tipo de red, y en función de las ecuaciones dinámicas de prueba, los resultados pueden ser calculados de una vez o adaptados iterativamente. Para validar el diseño, una vez calculados los pesos, se comparan los valores de las neuronas de la última capa con la salida deseada.

· Fase de aprendizaje. Una característica básica de las ANNs es su capacidad de aprender. Aprenden por su actualización o cambio de los pesos sinápticos que caracterizan a las conexiones. Los pesos se adaptan de acuerdo a la información extraída de los patrones de entrenamiento nuevos que se van presentando.

Según el tipo de entrenamiento, una posible clasificación de las ANNs es:

Redes Neuronales

FIJO

NO SUPERVISADO

SUPERVISADO

Red de Hamming

Perceptrón

Red de Hopfield

Mapa de Características

Basadas en Decisión

Aprendizaje Competitivo

ADALINE (LMS)

Perceptrón Multicapa

Modelos Temporales Dinámicos

Modelos Ocultos de Markov

3 Estructura de las Redes Neuronales Artificiales

Los aspectos más característicos de las estructuras de redes son: la estructura de conexión, el tamaño de la red y la elección entre ACON y OCON.

3.1 Estructuras de conexión

Una red neuronal se determina por la neurona y la matriz de pesos. El comportamiento de la red depende en gran medida del comportamiento de la matriz de pesos. Existen tres tipos de capas de neuronas: la de entrada, la de salida y las ocultas. Entre dos capas de neuronas existe una red de pesos de conexión, que puede ser de los siguientes tipos:

- Conexión hacia delante: es la de red de Conexión en la cual, los datos de las neuronas de una capa inferior son propagados hacia las neuronas de la capa superior.

- Conexión hacia atrás: esta Conexión realiza la operación inversa a la Conexión hacia delante, es decir, los datos de las neuronas de una capa superior son llevados a otra de capa inferior.

- Conexión lateral: un ejemplo típico de este tipo de Conexión es “el ganador toma todo”, que cumple un papel importante en la elección del ganador.

- Conexión de retardo: es la conexión en la cual se le incorporan unos elementos de retardo para implementar modelos dinámicos y temporales, es decir, modelos que precisa memoria.

Puede darse el caso que las redes sean de una capa, y su modelo de pesos sea hacia atrás o bien multicapa hacia delante. Como también es posible, conectar varias redes de una sola capa para dar lugar a redes más grandes.

3.2 Tamaño de las redes

El tamaño de las redes depende del número de capas y del número de neurona ocultas por capas.

Para conocer el número de capas de neuronas, a menudo se cuenta a partir del número de capas de pesos, debido a que en una red multicapa existen una o más capas de neuronas ocultas.

El número de neuronas ocultas está directamente relacionado con las capacidades de la red, debido a que un comportamiento correcto de la red viene determinado por el número de neuronas de la capa oculta.

Elección entre ACON y OCON

Típicamente, cada nodo de salida se usa para representar una clase.

La elección entre una arquitectura “All-Class-in-One-Network” (ACON) o “One-Class-in-One-Network” (OCON), depende de las necesidades de nuestra aplicación, debido a que cada arquitectura posee diferentes características. La aproximación ACON se caracteriza por tener todas las clases reconocidas dentro de una super red, en cambio, la aproximación OCON se caracteriza por tener una subred para cada salida. En algunos casos es ventajoso descomponer la super red de ACON en varias subredes más pequeñas. Por ejemplo, una red de 36 salidas se puede descomponer en 12 subredes, cada una responsable de tres salidas.

Las dos estructuras difieren claramente en tamaño y rapidez. Aunque el número de subredes en la estructura OCON es relativamente largo, cada subred individual tiene un tamaño menor que la red ACON. Esto se puede explicar con las figuras 3.1 y 3.2 de la página siguiente:

Imagen 3.1 e Imagen 3.2 Redes Supervisadas i No Supervisadas

La conclusión a la que se llega, es que la estructura OCON parece ser que aventaja a la ACON en la rapidez de reconocimiento y entrenamiento, cuando el número de clases es grande.

4 Tipos de modelos de Redes Neuronales

4.1 Métodos de aprendizaje. Clasificación general.

La clasificación general sería la siguiente:

  • Aprendizaje Supervisado.

  • Basadas en la decisión.

  • De Aproximación/Optimización.

  • Aprendizaje No Supervisado.

  • Entrenamiento Competitivo.

  • Redes asociativas de pesos fijos.

  • Todos estos métodos de aprendizaje, necesitan unas reglas de entrenamiento específicas para cada uno de ellos. Ahora pasaremos a comentar los diferentes tipos de entrenamiento.

    4.2 Aprendizaje supervisado.

    En el aprendizaje supervisado (aprender con un maestro), la adaptación sucede cuando el sistema compara directamente la salida que proporciona la red con la salida que se desearía obtener de dicha red.

    Existen tres tipos básicos: por corrección de error, por refuerzo y estocástico.

    En el aprendizaje por corrección de error el entrenamiento consiste en presentar al sistema un conjunto de pares de datos, representando la entrada y la salida deseada para dicha entrada (este conjunto recibe el nombre de conjunto de entrenamiento). El objetivo es minimizar el error entre la salida deseada y la salida que se obtiene.

    El aprendizaje por refuerzo es más lento que el anterior. No se dispone de un ejemplo completo del comportamiento deseado pues no se conoce la salida deseada exacta para cada entrada sino que se conoce el comportamiento de manera general para diferentes entradas. La relación entrada-salida se realiza a través de un proceso de éxito o fracaso, produciendo este una señal de refuerzo que mide el buen funcionamiento del sistema. La función del supervisor es más la de un crítico que la de un maestro.

    El aprendizaje estocástico consiste básicamente en realizar cambios aleatorios de los valores de los pesos y evaluar su efecto a partir del objetivo deseado.

    4.2.1 Reglas de entrenamiento Supervisado.

    Las redes de entrenamiento supervisado han sido los modelos de redes más desarrolladas desde inicios de los diseños de redes. Los datos para el entrenamiento están constituidos por varios pares de patrones de entrenamiento de entrada y de salida. El hecho de conocer la salida implica que el entrenamiento se beneficia de la supervisión de un maestro. Dado un nuevo patrón de entrenamiento, por ejemplo, (m+1)- ésimo, los pesos serán adaptados de la siguiente forma:

    Redes neuronales

    Se puede ver un diagrama esquemático de un sistema de entrenamiento Supervisado en la siguiente figura:

    Redes neuronales

    Imagen 4.1 Entrenamiento Supervisado

    4.2.2 Aprendizaje supervisado basado en la Decisión.

    En la regla de entrenamiento basada en la decisión, se actualizan los pesos sólo cuando se produce un error en la clasificación. Esta regla de entrenamiento es localizada y distributiva, además comprende el aprendizaje reforzado y la subred correspondiente a la clase correcta y el entrenamiento antirreforzado en la subred ganadora.

    Puesto que el límite de decisión depende de la función discriminante Redes neuronales
    , es natural ajustar el límite de decisión ajustando el vector de los pesos w tanto en la dirección del gradiente de la función discriminante (es decir, entrenamiento reforzado) o en la dirección contraria (entrenamiento antirreforzado), más adelante definiremos estos tipos de entrenamiento.

    Redes neuronales

    donde Redes neuronales
    es una tasa de entrenamiento positiva.

    El vector gradiente de la función  con respecto a w se denota:

    Redes neuronales

    4.2.2.1 Regla de entrenamiento basada en la decisión.

    Supongamos que Redes neuronales
    es un conjunto de patrones de entrenamiento, cada uno corresponde a una de las L clases Redes neuronales
    . Cada clase se modela por una subred con función discriminante, digamos, Redes neuronales
    . Supongamos que el patrón de entrenamiento m-ésimo Redes neuronales
    se sabe que pertenece a la clase Redes neuronales
    y

    Redes neuronales

    Esto es, la clase ganadora para el patrón es la clase (subred) j-ésima.

  • Cuando j=1, entonces el patrón Redes neuronales
    es clasificado correctamente y no se necesita ninguna actualización.

  • Cuando Redes neuronales
    , esto es, Redes neuronales
    es mal clasificado, entonces se realiza lo siguiente:

  • Entrenamiento reforzado: Redes neuronales

    Entrenamiento antirreforzado: Redes neuronales

    En la regla de entrenamiento reforzado, el vector de pesos w se mueve a lo largo de la dirección positiva del gradiente, así que la función del valor discriminante aumentará, aumentando la posibilidad de la selección del futuro patrón. El entrenamiento antirreforzado mueve w a lo largo de la dirección negativa del gradiente, así que el valor de la función discriminante disminuirá, disminuyendo así la posibilidad de su futura elección.

    Redes neuronales

    Entonces el gradiente en la fórmula de actualización, es simplemente

    Redes neuronales

    Que nos lleva a la regla del perceptrón lineal.

    Función de base lineal. Una función discriminante RBF es una función de radio entre el patrón y el centroide, Redes neuronales
    :

    Redes neuronales

    Se usa para cada subred l. Así que el centroide Redes neuronales
    más cercano al patrón actual es el ganador. Al aplicar la fórmula del entrenamiento basado en la decisión a la última ecuación y notando que Redes neuronales
    , las siguiente reglas de entrenamiento se pueden derivar:

    Entrenamiento reforzado: Redes neuronales

    Entrenamiento antirreforzado: Redes neuronales

    Función de Base Elíptica. La versión básica de RBF de las DBNN (Redes Neurales Basadas en la Decisión) discutidas anteriormente se basa en asumir que el espacio de características es uniformemente normalizado en todas direcciones. En la práctica, de todas formas, distintas características pueden tener distintos grados de importancia dependiendo en el modo que sean medidos. Esto lleva a la adopción de funciones discriminantes elípticas más versátiles. En la práctica y para la mayoría de las aplicaciones, la función discriminante EBF se convierte en:

    Redes neuronales

    4.2.2.2 Estructura jerárquica DBNN.

    Si una subred se modela como una red de una sola capa, esta red será inadecuada en general para tratar con límites de decisión complejos. Para obtener una flexibilidad máxima para tratar con límites de decisión no lineales, se utiliza una estructura jerárquica DBNN. La DBNN se caracteriza por su función de base, así como por la estructura jerárquica. La DBNN combina la regla de aprendizaje del perceptrón y la estructura jerárquica.

    La función de base. Para dar consciencia al esquema de índices de la estructura jerárquica, etiquetamos el nivel de subred por el índice l y la etiqueta del nivel de subnodo por el índice Redes neuronales
    . De una forma más elaborada, la función discriminante para la subred l se denota por Redes neuronales
    . Para el nivel más bajo, la función discriminante para el subnodo l se denota por Redes neuronales
    donde el entero Redes neuronales
    , y Redes neuronales
    denota el número de subnodos de la subred l.

    Las funciones de base más comunes, para los subnodos incluyen unas funciones de base lineales LBF's (Linear Basis Functions), funciones de base radiales RBF (Radial Basis Functions), y funciones de base elípticas EBF (Elliptic Basis Function).

    Hay diferentes estructuras como son:

    - Nodo Oculto DBNNs

    Una aproximación sencilla es la estructura de nodo oculto dibujada en la figura. En la estructura de nodo oculto, la función discriminante no lineal se modela por una suma de varios nodos ocultos. Por ejemplo, un modelo de dos capas se puede representar cada subred. En este caso, una subred consiste en múltiples nodos ocultos, cada uno representado por una función Redes neuronales
    . La función discriminante de la subred es una combinación lineal de los valores de los subnodos. La función discriminante de este tipo, con la apropiada función de base, puede aproximar cualquier función. Esto permite que la estructura adquiera una potencia de aproximación universal para acomodar casi cualquier límite de decisión complejo.

    -Subcluster DBNNs.

    Constituyen una alternativa a usar la suma escalada de los pesos de los nodos en la estructura de los nodos ocultos. Esta nueva alternativa usa la aproximación de “el ganador se lleva todo” (winner-take-all). Esto es, sólo el peso superior más representativo tiene un peso de l y todos los demás tienen peso cero.

    Para la estructura jerárquica del subcluster, introducimos las nociones del ganador local y ganador absoluto. El ganador local es el ganador de entre los subnodos dentro de la misma subred. El ganador local de la subred l está indexada por Redes neuronales
    , esto es

    Redes neuronales

    Un patrón se clasifica dentro de la clase j-ésima si la subred j-ésima es la ganadora absoluta.

    -Algoritmo:

    Supongamos que varios subclasificadores se usan para representar una clase con Redes neuronales
    , etc, representando los ganadores locales. Supongamos que el patron Redes neuronales
    debe pertenecer a la clase Redes neuronales
    , pero la subred j-ésima se selecciona como la ganadora absoluta. Cuando Redes neuronales
    , esto es Redes neuronales
    se clasifica mal, entonces se actualiza lo siguiente:

    Aprendizaje reforzado: Redes neuronales
    Redes neuronales

    Aprendizaje no reforzado: Redes neuronales

    En otras palabras, el aprendizaje antirreforzado se aplica al subclasificado que gana localmente dentro de la subred que gana de manera absoluta; y el aprendizaje reforzado se aplica al ganador local dentro de la clase ganadora. Esto es, estas estructuras jerárquicas se pueden acomodar para clasificar límites de decisión complejos, actualizándose únicamente los sublasificadores seleccionados en las subredes.

    Imagen 4.2 Subcluster DBNNs

    4.2.3 Redes Neuronales de Aproximación/Optimización.

    La formulación basadas en la aproximación se pueden ver como una aproximación/regresión para el conjunto de datos entrenados. Los datos para el entrenamiento se dan en pares de entrada/maestro, que denotaremos por Redes neuronales
    , donde M es el número de patrones de entrenamiento. Los valores deseados en los nodos de salida correspondientes a los patrones de entrada Redes neuronales
    los llamaremos maestros. El objetivo del entrenamiento de la red es encontrar los pesos óptimos para minimizar el error entre los valores del maestro y las salidas de respuesta actual. Un criterio popular es minimizar los errores cuadráticos medios entre el maestro y la salida actual. Para adquirir una capacidad de aproximación no lineal, se usan frecuentemente las redes multicapa, junto con el algoritmo de Backpropagation.

    La función que representa el modelo es función de las entradas y de los pesos: Redes neuronales
    , si asumimos que hay una única salida. En la formulación básica del modelo de aproximación, el procedimiento implica el encontrar los pesos que minimizan el error cuadrático medio (least-squares-error) LMS como función de energía: Redes neuronales
    . El vector de pesos w se puede adaptar para ir minimizando la función de energía a lo largo de la dirección de descenso del gradiente:

    Redes neuronales

    En la fase de prueba, la célula que gana a la salida es la célula que da la máxima respuesta al patrón de entrada.

    4.3 Modelos No Supervisados

    La capacidad de clasificación de la red neuronal depende del valor de los pesos sinápticos, que pueden ser preestablecidos o entrenados adaptativamente mediante mecanismos de aprendizaje.

    Una clase de modelos de entrenamiento no supervisado son las redes de pesos fijos. Un ejemplo son las redes de Memoria Asociativa, que se usan para obtener patrones originales libres de ruido a partir de señales incompletas o distorsionadas. La principal característica de las redes asociativas de pesos fijos es que sus pesos son preestablecidos y precalculados.

    Los modelos de pesos fijos tienen aplicaciones limitadas ya que no se pueden adaptar a “ambientes cambiantes”. Hay otra variedad de redes no supervisadas, llamadas Redes de Aprendizaje Competitivo, cuyos pesos se adaptan de acuerdo con reglas de aprendizaje no supervisadas. Estas redes, pueden aprender en ausencia de un maestro, como ya hemos mencionado anteriormente. En otras palabras, el entrenamiento se basa únicamente en la información de los patrones de entrada, no necesitan la supervisión de un maestro a la salida. La clase de las redes de aprendizaje competitivo se compone, por ejemplo, de Red de autoorganización.

    4.3.1 Reglas de entrenamiento No Supervisado.

    Para los modelos de entrenamiento No Supervisado, el conjunto de datos de entrenamiento consiste sólo en los patrones de entrada. Por lo tanto, la red es entrenada sin el beneficio de un maestro. La red aprende a adaptarse basada en las experiencias recogidas de los patrones de entrenamiento anteriores. Este es un esquema típico de un sistema No Supervisado:

    Redes neuronales

    Imagen 4.3 Entrenamiento no Supervisado

    Ejemplos típicos son La Regla de Aprendizaje de Hebb, y la Regla de Aprendizaje Competitiva.

    4.3.2 Aprendizaje competitivo.

    Una red básica de aprendizaje competitivo tiene una capa de neuronas de entrada y una capa de neuronas de salida. Un patrón de entrada x es un simple punto en el espacio real o binario de vectores n-dimensional. Los valores binarios (0 o 1) de representación local son más usados en los nodos de salida. Esto es, hay tantas neuronas de salida como números de clases y cada nodo de salida representa una categoría de patrones.

    Una red de aprendizaje competitivo está formada por una(s) red(es) excitadora hacia delante y la(s) red(es) inhibidora(s) lateral(es). La red hacia delante normalmente implementa una regla de excitación de aprendizaje de Hebb. Esta regla consiste en que cuando una neurona participa constantemente en activar una neurona de salida, la influencia de la neurona de entrada es aumentada. La red lateral es inhibidora por naturaleza. Esta red realiza la misión de seleccionar el ganador, normalmente por medio de un método de aprendizaje competitivo, de entre los que podemos reseñar el esquema de winner-take-all. En un circuito “winner-take-all”, la neurona de salida que da el valor más alto se le asigna el valor total (por ejemplo 1), mientras que a las demás se le da un valor de 0. El circuito de “winner-take-all” se implementa por una red (digital o analógica). Otro ejemplo de una red lateral son los mapas de Kohonen. Se deja que las neuronas de salida interactuen por medio de la red lateral, con lo que el modelo se puede entrenar para guardar cierto orden topológico.

    Los procedimientos de clasificación no supervisados se basan a menudo en algunas técnicas de clasificación, que forman grupos de patrones parecidos. Esta técnica de clasificación es muy útil para la clasificación. Además, juega un papel muy importante en las redes de aprendizaje competitivo. Para un procedimiento de clasificación, es necesario definir una distancia o medida de similaridad, para evaluar el grado de semejanza de los patrones. Algunas de estas distancias están en la siguiente lista, y entre ellas la más común es la distancia euclidea.

  • Producto interno:

  • Redes neuronales

  • Distancia Euclidea con Pesos:

  • Redes neuronales

    Redes de aprendizaje competitivo básicas.

    Sin la supervisión de ningún maestro, las redes no supervisadas adaptan los pesos y verifican los resultados únicamente a partir de los patrones de entrada. Un esquema que se usa mucho para la adaptación de los pesos es la regla de aprendizaje competitivo, que hace que las células compitan por el derecho a responder por ellas mismas por un determinado tipo de entrada. Esto se puede ver como un sistema muy sofisticado de clasificación, cuyo objetivo es dividir un conjunto de patrones de entrada en un número de clases, tal que los patrones de entrada en un número de clases tal que los patrones de la misma clase exhiben un cierto grado de similaridad. Las reglas de entrenamiento suelen ser la regla de Hebb para la red de propagación y la regla de “winner-take-all” (WTA) para la red lateral.

    Modelo básico de Aprendizaje.

    Un sistema de este tipo consiste en redes laterales y de propagación hacia delante con un número fijo de nodos de salida, esto es, un número fijo de clases. Los nodos de entrada y salida tienen valores binarios únicamente. Cuando y sólo cuando los dos, la entrada ith y la salida jth están activadasRedes neuronales
    ; de otra forma Redes neuronales
    . Dado el valor de los pesos sinápticos i con la salida j, wij, y el estímulo k-th, una posible regla de aprendizaje es:

    Redes neuronales

    donde g es una pequeña constante, Redes neuronales
    es el número de unidades de entradas activas del patrón k, Redes neuronales
    si la señal de entrada i es alta para el patrón k-th y en otro caso Redes neuronales
    .

    Reglas de entrenamiento basadas en pesos normalizados.

    Con el fin de asegurar un ambiente de competición equitativo, las sumas de todos los pesos que van a dar las neuronas de salida deben estar normalizados. Si los pesos conectados a un nodo de salida j son Redes neuronales
    , entonces Redes neuronales

    Redes neuronales

    Entonces, si una unidad gana la competición, cada una de sus líneas de entrada cede una proporción g de su peso, y la l distribuye igualmente entre las líneas de entrada activas.

    Una característica importante de esta regla de entrenamiento es que la normalización es incorporada en el momento de la actualización, de forma que la suma de los pesos sinápticos a cualquier salida es 1.

    Reglas de aprendizaje para “Leaky Learning” (aprendizaje débil).

    Con el fin de preveer la existencia de neuronas que no aprenden en totalidad, se usa el aprendizaje débil. Puesto que una neurona sólo aprende si gana en algún momento, es posible que una célula nunca gane, y por lo tanto nunca aprenda. Una forma de solucionar este problema es que todos los pesos de la red intervengan en el entrenamiento con distintos niveles de aprendizaje. Esto se practica en la siguiente regla de aprendizaje débil:

    Redes neuronales

    En esta regla el parámetro Redes neuronales
    es unas órdenes de magnitud más pequeño que Redes neuronales
    . Por lo tanto, las neuronas que pierden en la competición sufren un aprendizaje menor que las neuronas ganadoras. Este cambio tiene la propiedad de que las neuronas perdedoras se van desplazando hacia la región donde yace el estímulo actual, donde empiezan a capturar algunas unidades, superando a las técnicas dinámicas convencionales.

    5 Modelos de Redes Neuronales

    5.1 Modelos supervisados

    5.1.1 Perceptron

    Un Perceptrón unicapa no es más que un conjunto de neuronas no unidas entre sí, de manera que cada una de las entradas del sistema se conectan a cada neurona, produciendo cada una de ellas su salida individual: Un Perceptrón unicapa no es más que un conjunto de neuronas no unidas entre sí, de manera que cada una de las entradas del sistema se conectan a cada neurona, produciendo cada una de ellas su salida individual:

    Redes neuronales

    Imagen 5.1 Modelo de Perceptron

    Como ya hemos dicho, un conjunto de neuronas no sirve para nada si previamente no le enseñamos qué debe hacer. en el Perceptrón podemos utilizar los metodos que conocemos: Supervisado, Por Refuerzo y No Supervisado.

    En el Aprendizaje Supervisado se presentan al Perceptrón unas entradas con las correspondientes salidas que queremos que aprenda. De esta manera la red primeramente calcula la salida que da ella para esas entradas y luego, conociendo el error que está cometiendo, ajusta sus pesos proporcionalmente al error que ha cometido (si la diferencia entre salida calculada y salida deseada es nula, no se varían los pesos).

    En el Aprendizaje No Supervisado, solo se presentan al Perceptrón las entradas y, para esas entradas, la red debe dar una salida parecida.

    En el Aprendizaje Por Refuerzo se combinan los dos anteriores, y de cuando en

    cuando se presenta a la red una valoración global de como lo está haciendo.

    5.1.2 El Perceptrón multicapa

    Esta estructura nació con la intención de dar solución a las limitaciones del Perceptrón clásico o unicapa, y supuso el resurgimiento del movimiento conexionista. Como su nombre indica, se trata de un unos cuantos (dos o tres) perceptrones unicapa conectados en cascada, como en la imagen 5.2.

    El problema de este tipo de Perceptrón está en su entrenamiento, ya que es difícil modificar correctamente los pesos de la capa oculta (la capa 1 en el ejemplo anterior). Para poder hacer aprender cosas a un Perceptrón de este tipo, se implementó el algoritmo de BackPropagation, que tal como su nombre indica tiene la función de ir propagando los errores producidos en la capa de salida hacia atrás.

    Redes neuronales

    Imagen 5.2 Modelo de Perceptrón Multicapa

    Capacidad representacional

    Redes con alimentación hacia delante (no recurrentes) y sin capas ocultas (Rosenblatt) Cada unidad de salida es independiente de las otras ya que cada peso afecta sólo a una salida. Se puede construir cualquier multi-perceptron a partir de perceptrones de una salida Pueden representar funciones booleanas complejas. Ej: una función que detecta si más de la mitad de sus n entradas están a 1, se representan con un perceptron con todos los pesos a 1 y Sólo pueden representar funciones linealmente separables .

    Un ejemplo práctico de un Perceptrón multicapa podría ser su uso en visión artificial. Dada su capacidad para generalizar, las redes neuronales ya han demostrado su importáncia en este campo. El unico problema és la lentitud que tiene para aprender.

    5.1.3 Adaline y Madaline

    Este es otro de los modelos pioneros de las ANNs i el mas simple a la hora de aproximar. se basa en el criterio del error cuadràtico médio line i fué introducido por Widrow. ADALINE sigue siendo de una sola capa como el perceptron, con la unica diferència de la función de transferencia lineal (imagen 5.3)

    El método de entrenamiento que adopta este modelo és el de adaaptación a los datos i se basa en el algoritmo de descenso del gradiente.

    Imagen 5.3 Función de transferéncia lineal

    5.1.4 Backpropagation

    El aprendizaje con redes de neuronas se realiza actualmente siguiendo el enfoque de la Retropropagación de Gradiente Backpropagation y el de los algoritmos constructivos. El primero necesita introducir a priori el número y conexiones de las unidades ocultas, y determinar los pesos por minimización de un costo. La red así obtenida es eventualmente simplificada eliminando unidades y/o conexiones que parecen inútiles.

    El principal defecto de este enfoque consiste en la búsqueda de la mejor arquitectura a través de prueba y error. Por otra parte, con un enfoque constructivo se aprende al mismo tiempo el número de unidades y pesos, en el marco de una arquitectura que comienza generalmente con un perceptron. La característica de estos algoritmos es que construyen una RN adaptada a cada problema particular, usando la información contenida en el conjunto de aprendizaje y evitando rediseñar la arquitectura. El primer algoritmo constructivo fue el algoritmo Tiling, de ahí surgieron Cascade Correlation, el algoritmo Upstart, Offset y GAL entre otros. Monoplan y NetLines son dos algoritmos recientemente introducidos por el autor. De aquí en adelante, nuestra discusión será basada únicamente en los métodos constructivos.

    Una vez construida la red, ésta debe ser capaz de predecir la clase de datos nuevos que no estén presentes en el conjunto de aprendizaje. La calidad del algoritmo de aprendizaje se traduce en la capacidad de predicción de la RN. Esta calidad se mide a través del error de generalización, que es la proporción de clasificaciones correctas realizadas por la red sobre nuevos datos. Esta cantidad se mide empíricamente sobre una serie de problemas estándar (benchmarks) que sirven de prueba.

    5.1.5 Otros Modelos

    Dentro de los supervisados encontramos diversos modelos como los descritos brevemente a continuación:

    Time Delay NN: Red multicapa feddforward donde las salidas de cada capa estan retenidas durante un tiempo, conectandose todas a la vez a la siguiente capa. La aplicación donde más se encuentran estas redes es en las tascas de reconociemeto optico.

    Probabilistic NN: Red de tres capas, que en su forma standar no entrena. El aprendizaje se realiza similar a la red de Hamming. Su mayor ventaja és que no necesita entrenamiento i la mayor desventaja que sus matrices son muy largas.

    Generalized Regresion NN: Red que por lo general no necesita un entrenamiento iterativo , se utiliza en problemas de clasificación o estimación de variables continuas.

    5.2 Modelo No Supervisado

    5.2.1 Redes de Hopfield

    El modelo Hopfiel consiste de una red monocapa con N neuronas cuyos valores de salida son binarios 0/1 ó -1/+1. En la versión original del modelo Discrete Hopfield, las funciones de activación de las neuronas eran del tipo escalón. Se trataba, por lo tanto, de una red discreta con entradas y salidas binarias; sin embargo, posteriormente Hopfield desarrolló una versión continua con entradas y salidas analógicas utilizando neurnas de activación tipo sigmiodal.

    Una de las características del modelo de Hopfield, es que se trata de una red auto-asociativa. Así como, varios patrones diferentes pueden ser almacenados en la red, como si se tratase de una memoria, durante la etapa de aprendizaje. Posteriormente, si se presenta a la entrada alguna de las informaciones almacenadas, la red evoluciona hasta estabilizarse, ofreciendo entonces en la salida la información almacenada, que coincide con la presentada en la entrada. Si , por el contrario, la información de entrada no coincide con ninguna de las almacenadas, por estar distorsionada o incompleta, la red evoluciona generando como salida la mas parecida.

    El funcionamiento de la red Hopfield se puede expresar en dos pasos:

    En el instante inicial se aplica la información de entrada, la salida de las neuronas coincide con la información aplicada a la entrada.

    La red realiza iteraciones hasta alcanzar la convergencia (hasta que Si(t+1) sea igual a Si(t)).

    Si(t+1)=f ( ? Wji Sj(t) - ?i ) 1 < i < n

    Donde f es la función de transferencia (activación) de las neuronas de la red. En el caso del modelo continuo existen dos funciones de activación de tipo sigmoidal. Si se trabaja con valores entre -1 y +1, la función que se utiliza es la tangente hiperbólica.

    f (x-?i ) = tgh ( ? ( x-?i ) )

    Si el rango es entre 0 y 1, se utiliza la misma función que para la red Backpropagation.

    f (x-?i ) = 1/(1+ e-?(x-?i))

    En ambos casos, ?es un parámetro que determina la pendiente de la función sigmoidal.

    El proceso se repite hasta que las salidas de las neuronas permanecen si cambios durante algunas iteraciones. En ese instante, la salida representa la información almacenada por la red que mas se parece a la información presentada en la red.

    La red Hopfield continua ofrece mas posibilidades que la discreta, ya que permite almacenar patrones formados por valores reales (por ejemplo, imágenes en color o en blanco y negro con diferentes tonalidades de gris) y además facilita la resolución de determinados problemas generales de optimización.

    Por ejemplo, el problema del vendedor viajero, la bipartición de grafos, el problema del emparejamiento ponderado, en todos los casos se reduce el tiempo de resolución.

    En el caso de un reconocimiento de imágenes en una red Hopfield discreta seria mas difícil trabajar con imágenes con tonos de grises o a colores, siendo que para una red Hopfield continua es mas sencillo .

    5.2.2 Los mapas de Kohonen

    Dentro de las RNA se pueden crear dos grandes grupos en función del tipo de supervisión de su aprendizaje. Si la red recibe información sobre si su funcionamiento es correcto o incorrecto, basándose en alguna medida de error entre la salida de la red y la salida deseada, entonces estamos hablando de sistemas supervisados. Si por el contrario la red no recibe ningún tipo de información entonces hablamos de sistemas no supervisados. En este último grupo los modelos buscan a partir de unos datos extraer propiedades, características, relaciones, regularidades, correlaciones o categorías existentes en ellos. Los mapas de Kohonen que se utilizarán en este trabajo son un tipo de red no supervisada.

    Una propiedad del cerebro es que las neuronas están ordenadas significativamente. Esto implica que estructuras idénticas en el cerebro funcionan de forma diferente debido a su diferente topología cerebral.
    Otra propiedad básica es la inhibición lateral. Cuando una neurona se activa, ésta produce un estado excitatorio en las células más cercanas y un efecto inhibitorio en las más lejanas. La función que recoge este proceso de excitación-inhibicion en las células tiene la forma de un sombrero mexicano.

    Imagen 5.5 Función de Excitación-Inhibición


    En 1982 Kohonen (Kohonen 1982, 1995) propuso el "kohonen's Feature Map", modelo que pretendía integrar las características de los modelos biológicos. Este nuevo modelo consiste en una Red Neuronal de dos capas, la primera de las cuales es una capa de entrada y la segunda es una "capa de competición". Las células de ambas capas están conectadas entre sí, de tal forma que una célula de la capa de entrada conecta con las de la capa de competición. Estas conexiones son ponderadas, es decir, el estímulo excita la capa de entrada, teniendo ambos la misma dimensión.

    Redes neuronales

    Imagen 5.6 Mapa de Kohonen

    Representaremos el estímulo mediante el vector {e1, e2,..., en}, siendo {t1, t2,..., tn} el vector que representa la salida de la capa de competición, representando igualmente las conexiones entre la primera capa y la segunda mediante {m1, m2,..., mn}. De tal forma podríamos definir la salida mediante la siguiente ecuación:

    Redes neuronales

    De tal forma que cada conjunto ordenado {m1, m2,..., mn} sea una imagen que comparamos con {e1, e2,..., en}. Por tanto, la Red deberá adaptar sus parámetros para que cada unidad esté especialmente sensibilizada a un dominio de la señal de entrada en orden regular.

    Para hacer esta comparación podemos utilizar diversas medidas de distancia, como por ejemplo la anteriormente utilizada en la que se utilizó el producto escalar de dos vectores, y también podríamos utilizar la distancia euclídea entre vectores, de tal forma si tenemos

    Redes neuronales

    entonces calcularemos

    Redes neuronales

    siendo la medida de distancia utilizada.


    Por tanto, se trata de presentar un estímulo, el cual se propaga por la Red dependiendo de la función de distancia utilizada, y finalmente consideraremos como mejor célula (célula ganadora) a aquella que produzca menor señal en la capa de competición. Llegados a este punto es necesario generalizar este proceso a estímulos similares para lo cual empleamos una regla de aprendizaje tipo Hebb, reforzando más aquellas unidades que hayan respondido en mayor grado al estímulo, proporcionalmente al valor del mismo. Todo lo cual puede expresarse mediante:

    Redes neuronales

    donde a(t) es una función de "olvido" que decrece con respecto al tiempo, y una función de umbral de salida G(x). Esta función es inversamente proporcional a la respuesta de las células, ya que ésta será máxima para células con una respuesta mínima y a la inversa, mínima para células con respuesta máxima. Por tanto, aplicamos la función G a la salida de las células de la capa de competición para así poder obtener una respuesta mayor a estímulos que se aproximen más a los almacenados en las conexiones y viceversa.

    Podemos discretizar la ecuación anterior, para ello utilizaremos un "vecindario" Nc(Si) de la célula c, el cual se define como el conjunto de aquellas células que estén a menos de una distancia Si de c; dicha distancia es discreta, por lo que debemos definir para cada célula una serie de conjuntos Nc(S1), Nc(S2), Nc(S3) ....

    Mediante este vecindario podemos definir la ordenación topológica de las células del sistema, lo cual equivaldría a las conexiones laterales del modelo de interacción lateral. Los vecindarios nos permiten definir las reglas de modificación sináptica, lo cual confiere a este modelo cierta similitud con el córtex cerebral.


    Del mismo modo el vecindario nos permitiría definir la función a de olvido, tanto de forma continua como discreta, cuyo valor disminuiría con la distancia a la célula i, para la que calcularemos los nuevos pesos.


    Además la función G(ti) se puede hacer igual a ti cuando i pertenezca a Nc e igual a cero en caso contrario, quedando la ecuación anterior

     

    Redes neuronales

    para i Î Nc

    Redes neuronales

    para i Ï Nc

    Podremos, por tanto, definir un espacio alrededor de la célula ganadora, en el cual se incrementarán las eficacias sinápticas de las células. Dicho incremento sería igual para todas las células del vecindario y no existirá dicho incremento en las células externas a dicho vecindario.

    Para evitar que los estímulos que se presenten en primer lugar tengan mayor relevancia que los últimos presentados, el valor a irá disminuyendo a lo largo del tiempo, y debe cumplir las siguientes inecuaciones:

    Redes neuronales

    Esto mismo se aplica al vecindario, es decir, en un principio elegimos un vecindario grande y vamos decrementándolo hasta llegar a la unidad.


    Si utilizamos la distancia euclídea como medida de similaridad entre vectores la ecuación sería la siguiente:

    Redes neuronales

    Y la actualización de los pesos:


    Redes neuronales

    para i Î Nc

    siendo en caso contrario

    Redes neuronales

     

    5.2.3 Redes basadas en la teoría de la resonancia adaptativa

    En los esquemas de aprendizaje competitivo no existe garantía explicita sobre la estabilidad de los grupos de patrones de entrada durante el proceso de decrecimiento del factor de aprendizaje en las sucesivas iteraciones. Las redes basadas en la teoría de la resonancia adaptativa vienen a solucionar este problema.

    En este tipo de redes, los vectores de pesos del elemento de procesado seleccionado como ganador sólo se actualizan con los patrones de entrada se "resuenan" con estos, es decir, si son "suficiente similares". Si no son "suficientemente similares" se genera un nuevo elemento de procesado cuyos pesos son precisanmente los del patrón de entrada utilizado. Evidentemente se hace necesario definir el concepto de "suficiente similaridad" que usualemente involucra un parametro de vigilancioa que lo controla.

    5.2.4 Mapas autoorganizados de propiedades

    Estos Mapas Autoorganizados son redes con entrenamiento no supervisado que transforman patrones de entrada p-dimensionales a mapas discretos q-dimensionales (usualmente q=1 o 2) con topología ordenada, es decir, mapas en los cuales patrones de entrada próximos corresponden a puntos del mapa discreto próximos. Cada celda del mapa de salida está representado por un elemento de procesado que lleva asociado un vector de pesos p-dimensional que se modifica durante el proceso de entrenamiento.

    En el proceso de entrenamiento se localiza el mejor vector de pesos (usualmente en términos de distancia mínima) para cada una de las entradas y se modifica para ajustarlo a dicha entrada (usualmente este ajuste se expande para incluir los vecinos topológicos del mejor elemento de procesado en el mapa de salida). Cuando sólo se considera el ajuste del mejor vector de pesos, sin incluir sus vecinos topológicos, se habla de redes de Cuantización del Vector de Aprendizaje, que constituyen un caso particular de los Mapas Autoorganizados.

    Los Mapas autoorganizados se han usado para generar mapas semánticos, realizar procesos de "clustering", particionar grafos, etc. Las redes de Cuatización del Vector de Aprendizaje se utilizan exclusivamente en procesos de "clustering" y compresión de imágenes,dado que no conservan la tipología de las entradas.

    El tipo de esquema de aprendizaje utilizado en el cual los elementos de procesado compiten entre ellos para ganarse la actualización se denomina aprendizaje competitivo.

    5.2.5 No supervisados Competitivos

    5.2.5.1 Redes basadas en la teoría de la resonancia adaptativa

    En los esquemas de aprendizaje competitivo no existe garantía explicita sobre la estabilidad de los grupos de patrones de entrada durante el proceso de decrecimiento del factor de aprendizaje en las sucesivas iteraciones. Las redes basadas en la teoría de la resonancia adaptativa vienen a solucionar este problema.

    En este tipo de redes, los vectores de pesos del elemento de procesado seleccionado como ganador sólo se actualizan con los patrones de entrada se "resuenan" con estos, es decir, si son "suficiente similares". Si no son "suficientemente similares" se genera un nuevo elemento de procesado cuyos pesos son precisanmente los del patrón de entrada utilizado. Evidentemente se hace necesario definir el concepto de "suficiente similaridad" que usualemente involucra un parametro de vigilancioa que lo controla.

    6 Aplicaciones

    6.1 Redes vs. Metodos clásicos

    En muchas areas donde existen problemas de predicción, clasificación, etc, existen soluciones que no estan basadas en redes neuronales pero que dan buenos resultados, o como mínimo mejores que el no hacer nada.

    Frente a este tipo de problemas, donde ya existe dicha solución “clásica”, las redes pueden aportar su alta no linealidad y su gran facilidad en aportar datos adicionales, tanto numéricos, como borrosos y/o subjetivos, que en técnicas convencionales o medelos “clásicos” no son tenidos en consideración. Por lo tanto, se llega a la conclusión que la utilización de redes neuronales aporta soluciones más eficientes y seguras que las convencionales. El único dilema existente frente a este tipo de problemas con una solución clásica, es la elección entre dos modos distintos de utilizar las redes, es decir la utilización tipo a) o la tipo b).

    Tipo a) Se basa en construir un red donde ya este incorporado el modelo “clásico”,añadir las nuevas variables que consideremos de interés y efectuar el aprendizaje de la red de tal modo que esta solo tenga que mejorar el resultado clásico con respecto al resultado deseado. De este modo nos aseguramos que el resultado de la red siepre sea mejor que el resultado clásico. Solo será igual a la resultado clásico, en el caso que las variables adicionales no aporten nada nuevo y no se necesario no utilizar la no linealidad de la red, dos condiciones que difícilmente se cumplen simultáneamente.

    Tipo b) Se basa en construir una red sin incorporar el el modelo “clásico” pero añadiendo todas las variables adicionales que sean de interés. Esto no garantiza qu el resultado sea superior al “clásico” pero la experiencia acumulada hasta el momento demuestra que siempre es superior debido a que se utiliza la no linealidad de la red y/o las nuevas variables. Si en algún problema esto no fuera cierto, siempre podemos recurrir a la incorporación del modelo clásico en la red (tipo a).

    6.2 Campos de aplicación

    Las ANNs han sido aplicadas a un creciente numero de problemas con una complejidad considerable, como puede ser el reconocimiento de patrones, clasificación de datos, predicciones, etc.. Su ventaja más importante está en solucionar problemas que son demasiado complejos pata las técnicas convencionales, como se ha explicado en el punto 3.1.

    Las aplicaciones de las ANNs abarcan diversas actividades de muy diferentes campos. Estos son:

    ·Finanzas

    · Predicción de índices

    · Detección de fraudes

    · Riesgo crediticio, clasificación

    · Predicción de la rentabilidad de acciones

    Negocios

    · Marketing

    · Venta cruzada

    · Campanas de venta

    Tratamientos de texto y proceso de formas

    · Reconocimiento de caracteres impresos mecánicamente.

    · Reconocimiento de gráficos

    · Reconocimiento de caracteres escritos a mano.

    · Reconocimiento de escritura manual cursiva.

    Alimentación

    · Análisis de olor i aroma

    · Perfilamiento de clientes en función de la compra

    · Desarrollo de productos

    · Control de calidad

    Energía

    · Predicción del consumo eléctrico

    · Distribución recursos hidráulicos para la producción eléctrica

    · Predicción consumo de gas ciudad

    Industria manufacturera

    · Control de procesos

    · Control de calidad

    · Control de robots

    Medicina y salud

    · Ayuda al diagnóstico

    · Análisis de imágenes

    · Desarrollo de medicamentos

    · Distribución de recursos

    Ciencia e Ingeniería

    · Análisis de datos i clasificación

    · Ingeniería Química

    · Ingeniería Eléctrica

    · Climatología

    Transportes i comunicaciones

    · Optimización de rutas

    · Optimización en la distribución de recursos

    6.3 Aplicaciones

    6.3.1 Ejemplo de consumo eléctrico

    AERN

    CONSUMO ELECTRICO

    Tipo de red.

    Objetivo

    Problema

    Clasificación y predicción.

    Ayuda al proceso de toma de decisiones en la demanda energética.

    Determinar la cantidad de electricidad que se consumirá mañana durante cada hora del día en función del tipo de día.

    DATOS CONSUMO ELECTRICO.

    1.-DATOS ORIGINALES

    Se han recopilado datos de varios años de los que puede verse una breve muestra a continuación en "ele.raw". En este fichero encontramos la fecha, el día de la semana (1=lunes, ....), y el consumo horario durante las 24 horas.

    2.-DATOS INPUT DE LA RED.

    Para el aprendizaje por parte de la red neuronal los datos originales se han procesado y se ha creado el fichero "ele.dat", del que ofrecemos una muestra.


    VARIABLES.

    Variables elegidas para este estudio:

    Variable a PREDECIR:

    Parametrización en únicamente dos variables de: 1-24) Perfil normalizado del consumo horario durante todo el dia.

    Esta parametrización es hallada automaticamente por la red.

    1) Consumo total.

    2-25) Perfil normalizado del consumo horario durante todo el día.

    La red debe buscar la mejor parametrización (ejemplo de clasificación), para poder utilizarla posteriormente como predicción (ejemplo de predicción)

    RESULTADOS.

    Los resultados se encuentran en el fichero "ele.tes". Las columnas 1 y 2 contienen la parametrización que ha encontrado la red.

    En la grafica adjunta podemos ver esta parametrizacion obtenida por la red. Los lunes se situan automaticamente en la parte superior derecha, los domingos en la inferior izquierda, y el resto entre ellos.

    Esta parametrizacion es la utilizada para efectuar la prediccion del consumo horario

    6.3.2 Ejemplo de una targeta de crédito

    AERN

    TARJETA DE CREDITO

    Tipo de red.

    Objetivo

    Problema

    Clasificación.

    Ayuda al proceso de toma de decisión en la concesión de créditos .

    Determinar la aprobación o no de una tarjeta de crédito a un cliente de un banco.

    DATOS.

    1.-DATOS ORIGINALES. Muestra del fichero de datos originales.

    2.-DATOS INPUT DE LA RED.

    Los datos originales se han recopilado en un nuevo fichero. Cada fila representa un ejemplo para aprender. Las variables alfanuméricas se han convertido a numéricas incrementando el numero total de variables para entrenar la red a 51.

    La red debe "aprender" a predecir la última columna del fichero "card.dat" en función de todas las columnas anteriores.

    VARIABLES.

    Variables elegidas para este estudio:

    Variable a PREDECIR:

    Por razones de confidencialidad no se da una descripción de las variables utilizadas.

    1-15) las 15 que el banco ha considerado relevantes. (Entre ellas hay tanto variables numéricas como alfanuméricas).

    1) una variable binaria: 1 si se le tiene que dar la tarjeta, 0 en caso contrario.

    RESULTADOS.

    Después de ejecutar la red los resultados se encuentran en el fichero "card.tes". A partir de este fichero podemos construir la matriz de confusion y valorar los resultados.

    Observar que los elementos de la diagonal de dicha matriz son muy superiores a los de fuera de la diagonal, demostranto la cualidad de la clasificacion.

    6.3.3 Ejemplo de consumo de gas

    AERN

    GAS

    Tipo de red.

    Objetivo

    Problema

    Predicción.

    Ayuda al proceso de toma de decisiones en las previsiones de demanda de energía.

    Determinar la cantidad de gas que se consumirá mañana en una ciudad, en función del histórico de los últimos días y de las previsiónes meteorológicas.

    DATOS.

    1.-DATOS ORIGINALES

    Se han recopilado datos de consumo y variables climatológicas de varios años.

    2.-DATOS INPUT DE LA RED.

    La red utiliza directamente como entrada el fichero de datos originales, y el tratamiento necesario de los mismos se hace dentro del programa.

    MODELO CLASICO DE PREDICCION:

    El estudio de la importancia de las variables demuestra que la temperatura es la que mas influye en el consumo. Por ello se ha construido un modelo lineal para hacer previsiones, que luego podrá compararse con los resultados de la red.

    En esta grafica podemos observar la correlacion existente entre la temperatura y el consumo. El modelo lineal de prediccóon viene descrito por la linea roja

    La previsión del modelo lineal se ha comparado con nuevos datos. El promedio del valor absoluto del error cometido es de un 20 %

    VARIABLES.

    Variables elegidas para este estudio:

    Variable a PREDECIR:

    Histórico del Consumo total

    Previsión de consumo industrial para mañana y su histórico

    Temperatura y dirección del viento previstas para mañana y su histórico

    Consumo total de mañana.

    RESULTADOS.

    Después de ejecutar la red y aplicarla sobre nuevos datos, los resultados se encuentran en el fichero "gas.tes". La primera columna es la previsión y la segunda la realidad. Como puede observarse el promedio del valor absoluto del error cometido es solo del 8%, frente al 20% del modelo lineal.

    6.3.4 Ejemplo financiero

    AERN

    BOLSA

    Tipo de red.

    Objetivo

    Problema

    Predicción.

    Ayuda al proceso de toma de decisiones en inversión financiera.

    Determinar la rentabilidad de las acciones de una empresa estudiando ciertos factores que influyen en el comportamiento del índice bursátil de los mercados de capitales.

    DATOS.

    1.-DATOS ORIGINALES Se han recopilado datos trimestrales de diversas empresas desde enero de 1988 hasta abril de 1992. Una muestra del fichero original puede verse a continuación.

    2.-DATOS INPUT DE LA RED.

    Los datos originales se han tratado y recopilado en el fichero "fuzzy.dat", una muestra del cual puede verse a continuación. Cada fila representa el resultado de una empresa, donde se mezclan tanto variables linguísticas como numéricas. La red debe "aprender" a predecir la ultima columna del fichero "fuzzy.dat" (rentabilidad normalizada) en función de todas las columnas anteriores.

    VARIABLES.

    Variables elegidas para este estudio:

    Linguísticas:

    1) PG: Política general

    2) PE: Política económica

    3) CBMC: clima bursátil en los medios de comunicación

    4) IB: índice bursátil

    Numéricas:

    5) PER: ultima cotización dividida entre rentabilidad del capital

    6) C/CV: cotización sobre valor contable

    7) IPC: índice de precios al consumo

    8) TI: tasa de interés

    9) P-O: Pay-out

    Variable a PREDECIR:

    1) R: Rentabilidad = dividendo íntegro + valor medio derechos + diferencia de cotización / cotización anterior.

    En la graficas adjuntas podemos ver la relacion no lineal que se observa en los datos entre la Rentabilidad (R) y

    1) la ultima cotizacion dividida entre rentabilidad del capital (PER)

    2) la cotizacion sobre el valor contable (C/CV)

    3) el Pay-out

    RESULTADOS.

    Después de ejecutar la red, los resultados se encuentran en el fichero "fuzzy.tes". Para comprobar la "bondad" de la red deberemos estudiar la correlación entre la primera columna de este fichero (rentabilidad real) con la segunda (rentabilidad que predice la red). Esta correlación puede verse en el gráfico adjunto. (Nota: ambas cantidades se han normalizado).

    6.3.5 Ejemplo de decisiones de actuación en el mercado

    AERN

    FUTUROS FINANCIEROS

    Tipo de red.

    Objetivo

    Problema

    Predicción.

    Ayuda al proceso de toma de decisiones de actuación en el mercado de futuros sobre el bono nocional español.

    Determinar la evolución del precio de un contrato de futuro en el día de hoy en función de su histórico y su comportamiento durante el dia de hoy antes de efectuar la prediccion.

    DATOS.

    1.-DATOS ORIGINALES

    Se han utilizado todas las transacciones de compra/venta de un determinado contrato desde Enero de 1993 hasta Marzo de 1996. En este cuadro tenemos una muestra.

    2.-DATOS INPUT DE LA RED.

    Los datos originales se han recopilado y agrupado cada media hora.

    VARIABLES.

    Variables elegidas para este estudio:

    Variable a PREDECIR:

    • Volumen negociado.

    • Evolución del precio durante el día de hoy, antes de efectuar la predicción.

    • Volatilidad observada.

    • Precios promedio, en días anteriores, a las primeras horas de la mañana y a la hora de la predicción.

    Signo de la diferencia entre el precio a la hora de la predicción y el actual.

    RESULTADOS.

    Después del aprendizaje de la red, esta es probada con ejemplos que nunca ha visto. Los resultados pueden observarse en el fichero meff.tes, y se sumarizan en la grafica adjunta. En ella podemos observar beneficios anuales proximos al 500% .

    6.4 Pluviometria

    <!--This file created 9/18/98 16:20 by Claris Home Page version 3.0 30 Day Trial-->

    SISTEMA EXPERTO BASADO EN REDES NEURONALES APLICADO A LA PREDICCIÓN A CORTO PLAZO DE LA INTENSIDAD DE LLUVIA Y DE LOS NIVELES EN LA RED DE ALCANTARILLADO

     

     

     

    6.4.1 Introducción

    Desde hace unos años, las nuevas técnicas de gestión de las redes de servicios están siendo adoptadas también en la gestión de las redes de alcantarillado. La concepción de las redes de alcantarillado como unas redes estáticas que evacuan aguas pluviales y residuales únicamente por gravedad o con algún bombeo de ayuda esta quedando atrás.

    Las nuevas técnicas permiten ir mucho más allá en la tarea de evacuación efectiva de las aguas recogidas en las áreas urbanas, permitiendo conseguir más ambiciosos objetivos de reducción de inundaciones, reducción de impactos al medio ambiente de las aguas descargadas por el sistema de saneamiento, información al ciudadano o costes de las obras de infraestructura.

    Estas técnicas basadas principalmente en integración de tecnologías ya existentes requieren una infraestructura base: los actuadores de la red. Es decir, la colocación de compuertas, válvulas, bombas, depósitos de retención, etc., en la red de alcantarillado.

    Pero para saber como actuar sobre ella, hay que contar con toda una serie de medidores que permitan establecer las acciones adecuadas. Así pues, hay que contar con pluviómetros, limnímetros, caudalímetros, medidores de la calidad del agua, etc.

    Las tecnologías informáticas de computación y comunicaciones permitirán construir con todo ello un sistema de telecontrol. Con él, y con los criterios de actuación respaldados por los modelos hidrológicos de simulación del comportamiento de la red ante cualquier situación, podremos hacer una nueva y efectiva gestión del alcantarillado.

    La anticipación a los acontecimientos nos permitirá mejores actuaciones. En concreto, el disponer de predicciones de lluvia o nivel de agua en el colector a corto plazo permitirá decidir cual es la mejor operación de la red posible.

    CLABSA, empresa que gestiona técnicamente el alcantarillado de la ciudad de Barcelona, ha adoptado este enfoque de explotación de la red de alcantarillado.

     

    6.4.2 Gestion del alcantarillado i pluviometria

    Redes neuronales

    Se espera del sistema de alcantarillado que sea capaz de recoger y evacuar toda el agua caída en un episodio lluvioso. Por tanto el conocimiento de la pluviometría aparte de intervenir en las etapas de diseño de la red, es importante en la operación de la misma en los términos mencionados en el apartado anterior, es decir en su explotación activa.

    Hará falta cuantificar la pluviometría de la zona, discernir si podemos distinguir distintos tipos de lluvia por lo que se refiere a su impacto sobre el alcantarillado, monitorizar los episodios lluviosos cuando se producen y intentar predecir su evolución a corto plazo en función de lo que ha pasado hasta el momento.

    Hay pues que estudiar bien la historia pluviométrica de que se disponga. Para las tareas de monitorización y previsión es necesario disponer de pluviómetros que suministren en tiempo real los volúmenes e intensidades de lluvia al centro de control.

     

    6.4.3 Objetivo: La predicción a corto plazo

    El objetivo que nos ocupa es el de intentar predecir los niveles de agua en los colectors de la red a corto plazo, es decir, durante la próxima media hora.

    Hemos abordado el problema con una herramienta, las redes neuronales, que abstraen un modelo del funcionamiento de un sistema sólo con presentarle una determinada colección de entradas y salidas del mismo.

    Con este tipo de modelos, que no están basados en las leyes físicas que rigen el sistema, podemos plantearnos directamente la predicción del nivel en un punto de la red, dándole como entrada la evolución del episodio lluvioso en curso. No obstante hemos preferido, en primer lugar, abordar la predicción de la lluvia a media hora vista en función de la media hora de lluvia anterior. El motivo de tal elección es que ya disponemos de modelos matemáticos de escorrentía del agua por la superficie y de transporte dentro de la red que pueden facilitarnos los niveles y caudales requeridos si le suministramos como entrada la predicción de la lluvia.

    Se trata pues de imaginar una variable pluviométrica que indique la evolución de la lluvia como una serie temporal y utilizar una red neuronal para predecir los próximos valores de la variable en función de los últimos valores disponibles.

    Posteriormente hemos aplicado la misma operativa para obtener predicciones del nivel de agua en un punto de la red en función de la media hora de lluvia anterior.

     

    6.4.4 Las ANNs: Una herramienta de predicción

    El modelo "neuronal" de cómputo se puede definir como un sistema de proceso de información no algorítmico, no digital e intensamente paralelo. Las neuronas están interconectadas mediante un gran número de enlaces balanceados por "pesos", que actúan como "filtros graduables" de las señales de entrada para una neurona determinada. Las conexiones y los pesos pueden ser excitatorias o también inhibitorias.

    Las neuronas reciben señales de entrada, que pueden ser tanto externas "INPUTS" como internas (señales que provienen de salidas de otras neuronas). Estas se propagan hacia las siguientes neuronas conectadas, "OUTPUTS" o señales de "ACTIVACIÓN" .

    En cualquier aplicación "neuronal" existen tres fases diferenciadas: aprendizaje, test y operación. El proceso de aprendizaje de una red neuronal consiste simplemente en determinar la mejor colección de pesos de todas las conexiones entre neuronas que existen en la red, para conseguir una respuesta óptima al problema, modelización o proceso planteado. El test nos indicará el grado de bondad de las respuestas y puede originar el replanteamiento de la fase de aprendizaje. La fase de operación consiste en la explotación del conocimiento adquirido durante el aprendizaje.

    Podemos utilitzar las redes neuronales para diagnosticar problemas, tomar decisiones, predecir nuevos eventos o para problemas de clasificación.

     

    6.4.5 Preparación de los datos de lluvia

    Antes de afrontar la modelización de cualquier sistema con redes neuronales hay que asegurarse de tener una buena cantidad de datos, tanto entradas como salidas del sistema, para poder enseñar a la red a funcionar como el sistema original. No sabremos si son suficientes o no hasta que veamos los errores de aprendizaje, pero desde luego son necesarias tanto la cantidad como la calidad de datos.

    Barcelona dispone en la actualidad y a través de CLABSA de una red de 20 pluviómetros en su área urbana (9.800 Ha). Algunos están ya operativos desde 1.993 e integrados en su sistema de explotación centralizada. Se han extraído para el estudio 625 episodios de lluvia de los cuales se disponen registros en varios puntos de la ciudad.

    Se ha considerado un episodio lluvioso el periodo precedido y seguido de 30 minutos sin lluvia. Estos episodios se ha discretizado en periodos de 5 minutos. La variable pluviométrica usada en el estudio ha sido la precipitación 5-minutal en mm.

    De todos los registros disponibles se han eliminado los que no superan los 20 l/m2 durante el episodio a efectos de no condicionar el aprendizaje de la red neuronal con patrones de evolución de lluvias menores, que son poco problemáticas y poco importantes de predecir.

    Además se ha hecho una preclasificación de las lluvias en tres tipos según la dificultad de su evacuación. De forma muy sintética :

    Tipo A: intensidad máxima es elevada y se llega a ella de forma brusca (durante unos 10')

    Tipo B: intensidad máxima algo menor (durante unos 20í-25')

    Tipo C: intensidad máxima menor llegándose a ella de forma más lenta y continuada

    Las lluvias Tipo A son las más usuales y a su vez problemáticas en la meteorología mediterránea que afecta a Barcelona. Son de origen convectivo y también son las menos predecibles por su variabilidad y brusquedad. Las lluvias Tipo B son muy poco frecuentes y no se disponen suficientes registros para poder construir un modelo con redes neuronales. Tampoco se dispone de gran cantidad de lluvias Tipo C, pero suficientes como para intentar modelarlas.

    6.4.6 Construcción de un Modelo de Predicción

    Se ha utilizado NeuroShell, software propio de redes neuronales, el cual nos ha facilitado el proceso de implementación y el método con el cual se ha trabajado.

    Se ha utilizado para la construcción de la red el método "BACKPROPAGATION-SUPERVISED LEARNING", ya que hace backtracking hacia la entrada una vez tiene los datos a la salida.

     En su inicio, no se tuvieron en cuenta los diferentes tipos de lluvia que podían producirse, desarrollando así un único modelo para todos los casos. El proceso de test demostró que previamente tendríamos que hacer una clasificación por tipos de lluvia.

    Imagen 6.1 Método de aprendizaje y clasificación

    La salida del proceso de clasificación nos dará el tipo de red, con el cual cargaremos un modelo

    u otro, el cual habrá pasado previamente el proceso de aprendizaje.

    En la predicción de precipitación 5-minutal, la selección del modelo a implementar fue siguiendo la manera standard de crear una red neuronal. Se creó un SLAB de entrada externa de seis neuronas, en el que se introducen los datos de la lluvia de la última media hora, un SLAB de entrada interno de seis neuronas (que mantiene los datos de la última media hora anterior), un SLAB intermedio que sirve para la propagación de las entradas, y un SLAB de salida de seis neuronas que nos dará los datos en periodos 5-minutales de la predicción de los próximos 30 minutos.

     

    Imagen 6.2 SLAB

    En el proceso de aprendizaje se hicieron iteraciones de hasta 1500 épocas, pudiendo así obtener unos pesos con un error en la salida que en la mayoría de los casos no superaba el 10% del valor de la entrada.

    La predicción de niveles de agua en el colector a través de redes neuronales exigió un tratamiento previo de los datos de entrada, tanto para la fase de aprendizaje como para el test. Consistió en sustraer, al nivel de agua que efectivamente se midió en cada periodo del episodio lluvioso, el nivel de agua medido en tiempo seco, es decir el nivel debido a las aguas residuales.

    Obviamente, para intentar esta predicción hay que contar con información síncrona de lluvia y nivel que será obtenida por pluviómetros y limnímetros ubicados en la misma cuenca hidrológica.

    La red seleccionada para tal predicción ha sido una red no recurrente de cuatro niveles: 6-12-6-4.

    Las colecciones de datos de los que se ha dispuesto para el proceso de aprendizaje no han sido muy numerosas, tan solo 7 episodios; y 3 para la fase de test.

     

     

    Imagen 6.3 Red no recurrente

    6.4.7 Resultados

    Antes de poder dar unos resultados aceptables, se implementaron distintos tipos de redes con errores que superaban el error estipulado como máximo.

    En la última implementación con una estructura más estable, pudimos ver que las gráficas reales y las estimadas empezaban a parecerse, con un error en las aproximaciones que no superaba como se ha mencionado anteriormente al 10%.

    Imagen 6.4 Grafica A Imagen 6.5 Grafica B

    Esta gráfica es un ejemplo de lluvia de Tipo A, con entrada real (trazo fino) y salida estimada (trazo punteado). Apreciamos como se ajustan las curvas en los picos, ya que la red ha sido entrenada para detectar puntas, y por contra la lluvia menos intensa no la reconoce.

    En cambio, en la gráfica de Tipo C, se observa que la predicción es mejor donde no hay picos, ya que los pesos utilizados se han calculado para lluvias suaves.

     

    La predicción con red neuronal de niveles de agua en el colector debidos a la pluviometría permite obtener resultados como los que se presentan en la figura siguiente.

    El concepto de tiempo de concentración del agua de lluvia desde su caída hasta su llegada al punto de medida dentro del colector , es uno de los factores que es aprendido por la red facilitándole la predicción.

     

    6.4.8 Nuevos Objetivos

    Después de abordar esta primera etapa de predicción de lluvia a muy corto plazo mediante el uso de las redes neuronales, es interesante abordar nuevos intentos de predicción siempre teniendo en cuenta la calidad y cantidad de información pluviométrica disponible.

    Las líneas de trabajo que identificamos de más utilidad son:

    Predicción pluviométrica en la ubicación de un pluviómetro accidentalmente fuera de servicio: Aprovechando la dispersión espacial de los 20 pluviómetros en una área reducida como la ciudad de Barcelona.

    Mejorar la predicción del nivel del agua en un punto de la red de alcantarillado a medida de que dispongamos de mas amplias colecciones de datos para el aprendizaje o entrenamiento de la red.

    Predicción de la evolución de un episodio lluvioso sobre la imagen del radar meteorológico: Mediante la extrapolación de las ultimas imágenes recibidas.

    En todas ellas hay un fondo común y es que la colección sincronizada, sistemática y exhaustiva de los datos proporcionados por todos los sensores que realiza un sistema de telecontrol es básica para poder disponer de historia suficiente para asegurar un buen aprendizaje de las redes neuronales.

    No hay que olvidar que el objetivo real de todo es la ayuda efectiva a la explotación del alcantarillado, por tanto la fase posterior al estudio de fiabilidad es la de montar un sistema de previsión de variables concretas realmente operativo y tan automatizado como sea posible.

    6.4.9 Conclusiones

    En una primera aproximación, es difícil abordar la predicción de lluvia a corto plazo en función de la lluvia caída hasta el momento, con una red neuronal. No basta con un modelo tan sencillo. Es necesaria una preclasificación de la lluvia para obtener resultados aceptables. Esta preclasificación puede hacerse con eficacia usando también redes neuronales. Así pues, un modelo basado en varias redes neuronales, no solo en una, sí es válido para la predicción.

    Los diferentes objetivos de predicción aconsejan claramente usar , después de suficientes ensayos, una topología de red u otra. No hay reglas de oro en que podamos basarnos a priori, como menciona ampliamente la bibliografía, para discernir que tipo de red resultará mejor. En el presente estudio, por ejemplo, las redes recurrentes se han adaptado mejor a la predicción de lluvia y las no recurrentes a la predicción de nivel.

    Es interesante observar como los hietogramas de lluvia se traducen en hidrogramas de caudal o nivel en un punto del alcantarillado. Hay un efecto suavizador de las puntas de lluvia y un efecto de desfase temporal bastante claros. Esto favorece la predicción y hace que la predicción directa de niveles en función de la lluvia reciente sea mucho más cómoda que la predicción de la propia lluvia a corto plazo.

    Las redes neuronales nos proporcionan flexibilidad en la modelización del sistema de predicción, simplicidad y eficiencia predictiva. En definitiva, si contamos con una buena base de datos histórica con la que abordar las fases de aprendizaje y test, es aconsejable usar modelos basados en redes neuronales para predicciones a corto plazo. Serán de mucha ayuda para la explotación del alcantarillado en tiempo real.

      

    7 La Tecnología en las ANNs

    7.1 Simuladores Software

    Si bien hemos hablado del procesamiento paralelo como una cualidad de las redes neuronales artificiales; en la práctica se suele trabajar con monoprocesadores, en ese caso no existe paralelismo real, pero como en la mayoría de las redes simuladas no se consideran conexiones intracapa, se puede procesar secuencialmente haciendo los cálculos para una capa, luego la siguiente, etc.

    Lo más interesante es que la propia estructura y modo de operar de las redes neuronales artificiales las hace especialmente interesantes y fáciles de implementar implementarlas sobre multiprocesadores, algo que puede resultar bastante más complicado cuando se trata de adaptar algoritmos tradicionales sobre dichas máquinas.

    Conociendo los fundamentos y los algoritmos de aprendizaje de las redes neuronales artificiales y un poco de programación, es fácil desarrollar programas específicos para simular una red concreta en cualquier lenguaje de programación.

    Para uso general y profesional resultan muy útiles los paquetes con interfaces gráficas avanzadas.

    Otra tendencia es el desarrollo de librerías para C++ o paquetes matemáticos como MATLAB ó MATHEMATICA; son recomendables con fines de investigación o académicos por ser muy flexibles para desarrollar o modificar algoritmos, son bastante potentes y no excesivamente caros.

    Un sistema de programación de procesos paralelos específicamente desarrollado para simular redes neuronales es P3 (Zipser, D.). Es un sistema modular que funciona sólo sobre una máquina Symbolics 3600 en LISP. Consta de 5 componentes, el computacional (unidades de proceso elementales), un lenguaje de planificación (establece las conexiones), un lenguaje de métodos (indica el comportamiento de las unidades de proceso), un constructor (transforma los métodos y el plan de conexiones en un programa ejecutable), y un entorno de simulación, para observar y verificar el funcionamiento de las redes.

    Aceleradores Hardware

    Son tarjetas que se conectan como periféricos y dan soporte hardware para emular unidades de proceso elementales virtuales y sus interconexiones. Suelen incluir software específico para su programación.

    Consiguen gran aceleración a pesar de compartir y multiplexar recursos, es decir, que no ofrecen proceso paralelo real.

    Mark III y Mark IV (Hecht-Nielsen, R.) pueden simular hasta 8.100 unidades de proceso y 417.000 conexiones. Son periféricos para máquinas VAX, logran aceleraciones cercanas a 30x.

    NEP, Network Emulation Processor(Cruz-Young, C.). Tiene la ventaja de permitir la conexión en cascada de varias emuladores para conseguir redes de gran tamaño. Hasta 20 o 30 actualizaciones por segundo en una red grande. Conectable a un compatible PC.

    ANZA y ANZA Plus (Hetch-Nielsen Neuro-Computing Corporation). La tarjeta ANZA combina un procesador Motorola 60820 y un co-procesador de coma flotante (el 68881), consigue computar 45.000 conexiones por segundo; ANZA plus llega hasta 1.500.000 de conexiones por segundo.el chip Delta-II Floating Point Processor (SAIC, Scientifics Applications International Inc) . Usa tecnología especial de coma flotante para conseguir tasas de actualización de hasta 11.000.000 millones de interconexiones por segundo. Además permite la conexión en cascada de varios módulos. Incluye un amplio Software y herramientas de soporte: ensamblador, compilador C, y un lenguaje específico orientado a objetos para la especificación de RNA.

    7.2 Chips de silicio

    La propia naturaleza paralela de la computación neuronal ha llevado al desarrollo de máquinas específicas para su implementación: el ideal sería disponer de un procesador elemental para simular cada unidad de proceso y de conexiones físicas independientes que implementaran las conexiones ponderadas también por Harware; esto daría lugar a simuladores extremadamente rápidos.

    Si bien el número de elementos de una red puede hacernos pensar que este ideal esta muy alejado de la tecnología actual, lo sencillo de cada unidad de proceso y de cada conexión es un punto a favor.

    ENN, Electronic Neural Network (AT&T): contiene 256 neuro-transistores y más de 100.000 sinapto-resistores. El problema es que las conexiones quedan fijadas durante la construcción, luego el aprendizaje de la red debe realizarse previamente con una máquina convencional. Se está trabajando para conseguir conexiones modificables. Se está usando para comprimir imágen de video y transportarlo sobre línea telefónica en tiempo real.

    Otros chips en desarrollo: Silicon Retina y Silicon Ear (Mead, C.), como sus nombres indican está pensados para simular procesos de visión y oído respectivamente.

    7.3 Procesadores ópticos

    La tecnología óptica es muy interesante porque ofrece unas características muy deseables para la computación neuronal: Los procesadores ópticos se componen de muchos procesadores elementales y modo de operación inherente paralelo.

    La tecnología óptica ofrece las siguientes ventajas:

    El uso de la luz permite tener muchos canales muy juntos uno de otro sin producir interferencias, como sucede con los cables eléctricos.

    Permite conexiones mucho más pequeñas que con los cables eléctricos, con una densidad 4 veces mayor.

    Un rayo de luz puede atravesar a otro sin producir interferencias.

    Actualmente se trabaja en varias áreas dentro del procesamiento óptico (spatial light modulators, integrated opto-electronics, non-linear optical switches, phase-conjugate resonators).

    8 Introducción al Simulador “NeuralGraphics”

    Ejemplo de software sobre simulaciones de redes neuronales.

    En este apartado explicamos el funcionamiento del simulador de redes (NeuralGraphics) Este simulador lo hemos conseguido después de una busqueda intensiva por internet. Seguidamente pasamos a explicar su funcionamiento.

    Cuando ejecutamos el programa aparece un menú general como se puede ver en la Imagen 9.1.

    Imagen 9.1

    En dicho menú, se puede observar, podemos elegir entre:

    • Metdos de aprendizaje:

    Backpropagation

    Backpropagation with maps of memory

    Hybrid Network

    Radial Basis

    Kohonen Classifier

    Conjugate Gradient

    Hopfield Ass Memory

    Kohonen Demo

    Trav Salesman Demo

    • Tutorial: Es una ayuda general del programa.

    • Licencia.

    • Exit.

    Cuando seleccionamos cualquier método de aprendizaje, de los citados anteriormente, entramos en un menú de similares características para:

    Backpropagation

    Backpropagation with maps of memory

    Hybrid Network

    Radial Basis

    Kohonen Classifier

    Conjugate Gradient

    Dicho menú se muestra en la imagen 9.2.

    Imagen 9.2

    Una vez dentro, nos pide que introduzcamos los siguientes datos:

  • Data Directory

  • Aquí introducimos el nombre del directorio donde se encuentran los ficheros de datos.

  • Data File

  • Aquí introducimos el nombre del archivo que queremos. Los cuales se pueden visualizar en la ventana adjunta.

  • Noise

  • Aquí introducimos el ruido que queremos.

  • Normalize

  • Aquí podemos escoger entre:

    Ninguno

    Energy

    Stadistical

    Una vez introducidos todos estos datos, nos aparece otra ventana en la que introducimos datos topológicos de la red (imagen 9.3). Estos son:

    Imagen 9.3

  • Number of layers: Introducimos número de capas

  • Hidden Nodes: Número de nodos ocultos.

  • Weight File: Introducimos el archivo donde se encuentran el valor de los pesos. También tenemos la opción de ponerlos aleatoriamente random.

  • Una vez introducidos todos estos datos, comienza la simulación de la red. La que podemos visualizar graficamente. Aquí tenemos un ejemplo de perceptron (imagen 9.4) con los siguientes datos:

    • Data Directory: Data

    • Data File: xor.dat

    • Noise: 0

    • Normalize: None

    • Number of Layers: 2

    • Hidden Nodes: 5

    • Weight file: r

    Imagen 9.4

    Durante la ejecución de la simulación podemos acceder unos iconos que estan situados en la parte superior de la pantalla. Y estos son:

    • Test: Al que accedemos con la tecla T y en el que podemos modificar el peso de los nodos.

    • Learning On/Off: Al que accedemos con la tecla L y con la que seleccionamos que la red esté aprendiendo o no.

    • Save: Al que accedemos con la tecla S. Sirve para grabar la simulación.

    • Read: Al que accedemos con la tecla R. Sirve para cargar una simulación.

    • Parameters: Al que accedemos con la letra P. Sirve para modificar, durante la simulación, ciertos parámetros como:

    Learning rate

    Momentum

    Display energy

    Hardness

    Noise

    • Help: Ayuda sobre la ejecución del programa.

    Otros ejemplos diferentes son:

    • Kohonen Classifier.

    En este ejemplo los pasos a seguir son los mismos que en el ejemplo anterior. Pero el método es diferente (imagen 9.5).

    Imagen 9.5

    • Hopfield.

    Imagen 9.6

    El programa también incluye las siguientes demos:

  • Tray Salesman Demo.

  • Aquí introducimos los siguientes datos:

    Data Directory

    Data File

    Imagen 9.7

  • Kohonen Demo.

  • Una vez dentro de la demo, al igual que en los otros simuladores, debemos introducir los siguientes parámetros:

    • Función de densidad:

    Elegir entre: cuadrado, triangulo y cruz

    • Dimensión de trabajode la Red:

    Seleccionamos unas dimensiones preestablecidas de la red.

    • Funciones de probabilidad:

    Que utiliza el programa en los ejes x e y.

    Seguidamente mostramos las diferencias que se observan en estos 3 ejemplos:

    Para los 3 ejemplos utilizamos la función de densidad cruz y dimensión de trabajo de la red 10x10. Las diferencias las observamos modificando las funciones de probabilidad.

    1- Funcion Probabilidad: Random Random

    Imagen 9.8

    2-

    Función probabilidad: Gausiana Gausiana

    Imagen 9.9

    3-

    Función probabilidad: Chi Squared Chi Squared

    Imagen 9.10

    Conclusiones.

    Cuando utilizamos una función de probabilidad Random podemos observar que es la que se aproxima más a la figura real, pero se sale de los límites. Si utilizamos Gausiana, no se sale de los límites, pero no se aproxima tanto como la Random. Y finalmente, con la Chi Squared observamos que es la peor opción de todas, ya que es la que menos se aproxima a la figura real.

    9. Conclusiones


    El mundo tiene mucho que ganar con las redes neuronales, ya que las personas que las utilizan ahora y las utilizarán en el futuro son aquellas que tienen que trabajar o analizar datos de cualquier tipo. Gente de industria, finanzas, negocios, educación y ciencia cuyos problemas son complejos, laboriosos, confusos o simplemente sin solución con los métodos actuales. Gente que quiere mejores soluciones y esperan ganar un lugar estratégico.

    Su habilidad para aprender mediante ejemplos las hace muy flexibles y poderosas. Además no es necesario crear un algoritmo para llevar a cabo una tarea especifica, esto es, no hay necesidad de entender el mecanismo interno de la tarea. Ellas están bien adaptadas para los sistemas de tiempo real debido a su capacidad de respuesta rápida, la cual se debe a su arquitectura paralela.

    Las Redes neuronales, con su notable habilidad para deducir significados de datos complicados o imprecisos pueden ser usadas para extraer patrones y detectar tendencias que son demasiado complejas para ser comprendidas por los humanos u otras técnicas computacionales. Una red neuronal capacitada puede ser concebida como algo que algún día le podremos realizar preguntas como "que pasaría si...".

    Quizás el aspecto más excitante de las redes neuronales es la posibilidad de dotar a estas de conciencia. Existe un número de científicos que argumentan que la concienciación es una propiedad mecánica y que la conciencia de las redes neuronales es una posibilidad real.

    Finalmente, nos gustaría afirmar que incluso las redes neuronales tienen un gran potencial que sólo obtendremos de ellas cuando las integremos al conjunto de la Inteligencia artificial.

    10 Bibliografía

    Freeman, J.A., Skapura, D.M., "Neural Networks", Ed. Addison Wesley.

    Caudill, M., Butler, Ch., "Understanding Neural Networks", MIT Press.

    Widrow, J., Rumelhart, D.E., Lehr, M.A., "Neural networks: Applications in industry, business and science", ACM communications, Vol-37, 1.994.

    Hagan, Martin T, “Neural Network Design”, PWS Publishing Company,1996.

    J.R. Hilera González y V.J. Martínez “Redes Neuronales Artificiales: Fundamentos, modelos y aplicaciones”, RA-MA, 1995.

    Varios, “Aprendizaje Automático”, Edicions UPC, Barcelona, CAT, 1994.

    [HEBB49] D.O Hebb. “The organization of Behaviour” John Wiley & sons, New York, 1949.

    [MINS69] M. Minsky & S. Papert, “Perceptrons” MIT Press, Cambridge, MA, 1969.

    Web's Sites

    http://www.geocities.com/SiliconValley/Campus/9756/RNA_index.htm

    http://elgva1.usc.es/~antonio/rn/temas-rn.htm

    http://www.gc.ssr.upm.es/inves/neural/ann2/anntutorial.html

    http://boletin-fh.tid.es/bole19/art002.htm#biologico

    http://www.dbai.tuwien.ac.at/marchives/

    http://www.eupmt.es/cra/inform/info11.htm

    http://mediapolis.es/tethys/num1/Clabsa_CAS.htm

    http://www.ecm.ub.es/aern/rn0.htm

    http://decsai.ugr.es/~castro/MCII/node20.html

    http://www.aircenter.net

    http://moon.inf.uji.es/%7Ejavi/historia/eniac.htm

    Introducción a las Redes Neuronales

    28

    Redes neuronales

    Redes neuronales

    Redes neuronales




    Descargar
    Enviado por:Ricardo
    Idioma: castellano
    País: México

    Te va a interesar