IDENTIFICACIÓN DE RESPUESTAS DINÁMICAS POR REDES NEURONALES Francisco Casanova del Angel1 José Luis Hernández González2 1: IPN, J de Dios Bátiz S/N Edif. 12, 3er piso. 07738 Lindavista. México, D. F. [email protected] 2: Instituto Tecnológico de Apizaco. [email protected] RESUMEN Las redes neuronales artificiales han evolucionado vertiginosamente e innovado conceptos con poco desarrollo en décadas pasadas. Su implementación en una gran cantidad de modelos y aplicación a infinidad de problemas en ingeniería motiva a utilizarlas en la solución de sistemas dinámicos con un grado de libertad y el análisis de múltiples grados de libertad. Aquí utilizamos el modelo matemático del sistema de un grado de libertad para entrenar su modelo neuronal, se presenta la metodología para resolver sistemas con múltiples grados de libertad, y se observa que el procedimiento de cálculo es acelerado con resultados aceptables. SUMMARY The artificial neural networks have developed vertiginius and innovating concepts with little development in last decade. The implementing in a huge quantity of neural models and their application to infinity of problems on engineering this motivate to use, in the solution of dynamics system with a single freedom grade and the multy degree freedom. It uses a mathematical model of single freedom grade to training a neural model and it is presented the methodology to solve multy degree freedom systems, we are looking that the calculation procedure is accelerated and the result acceptable. Palabras clave: aprendizaje, entrenamiento, grados de libertad, identificación modal, inteligencia artificial, MATLAB, redes neuronales artificiales, Runge-Kutta. INTRODUCCIÓN El gran adelanto en la informática y la aplicación que se le ha dado al uso de la computadora en los últimos años, nos ha obligado no sólo a utilizarla como un instrumento al que únicamente se le asignan tareas rutinarias, las cuales no tan sólo resuelven con gran rapidez y exactitud, sino que también son capaces de tomar decisiones lógicas. Esto ha sido un motivo para desarrollar una nueva rama de la ciencia denominada inteligencia artificial. El concepto se interpreta como un mecanismo automatizado capaz de resolver problemas por medio de habilidades cognoscitivas, así como el uso adecuado de técnicas durante la toma de decisiones, considerándose una rama de la ciencia con aplicación a cualquier área del conocimiento humano, lo que ha propiciado utilizarla como alternativa de solución a problemas cotidianos de ingeniería, donde las técnicas que se utilizan para la formulación, solución analítica y métodos numéricos no han sido suficientemente adecuadas en algunos casos. En inteligencia artificial existe un tema conocido como redes neuronales artificiales, que es el resultado de intentar simular el funcionamiento del cerebro humano informáticamente. Las redes neuronales artificiales tratan de desarrollar un proceso de aprendizaje de una actividad simulando el proceso que lleva a cabo el cerebro humano, por medio de una red que recibe señales del exterior procesándolas a través de funciones de peso y generando una señal de salida, Lippmann. (1987), Khanna (1990). ESTADO DEL ARTE Históricamente, el estudio de las redes neuronales artificiales comenzó en los años veinte cuando los psicologistas intentaron plantear bases neuronales de la inteligencia (se tienen antecedentes de estudios de psicoanálisis en los años 1800’s). Posteriormente, en 1943 McCulloch y Pitts propusieron una teoría del procesamiento de información, basada en un modelo matemático de red neuronal artificial, que se denominó neurona,.Simpson (1990). En 1957, Frank Rosenblantt generalizó el modelo de McCulloch y Pitts adicionando el aprendizaje llamándolo "Perceptrón", que consiste en dos capas de neuronas, una de entrada y otra de salida. En 1959, Bernard Widrow desarrolló una red neuronal artificial similar al Perceptrón llamada Adaline, la cual ajusta sus pesos entre las capas de entrada y salida mediante el error de la respuesta de la red neuronal y la salida deseada. En 1964, Stephen Grossberg estudió los modelos biológicos y el fenómeno de procesamiento de información humana, incluyendo en su trabajo el estricto análisis matemático. En 1971, Tuevo Kohonen desarrolló su investigación con conexiones aleatorias, poniendo atención a las matrices de correlación de memoria asociada. Sutton y Barto, en 1878, desarrollaron la teoría del reforzamiento del aprendizaje. En 1982, John Hopfield propone un modelo basado en una ecuación de energía que puede ser construida con las actividades de una red de una capa, en un tiempo discreto. Actualmente se siguen estudiando modelos, sin embargo, el planteamiento que se le da en relación al cerebro humano es solamente esquemático, llamándoles modelos conectivistas. En 1988, Charles W. Anderson simula un mecanismo de control para el aprendizaje del balance de un péndulo invertido, el cual es modelado por la ecuación de un grado de libertad, considerando las propiedades no lineales del sistema, Anderson (1989). En 1993, Masri, Chassiakos y Caughey, tratan la identificación de un sistema no lineal resolviendo la ecuación diferencial que representa a tal sistema, por medio del método de Runge Kutta y el entrenamiento lo llevan a cabo con el algoritmo de retropropagación, Masri et al. (1993). Función de activación sigmoidal Este tipo de función es el más usado debido a que produce un valor cercano a uno. Pero la principal razón es que su derivada siempre es positiva y cercana a cero para valores elevados, Hilera y Martínez (1995), Simpson (1990). S(x) = (1 + e-x)-1 También puede usarse una tangente hiperbólica, Simpson (1990). Retropropagación Basados en investigaciones anteriores Rumelhart, Hinton y Williams, ver Masri et al (1993), desarrollaron un método de red neuronal que aprende utilizando más niveles de neuronas que el Perceptrón. El método se conoce como retropropagación backpropagation; basado en la regla Delta las redes de retropropagación son siempre jerárquicas, esto es, contienen al menos tres capas: una de entrada, una media y una de salida, ver figura 1. Identificación de respuestas dinámicas por redes neuronales patrones de entrada capa de entrada capa media capa de salida salida Figura 1. Red de retropropagación. Su funcionamiento se basa en dos fases: primero se aplica un patrón de entrada como estímulo para la primera capa, se propaga a través de las siguientes capas hasta generar una salida, se compara el resultado obtenido con el resultado que se desea obtener (por esta razón se le llama entrenamiento supervisado), se calcula el error para cada neurona de salida. Los errores se propagan hacia atrás, desde la capa de salida recibiendo un porcentaje de error aproximado, se repite el proceso en todas las capas tratando de que el error disminuya. Una red de retropropagación modifica la regla Delta para adaptarla a una red de multicapas, llamándole la regla Delta generalizada. Primero se calculan las entradas a la red por medio de: n I= ∑ w x i i i =1 Los valores de entrada se pasan por la función de activación, generalmente puede ser una función en forma de S, frecuentemente se utiliza la función sigmoidal. f(I) = 1 1 + e −I La ventaja de esta función es que su derivada df(I)/dI = f(I)(1-f(I)) es fácil de calcular. La regla Delta especifica el cambio de pesos en la conexión como ∆wij = β E f(I) donde E es el error de la neurona, β es una constante de aprendizaje El error en la capa de salida es propagado a las neuronas de la capa media: E salida = y deseada − y actual j j j media df(I )n media salida = i ) E ∑ (wE ij i dI j =1 j Desarrollo La aplicación clásica de las redes neuronales es el reconocimiento de imágenes o símbolos mediante el uso de datos binarios. El objetivo es realizar el entrenamiento de la red neuronal para reconocimiento de imágenes o textos y demostrar que pueden aprender tareas "complejas". Esto se hace mediante el uso de una matriz binaria que representa un número o letra como valor de entrada y su correspondiente código ASCII como valor de salida, se entrena la red para ajustar los pesos. Algunos autores utilizan el problema de reconocimiento de imágenes para probar la red que se está utilizando, así como los diferentes valores de entrenamiento β y aprendizaje α, o para observar el comportamiento del cambio del error que se presenta en la misma, Caudill y Butler (1993), Gómez et al (1991). Para el entrenamiento de nuestra red se utilizó un archivo de patrones con números así como un archivo de patrones para las letras del alfabeto, las que se codificaron de la siguiente manera, figura 2: Identificación de respuestas dinámicas por redes neuronales Reconocimiento de caracteres 0 1 0 0 0 0 0 1 binario = 65 decimal Vector de entrada Respuesta deseada Figura 2. Representación de la letra “A”. Tabla 1. Función seccionalmente continua. n U Bias S 1 0.00000 1 0.0540084 2 0.04500 1 0.0667684 3 0.09000 1 0.0795284 4 0.13500 1 0.0922883 5 0.18000 1 0.1050483 6 0.22500 1 0.1178083 7 0.27000 1 0.1306683 8 0.31500 1 0.1433283 9 0.36000 1 0.1560883 10 0.40625 1 0.1886471 11 0.45250 1 0.2220499 12 0.49875 1 0.2554527 13 0.54500 1 0.2888554 14 0.59050 1 0.3314948 15 0.63600 1 0.3733144 16 0.68100 1 0.4281632 17 0.72700 1 0.4843853 18 0.77200 1 0.5393852 19 0.81800 1 0.6132396 20 0.86300 1 0.6964996 21 0.90900 1 0.7613876 22 0.95400 1 0.8346476 23 1.00000 1 0.9395356 APLICACIÓN Muchos problemas de ingeniería tratan de formular sistemas físicos con la combinación de funciones que permitan representar las características en forma continua por medio de funciones llamadas seccionalmente definidas, que pueden ser una combinación de funciones lineales, exponenciales, trigonométricas o polinomiales, cualquiera que sea el caso, se define el fenómeno con una o varias funciones dentro de un intervalo dado, Tihbault y Grandjean (1990). Los puntos discretos los podemos observar en la tabla 1. Los valores obtenidos se introducen a un archivo de datos, y debido a que durante el proceso de programación de la red neuronal en lenguaje C (BACKPROP.C), no se consideró el término bias (también llamado umbral), se incluye en el conjunto de datos de entrada como se muestra en la tabla 1. Teóricamente esta suposición no realiza la operación deseada, ya que el término bias también hace uso de una matriz de pesos, sin embargo se considera como información adicional para realizar el entrenamiento de la red neuronal. En la figura 3 se presenta cómo cambia la aproximación de la función. Identificación de respuestas dinámicas por redes neuronales Figura 3. Aproximación de la función. Sistemas de un grado de libertad Considérese la siguiente ecuación diferencial no lineal, Masri et al (1991): my’’(t) + g(y, y’) = u(t) sujeta a la siguiente excitación u(t) = (2π)2sen(0.21πt) y la función no lineal g(y, y’) g(y, y’) = ay + by3 + cy donde m = 1, a = 2π, b = 10 y c = 1.25 y’’+ 2πy + 10y3 + 1.25y = (2π)2sen(0.21πt) La solución se encontró con el método de Runge-Kutta, para incrementos de 0.1 y con condiciones iniciales de: y(0) = 0 y y’(0) = 0. Se entrenó la red neuronal artificial con un algoritmo modificado de MATLAB que consiste en una capa de entrada “el desplazamiento y la aceleración”, una capa oculta de 8 neuronas, una segunda capa oculta de 15 neuronas y una capa de salida deseada con la función no lineal. El tiempo corresponde a 20 segundos en incrementos de 0.2; la tabla 2 muestra una parte del archivo de datos utilizado. Tabla 2. Datos normalizados de la ecuación diferencial no lineal n t 1 2 3 4 ... 101 0 0.2 0.4 0.6 ... 20.0 Datos de entrada y(t) y’(t) 0.503898 0.444912 0.534416 0.568172 0.728134 0.677037 0.833898 0.396103 ... 0.116933 0.963273 Salida deseada g(y, y’) 0.557684 0.529087 0.596056 0.666947 .... 0.323238 La figura 4 muestra cómo evolucionó el entrenamiento de la red neuronal artificial incisos a) al d), podemos observar cómo en cada iteración en el ajuste de los pesos disminuye el error entre la respuesta de la red neuronal y la respuesta deseada. Figura 4. Evolución de la red neuronal para la ecuación diferencial. Para efectuar el análisis modal, se entrenó la RNA modificada de MATLAB para un sistema de 10 grados de libertad. La red neuronal consiste en una capa de entrada con los datos correspondientes a las masas, rigideces, la matriz modal, dos capas ocultas con 10 neuronas cada una y una capa de salida con las frecuencias naturales del sistema. El número de neuronas en las capas ocultas fueron variados para diferentes tiempos de entrenamiento. Por simplicidad y tiempo para el entrenamiento se optó por considerar al sistema dinámico con pocos valores; de lo cual se obtuvo un tiempo de entrenamiento bajo; aproximadamente de 50 a 60 segundos en una computadora con procesador Pentium II, en realidad un sistema complejo con mayor cantidad de datos puede tomar tiempos de entrenamiento mucho mayores. Para esquematizar cómo se dio la información al sistema de cómputo, se muestra la aplicación a un modelo de tres grados de libertad, ver figura 5. m3 = 1.0 k = 60 t/cm m2 = 1.5 k = 120 t/cm m1 = 2.0 k = 180 t/cm Figura 5. Sistema con 3 grados de libertad. El entrenamiento consistió en dar una matriz de entradas al sistema con los datos de la tabla 3, las columnas (1), (2), (3) representan la matriz de masas del sistema, las columnas (4), (5), (6) son la rigidez y las columnas (7), (8), (9) son la matriz modal. El vector de salida deseada está dado por las frecuencias naturales del sistema. Tabla 3. Datos para el análisis modal para sistema con 3 grados de libertad. (1) (2) (3) (4) Masa (5) (6) (7) Rigidez (8) (9) (10) ω Matriz modal 2 0 0 300 -120 0 1.000 1.000 1.000 4.58 0 1.5 0 -120 180 -60 2.135 0.899 -1.044 8.82 0 0 1 0 -60 60 3.285 -1.044 0.411 14.56 En este caso la gráfica representativa del sistema será la llamada “gráfica de residuales” en el análisis de regresión lineal, que en realidad muestra la dispersión que existe en un conjunto de datos. Para el caso de las redes neuronales artificiales, se grafica la variación del error respecto al número de iteraciones efectuadas en el entrenamiento. El error que se utilizó para detener el entrenamiento fue de 0.0001, proporcionando los resultados dados en la tabla 4. Tabla 4. Frecuencias teóricas vs. neuronales 3 grados de libertad ω teórico ω neuronal 4.8 4.5811 ≈ 4.80 9.82 9.8155 ≈ 9.82 14.56 14.5537 ≈ 14.56 Identificación de respuestas dinámicas por redes neuronales n ω teórica ω neuronal 1 15.33 15.3308 2 14.84 14.8387 3 14.03 14.0285 4 12.90 12.9000 5 11.48 11.4808 6 9.79 9.7900 7 1.18 1.1799 8 3.51 3.5103 9 7.87 7.8707 10 5.76 5.7617 Figura 6. Modos de vibrar 10 grados de libertad. Podemos observar en la tabla 4, que la respuesta de la red es semejante a la salida deseada. Con los pesos de la red podemos encontrar los modos de vibrar para el sistema, modificando solamente el archivo original de datos y aplicando la propagación ascendente con los pesos obtenidos en la etapa de entrenamiento. Los valores obtenidos se presentan en la figura 6, la que muestra algunas formas modales. CONCLUSIONES Basándonos en la simplificación de propiedades físicas y geométricas, la solución no representa a la realidad del sistema. En el intento por encontrar nuevas metodologías de solución se cuestiona e incursiona en la teoría de la inteligencia artificial, que se ha diversificado generando una serie de alternativas que permiten encontrar soluciones lo más reales al sistema analizado; es decir, la inteligencia artificial proporciona metodologías basadas en el razonamiento y en la solución cognoscitiva de los problemas ayudándose de sistemas de cómputo desarrollados con ciertas cualidades “de inteligencia”. La evolución de la informática ha sido vertiginosa, y promete grandes expectativas en las décadas siguientes, como es el caso de las redes neuronales artificiales. La propuesta de dar solución a problemas de sistemas dinámicos se ha extendido desde el uso de una red neuronal artificial para el reconocimiento de ondas sísmicas y el análisis de sistemas de un grado de libertad, hasta la solución de sistemas de varios grados de libertad. En la formulación de sistemas de control, se ha desarrollado una vasta cantidad de sistemas de cómputo que permiten estudiar y analizar sistemas dinámicos, mismos que posiblemente podamos aplicar en la ingeniería civil. Si bien se han desarrollado una gran variedad de modelos neuronales, la falta de conocimiento en la teoría, formulación e implementación ha dificultado la aplicación a problemas reales en la ingeniería civil, siendo los actuales estudios sólo “proyectos de investigación” y no de aplicación, basados en el mismo algoritmo de solución. REFERENCIAS Anderson Charles W. (1989). Learning to control an inverted pendulum using neural networks. IEEE. Control System Magazine, pp. 31-35. Caudill Maureen and Butler Charles. (1993). Understanding Neural Networks. Computer explorations volumen 1: Basic Networks. A Bradford Book. The MIT Press. Cambridge, Massachusetts. London, England. Fourth Printing. Gómez Ramírez E. Martínez Casas, G. y Figueroa Nazuno, J. (1991). Neuromex V: Neurocomputadora desarrollada con microcontroladores para el reconocimiento de patrones binarios. Simposium Nacional de Cómputo. IPN. CENAC. Hecht-Nielsen, R. (1988). Neurocomputing: Picking the human brain. IEEE. Spectrum. Hernández González, J. L. (2000). Identificación de respuestas dinámicas por redes neuronales. Tesis de grado a nivel maestría en Ciencias con especialidad en estructuras. SEPI de la ESIA, Unidad ALM del IPN. México, D.F. Hilera González, J. R., y Martínez Hernando, V. J. (1995). Redes neuronales artificiales. Fundamentos, modelos y aplicaciones. Addison-Wesley Iberoamericana. RA-MA. Wilmington, Delaware, E.U.A. Khanna Tarun. (1990). Foundations of Neural Networks. Addison-Wesley Publishing Company. Lippmann Richard, P. (1987). An introduction to computing with neural nets. IEEE. ASSP Magazine, pp. 4-22. Masri, S. F. Chassiakos, A. G. and Caughey, T. K. (1993). Identification of nonlinear dynamic systems using neural networks. Journal of Applied Mechanics. vol. 60, pp. 123-133. Simpson Patrick, K. (1990). Artificial Neural Systems.Foundations, Paradigms, Applications, and Implementations. Pergamon Press. First edition. Tihbault, Jules and Grandjean, Bernard P. A. (1990). A neural network methodology for heat transfer data analysis. Heat Mass Transfer. vol. 14, Nº 8, 2063-2070. Pergamon Press. Great Britain. Van Nostran Reinhold.