IDENTIFICACIÓN DE RESPUESTAS DINÁMICAS POR

Anuncio
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.
fcasanova@laneta.apc.org
2: Instituto Tecnológico de Apizaco.
jluishernandezg@yahoo.com
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.
Descargar