redes neuronales
REDES
FEEDFORWARD
gian frank garcia
redes neuronales Redes neuronales es una revista dedicada a la ciencia y tecnología, creando un espacio de conocimientos hacia los diferentes tipos de redes neuronales, entendiendo estas como un conjunto de neuronas conectadas entre sí y que trabajan en conjunto, sin que haya una tarea concreta para cada una. La presente edición, tratara el tema de las redes feedforward la cual corresponde a corresponde a la clase de red neural artifical más estudiada por el ámbito científico y la más utilizada en los diversos campos de aplicación, la cual sera desarollada en la presente revista.
directorio director general Gian Frank Garcia redacción Gian Frank Garcia editor Gian Frank Garcia oficina Universidad Bicentenario de Aragua Núcleo San Antonio de Los Altos
REDES NEURONALES
ARTIFICIALES En las última década las Redes Neuronales Artificiales han recibido un interés particular como una tecnología para minería de datos, puesto que ofrece los medios para modelar de manera efectiva y eficiente problemas grandes y complejos. Los modelos de ANN son dirigidos a partir de los datos, es decir, son capaces de encontrar relaciones (patrones) de forma inductiva por medio de los algoritmos de aprendizaje basado en los datos existentes más que requerir la ayuda de un modelador para especificar la forma funcional y sus interacciones. Las Redes neuronales artificiales son un método de resolver problemas, de forma individual o combinadas con otros métodos, para aquellas tareas de clasificación, identificación, diagnóstico, optimización o predicción en las que el balance datos/conocimiento se inclina hacia los datos y donde, adicionalmente, puede haber la necesidad de aprendizaje en tiempo de ejecución y de cierta tolerancia a fallos.
REDES FEEDFORWARD Funcionamiento Es un tipo de red neuronal artificial en donde la información fluye en un único sentido desde las neuronas de entrada a la capa o capas de procesamiento, para los casos de redes monocapa y multicapa, respectivamente; hasta llegar a la capa de salida de la red neuronal
Estas redes se caracterizan por ejecutar el procesamiento de datos en una sola dirección. Distinguiéndose tres capas principales de unidades independientes de cómputo llamadas neuronas: la capa de entrada, donde se reciben los datos a procesar; la capa intermedia, donde se da el procesamiento propiamente dicho y la capa de salida. Son redes relativamente fáciles de programar, por lo que son muy populares entre la comunidad científica.
REDES FEEDFORWARD Matemáticamente A muy grandes rasgos, el trabajo de la red es ingresar los datos a través de las neuronas de la capa de entrada, y al pasar la información a la siguiente capa, llamada oculta, cada una de las neuronas receptoras recibe la suma ponderada de todas las entradas conectadas a ella. Pues cada conexión entre neuronas representa un peso de conexión. Lo que matemáticamente se puede resumir como:
Donde wij son los pesos de cada conexión de las xj neuronas a la neurona receptora. Pero, al igual que sucede con las neuronas biológicas reales, a menos que el estímulo tenga cierta magnitud, la información se procesa, de lo contrario se ignora. En las RNAf se logra mediante un valor umbral mi, y a menos que la suma ponderada supere un valor dado, se considera la salida efectiva de la información procesada. Nuevamente, se puede expresar como:
REDES FEEDFORWARD Aprendizaje El proceso de aprendizaje de la neurona puede ser del tipo conocido como entrenamiento supervisado. Esencialmente es un ciclo donde se cuenta con un conjunto de valores objetivo el cual sirve de patrón de comparación para la salida que arroja la red neuronal feedforward. La diferencia entre éstas dos se utiliza para modificar, en la próxima iteración, los valores peso en las interconexiones de las neuronas de la red, a fin de minimizar dicha diferencia (minimizar el error). Diversos algoritmos se utilizan para el aprendizaje de las redes neuronales feedforward. Sin embargo, el más popular es el de propagación reversa (backpropagation algorithm), y se fundamenta en una estrategia simple para reducir el error cuadrático medio, similar al método generalizado de regresión.
REDES FEEDFORWARD Programación Históricamente programar una red neuronal feedforward representaba un gran esfuerzo de codificación de complejas y largas recetas en lenguaje C/C++ o, aún peor, en el eficiente pero críptico FORTRAN. Afortunadamente, en la actualidad se cuentan con robustas plataformas de lenguaje de más alto nivel y generación que permiten una codificación más breve, eficiente, estructurada y legible. Como lo es el software de análisis estadístico R, de código abierto y licencia libre. Cuenta, además, con diversas extensiones, provistas a manera de paquetes adicionales de fácil instalación al cuerpo principal del programa, que proveen de funciones y métodos específicos de diversas áreas del conocimiento. En cuanto Inteligencia Artificial, AMORE es un paquete para diseño, programación y entrenamiento de feedforward para esta plataforma.
SISTEMA FEEDFORWARD Elementos Un sistema feed-forward puede ser ilustrado comparándolo con un sistema retroalimentado familiar, como puede ser el control de crucero de un coche. Cuando está activado, hace que el coche mantenga una velocidad constante. Cuando el coche intenta subir una cuesta, reduce la velocidad por debajo de la marcada, lo que obliga a abrir el gas para mantener la velocidad original (un controlador PI o PID haría esto, nótese que un buen control PID obligaría al coche a recuperar la velocidad tras un breve periodo de respuesta).
Por otra parte un sistema feedforward en cierto modo pronosticaría la deceleración del coche. Por ejemplo, podría medir la pendiente de la carretera y, tras encontrar la cuesta, abriría el gas lo suficiente para afrontar el esfuerzo. De este modo el coche no frenaría en absoluto para corregir la aceleración.
SISTEMA FEEDFORWARD Elementos Sin embargo, existen otros factores además de la pendiente de la cuesta para determinar la aceleración del coche: la temperatura y presión del motor, la composición del combustible, la velocidad del viento, etc. Basar la aceleración únicamente en la pendiente a afrontar podría no resultar en una velocidad constante. Puesto que no hay comparación entre la variable de salida (velocidad) y la de entrada, no es posible resolver este problema con un sistema puramente feedforward.
Afortunadamente, ambos tipos de sistemas no son mutuamente excluyentes: el sistema feed-forward descrito podría ser combinado con el retroalimentado del sistema tradicional de control de crucero para poder dar una respuesta rápida y la correspondiente corrección si fuese necesario ante cualquier error de éste. Los sistemas feed-forward no tienen los problemas de estabilidad propios de los retroalimentados. Sin embargo necesitan de una relación causa-efecto precalibrada. Esta es otra forma de explicar que estos sistemas deben aplicarse a alteraciones medibles con efectos conocidos.