PRIMEROS RESULTADOS EN EL ESTUDIO DE · PDF fileefecto memoria, ya que la salida...
Transcript of PRIMEROS RESULTADOS EN EL ESTUDIO DE · PDF fileefecto memoria, ya que la salida...
PRIMEROS RESULTADOS EN EL ESTUDIO DE SOLUCIONES
BASADAS EN NEUROCONTROL PARA UN PUENTE GRUA
Urko Gómez, Eloy Irigoyen, Vicente Gómez, Fernando Artaza
Grupo de Investigación de Control Inteligente, Universidad del País Vasco (UPV/EHU), Alda. Urquijo S/N,
48013, Bilbao, [email protected], {eloy.irigoyen;vicente.gomez;fernando.artaza}@ehu.eus
Resumen
El estudio y análisis de las Técnicas Inteligentes
basadas en RNA, aplicadas a la identificación y
control de sistemas no-lineales multivariable es una
línea de investigación que hoy en día todavía sigue
en boga. Aunque actualmente se pueden encontrar
multitud de estudios sobre neurocontrol aplicado a
sistemas no-lineales y técnicas híbridas como neuro-
fuzzy o combinadas con algoritmos genéticos, sigue
existiendo la posibilidad de ampliar estos estudios
considerando otras posibles técnicas de control. En
este trabajo se presenta un estudio de los resultados
de simulación obtenidos del control de un sistema no
lineal multivariable, como es la grúa 3D de Inteco,
por medio del Approximate Predictive Control
(APC).
Palabras Clave: Identificación, NeuroControl, APC,
GPC, MIMO, ARX
1 Introducción
Las redes neuronales artificiales (RNA) son un
paradigma de aprendizaje y procesamiento
automático inspirado en la forma en que funciona el
sistema nervioso de los animales. Se trata de un
sistema de interconexión de neuronas que colaboran
entre sí para producir un estímulo en la salida, es
decir, son sistemas complejos no-lineales
distribuidos.
Desde los primeros modelos de RNA de 1943 [14],
pasando por la red perceptron simple [29], la red
ADALINE [21], hasta llegar a configuraciones
multicapa [9] y de mayor complejidad [17,18], sus
principales propiedades de auto-organización,
aprendizaje [10] y actualmente la más importante la
aproximación a funciones [5], que es básico para el
control en lazo cerrado, se basa en la suposición de
que cualquier RNA puede aproximarse a cualquier
función [11].
Una buena clasificación de las RNA se puede hacer
seleccionándolas por su diseño y sus propiedades.
Atendiendo a esta tipología y por su interés en este
trabajo se pueden enumerar las siguientes:
- La Perceptrón Simple [19], cuyo modelo
matemático es la neurona. Esta RNA es capaz de
realizar tareas de clasificación de forma automática, a
partir de un número de ejemplos mediante procesos
de aprendizaje supervisados. También puede
integrarse como neurona simple en otro tipo de RNA.
- Multi Layer Perceptron (MLP), es las más sencilla
de construir y a partir de ella se crean RNA más
complejas o dirigidas a aplicaciones más concretas.
La red se construye ordenando las unidades en capas,
siendo únicamente la entrada a la siguiente capa la
salida de la anterior capa, es decir, la salida de cada
capa no se retroalimenta, por ese motivo se denomina
red feedforward.
Figura 1: MLP
- Functional Link ANN (FLANN) [17], es una
estructura alternativa a las tradicionales, usada en la
identificación de sistemas no lineales. Con la correcta
selección de la ampliación funcional este tipo de
RNA puede igualar y superar el rendimiento de otro
tipo de RNA.
- RNA recurrentes, son redes MLP modificadas con
lazos de realimentación en los nodos de la propia red.
La principal ventaja frente a las redes MLP es el
efecto memoria, ya que la salida también depende de
instantes anteriores.
La identificación de sistemas ha recibido una gran
atención en los últimos años y ahora es cuando se ha
conseguido una cierta madurez en este campo,
Actas de las XXXVI Jornadas de Automática, 2 - 4 de septiembre de 2015. Bilbao ISBN 978-84-15914-12-9 © 2015 Comité Español de Automática de la IFAC (CEA-IFAC) 751
consiguiendo que las RNA se puedan usar como
modelos o simuladores del proceso [16]. En el
presente trabajo se realiza una presentación de estas
cuestiones en el capítulo 4, donde se muestra el
ejemplo de un modelo neuronal para el sistema
puente grúa. Posteriormente, con objeto de presentar
las ventajas de utilizar un control APC, se
presentarán en el capítulo 5 diferentes soluciones de
neurocontrol del sistema mencionado.
2 Estructura y entrenamiento de la
RNA seleccionada
La RNA seleccionada para este estudio es la MLP,
siguiendo el esquema de la figura 1, con una
configuración de dos capas, una oculta y otra de
salida, considerándose el vector de entradas en la
capa de entrada (capa0). Si se considera que la matriz
corresponde a los pesos y bias de la primera capa,
y la matriz corresponde a los pesos y bias de la
segunda capa, es la función de activación de la
capa oculta, y es la función de activación de la
capa de salida, se puede establecer que para la capa
de salida, el vector es la predicción que realiza la
RNA. La expresión matemática que aglutina toda
esta configuración y define la salida de esta red MLP
de dos capas es la siguiente:
(1)
Siendo la matriz donde se almacenan todos los
pesos y bias , la salida de la capa oculta.
Según los estudios de Cybenko [5] se demuestra que
se puede aproximar esta función gi a cualquier
función continua, con una RNA de dos capas, con
una activación sigmoidea o tangente hiperbólica en
su capa oculta y una activación lineal en su capa de
salida. A pesar de que en dichos estudios el cálculo
del numero de neuronas no es presentado, se puede
hacer uso de los estudios de Barron [2], donde se
propone cómo obtener un valor aproximado.
2.1 Reproducción del modelo
La reproducción del modelo a elegir es básica a la
hora de identificar los parámetros con los que se
hallará la información relevante del sistema
modelado, para después realizar su respectivo
control. Un sistema lineal se puede describir de la
siguiente manera,
(2)
De las diversas estructuras existentes para representar
los modelos de un sistema (FIR, ARMAX, OE, etc.)
en este trabajo se ha seleccionado la ARX
(AutoRegressive, eXternal input), a la cual le
corresponde la siguiente asignación de G y H.
(3)
(4)
De esta forma el predictor, la salida predicha por la
RNA, queda dado por,
(5)
Donde el vector de entrada, es,
(6)
, son los parámetros que deseamos calcular del
modelo,
(7)
2.2 Entrenamiento
La estimación de los pesos de la RNA, es un proceso
iterativo, dando al principio unos valores iniciales y
actualizándolos a cada iteración dependiendo de unos
criterios seleccionados. El método de actualización
elegido en este trabajo es PEM (Prediction Error
Method), [13], utilizando como función de coste o
Jacobiano el error cuadrático medio entre la salida
del sistema y la salida de la RNA, . Donde la
definición de los parámetros de este método son:
como la dirección de descenso (search direction), y
como el step size o learning rate.
Este trabajo ha profundizado en la búsqueda de la
dirección de descenso, que es estimada a cada
iteración, ya que lo que se busca en el cálculo de los
pesos es encontrar el mínimo global y no caer en un
mínimo local. Por ello, a continuación se presentarán
explicados los métodos de búsqueda.
Para los diferentes métodos de búsqueda utilizados,
se va a necesitar la expansión de Taylor de segundo
orden de la función de coste, y así poder calcular el
Gradiente y el Hessiano, que es la matriz de
derivadas de segundo orden.
(8)
(9)
Donde el Gradiente se define por,
Actas de las XXXVI Jornadas de Automática, 2 - 4 de septiembre de 2015. Bilbao ISBN 978-84-15914-12-9 © 2015 Comité Español de Automática de la IFAC (CEA-IFAC) 752
(10)
Y el Hessiano es definido por,
(11)
Así, la condición suficiente para que sea el
mínimo de es,
(12)
Si se analiza el método de descenso de Gradiente, se
observa que se basa en modificar a cada iteración los
pesos alrededor de la dirección opuesta del
Gradiente, siendo la dirección de descenso la
siguiente.
(13)
Por lo tanto, la actualización de los pesos queda
expresada de la siguiente manera,
(14)
Si escogemos adecuadamente pequeño es posible
obtener una reducción de la función de coste, de tal
forma, .
La convergencia depende altamente de , para
realizar un buen calculo de este se puede controlar de
forma adaptativa [12].
Por otro lado, el método de Levenberg-Marquardt, es
un método de optimización, que se mueve entre el
algoritmo de descenso de Gradiente y el algoritmo de
Gauss-Newton, en función de su velocidad de
convergencia. En este algoritmo la dirección de
descenso queda dada por,
(15)
En el aprendizaje de RNA, este método es el más
utilizado, debido a su rápida y robusta convergencia.
A estos algoritmos de entrenamiento se suma el
método de Backpropagation, el cual emplea un ciclo
retropropagación – adaptación de dos fases. Una vez
que se ha aplicado un patrón a la entrada de la red
como estímulo, este se propaga desde la primera capa
a través de las capas superiores de la red, hasta
generar una salida. La señal de salida se compara con
la salida deseada y se calcula una señal de error para
cada una de las salidas.
De este modo, el Gradiente de la capa oculta hacia la
capa de salida es
(16)
(17)
Y por otro lado, el Gradiente de la capa de entrada
hacia la capa oculta es
(18)
(19)
2.3 Solución Propuesta
Primeramente, para extraer el modelo simplificado de
una planta no-lineal y utilizarlo en el posterior
control se ha escogido una MLP por motivos de
computación, debido a que durante el control, la
información del modelo de la planta ha de ser
recibida lo antes posible en cada iteración. Además,
en este caso no interesa que exista un autoaprendizaje
durante el funcionamiento, por lo tanto una red MLP
es más adecuada a la resolución de este problema de
identificación.
La estructura elegida es una RNA
de dos capas, una oculta con activación tangente
hiperbólica y salida con activación lineal [5].
La reproducción de modelo usado en la RNA será
una ARX, por sus propiedades de estabilidad a la
hora de representar el modelo. Además, es una de las
estructuras más utilizadas en la literatura por sus
prestaciones a la hora de aproximar comportamientos
de funciones no lineales [13].
En la parte de control neuronal también utilizaremos
una MLP ARX, por su sencillez y sus buenos
resultados, en el apartado de control se presentará su
topología.
3 Puente Grúa
Un puente grúa es una estructura electromecánica
capaz de trasladar un carro-transfer a lo largo del
plano XY dentro de la zona de trabajo, ayudándose
de un conjunto de sensores que permiten detectar las
posiciones extremas en cada uno de los ejes. La carga
permanece suspendida del carro-transfer mediante un
cable de longitud R que permite el movimiento
vertical de la carga y su oscilación.
Para el control de posición de la carga suspendida, la
carga puede oscilar libremente alrededor del punto
, origen del sistema de coordenadas móvil
situado en el carro-transfer, tal y como se
muestra en la figura 2. Este movimiento libre, de tipo
pendular en los tres ejes, y de radio R, es el
Actas de las XXXVI Jornadas de Automática, 2 - 4 de septiembre de 2015. Bilbao ISBN 978-84-15914-12-9 © 2015 Comité Español de Automática de la IFAC (CEA-IFAC) 753
responsable de que aparezcan los términos no
lineales.
Figura 2: Puente Grua 3D (©Inteco)
4 Identificación
Para realizar una buena identificación lo más
importante es un buen entrenamiento. Para ello
utilizamos un entrenamiento “batch”. Los métodos
batch, se refieren a que a cada iteración son
utilizados todo el bloque de datos para su
entrenamiento. Además, se utiliza un algoritmo de
Levenberg-Marquardt con una pequeña variación
para el cálculo adaptativo de [16].
Levenberg-Marquardt es un método de región de
confianza, diseñado específicamente para mínimos
cuadrados no lineales. Seleccionando la región de
confianza como una esfera de radio , si aumenta
debe disminuir, y al contrario. La minimización se
puede realizar como
(20)
Sujeto a
Por lo tanto se convierte en un problema de
optimización con restricciones
(21)
(22)
La esfera de radio se interpreta como la región
alrededor de . Donde se debe hallar en su interior
la aproximación , para validar como una
aproximación de la función de coste, .
(23)
La idea es observar cómo se reduce la función de
coste respecto a la nueva predicción
y con la aproximación . Para medir la precisión
de la aproximación, se usa el siguiente radio :
(24)
Algoritmo de entrenamiento propuesto:
1) Seleccionar los valores iniciales de y
2) Determinar la dirección de búsqueda
3) 4) 5) se acepta
como una nueva iteración
y se deja
6) Si no se ha cumplido el criterio de parada ir
al paso 2
4.1 Diseño y resultados de la RNA de
identificación
Para conseguir el modelo de la planta, el diseño de
RNA más simple que da buenos resultados es una red
MLP de dos capas, con reproducción del modelo
ARX.
Capa 0: capa de entrada, según el modelo ARX,
, .
(25)
Capa oculta: formada por 22 neuronas, con función
de activación tangente hiperbólica.
Capa de salida: formada por dos unidades con
función de activación lineal.
Para el entrenamiento y validación de la RNA, se han
utilizado dos tipos de señales diferentes. Para el
entrenamiento una entrada aleatoria más general,
para asegurarnos de que la red aprende en vez de
memorizar los resultados, y para la validación se
utilizan señales que trabajen en el rango de control.
Figura 3: Entrenamiento en el eje X
0 200 400 600 800 1000 1200 1400 1600 1800 2000-20
-15
-10
-5
0
5
10
15Comprobación PosX
muestras
Posic
ión [
m]
0 200 400 600 800 1000 1200 1400 1600 1800 2000-0.01
-0.005
0
0.005
0.01Error
muestras
Posic
ión [
m]
Actas de las XXXVI Jornadas de Automática, 2 - 4 de septiembre de 2015. Bilbao ISBN 978-84-15914-12-9 © 2015 Comité Español de Automática de la IFAC (CEA-IFAC) 754
Figura 4: Entrenamiento en el eje Y
Durante la fase de entrenamiento se ha conseguido
un error aceptable, pero lo importante es evaluar si la
red ha aprendido o simplemente ha memorizado, para
ello se valida la red, con otras señales no utilizadas
durante el entrenamiento y que son próximas al rango
que se utilizará en la aplicación de control.
Figura 5: Validación del eje X
Figura 6: Validación del eje Y
Según las figuras 5 y 6 se comprueba que la red ha
aprendido ya que a diferentes señales de
entrenamiento el error sigue siendo aceptable (menor
a 5·10-3
), por lo tanto hemos conseguido un buen
modelo del sistema.
5 Control Neuronal
A la hora del diseño del control neuronal nos
encontramos con dos tipos de estrategias, el diseño
directo y el diseño indirecto.
El diseño directo se caracteriza en que el controlador
es una RNA, la implementación es sencilla, en
cambio el diseño y la sintonización del controlador
no tanto. Teniendo que reentrenar la red a cada
iteración, por ello las técnicas de entrenamiento
deben ser online, al contrario que en nuestro
experimento de identificación. En este ámbito se
pueden encontrar diferentes tipos de control, control
con modelo inverso de RNA, Control Optimo, etc
El diseño indirecto, siempre está basado en el
modelo. La idea es usar una RNA como modelo del
sistema a controlar. Este diseño es el más flexible, se
puede aplicar control adaptativo, control predictivo
(NPC, APC), etc
5.1 Control APC
En este trabajo, uno de los tipos de control que se ha
decidido estudiar es el APC (Approximate Predictive
Control) [22]. Esta técnica aplica el principio de
linealización instantánea, que le traerá varias
ventajas, ya que cuando el modelo es lineal, la
función de coste solo tendrá un mínimo que se podrá
encontrar directamente sin tener que usar ningún
método iterativo.
El diagrama a seguir al implementar un control APC,
es el siguiente:
Figura 7: Diagrama APC
La función de coste queda de la siguiente manera,
(26)
El modelo se supone ARX, para representar el
sistema son necesarias la matriz mónica A de
dimensión [nºoutput x nºoutput] y la matriz B de
dimensión [nºoutput x nºinput], son calculadas a cada
iteración a través de la linealización instantánea de
una MLP,
(27)
(28)
La función que representa al sistema,
0 200 400 600 800 1000 1200 1400 1600 1800 2000-15
-10
-5
0
5
10
15Comprobación PosY
muestras
Posic
ión [
m]
0 200 400 600 800 1000 1200 1400 1600 1800 2000-6
-4
-2
0
2
4
6x 10
-3 Error
muestras
Posic
ión [
m]
0 50 100 150 200 250 300 350 400 450 500-0.4
-0.3
-0.2
-0.1
0
0.1Comprobación PosX
muestras
Pos
ició
n [m
]
0 50 100 150 200 250 300 350 400 450 500-2
-1
0
1
2
3
4
5x 10
-3 Error
muestras
Pos
ició
n [m
]
0 50 100 150 200 250 300 350 400 450 5000.475
0.48
0.485
0.49
0.495
0.5
0.505Comprobación PosY
muestras
Posic
ión [
m]
0 50 100 150 200 250 300 350 400 450 500-1.5
-1
-0.5
0
0.5
1
1.5
2x 10
-3 Error
muestras
Posic
ión [
m]
Actas de las XXXVI Jornadas de Automática, 2 - 4 de septiembre de 2015. Bilbao ISBN 978-84-15914-12-9 © 2015 Comité Español de Automática de la IFAC (CEA-IFAC) 755
(29)
Interpretando el término de los bias de la RNA como
ruido blanco, introducimos un integrador en el
modelo siendo ahora un ARIX, [4]
(30)
Realizando este paso,
(31)
A través de la siguiente función diofántica podemos
obtener las matrices E y F con la cual calcularemos la
matriz G.
(32)
Siendo G,
(33)
Por lo tanto la ley de control queda representada a
través de la siguiente ecuación,
(34)
Figura 8: Control APC
En la figura 8 encontramos los resultados del control
APC, el cual podemos mejorar o variar según lo
deseado mediante la sintonización de los parámetros,
y .
5.2 Control con modelo inverso de RNA
Otro tipo de control estudiado es realizado mediante
modelo inverso. Asumiendo que el sistema a
controlar es descrito por,
(35)
Entonces la red deseada es aquella que calcula la
acción de control, , mas reciente
(36)
Este modelo de RNA puede ser usado para controlar
nuestro sistema, cambiando la salida en el instante
, por la referencia, .
El objetivo en este caso es que la salida del sistema
siga la señal de referencia, para ello utilizaremos un
entrenamiento recursivo que minimice la siguiente
función de coste.
(37)
El enfoque de este entrenamiento es online, por lo
tanto constituye un controlador adaptativo.
Necesitamos unas aproximaciones derivadas de la
RNA de identificación.
Actualización de los pesos
(38)
Donde el error es,
(39)
Aplicando la regla en cadena
(40)
se halla a través de la RNA de identificación,
utilizando la siguiente aproximación
(41)
Al usar el método de entrenamiento
BackPropagation, se usa como error el error virtual
de la salida de control
(42)
En el diagrama de la figura 9 se muestra el principio
de funcionamiento para este tipo de control.
0 10 20 30 40 50 60 70 80-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6Eje X
Tiempo(seg)
Posic
ión [
m]
0 10 20 30 40 50 60 70 80-3
-2
-1
0
1
2Eje Y
Tiempo(seg)
Posic
ión [
m]
Posición
u
referencia
Actas de las XXXVI Jornadas de Automática, 2 - 4 de septiembre de 2015. Bilbao ISBN 978-84-15914-12-9 © 2015 Comité Español de Automática de la IFAC (CEA-IFAC) 756
Figura 9: Diagrama control con modelo inverso
Figura 10: Control con modelo inverso de RNA
Como se puede observar en la figura 10 este
neurocontrol a pesar de seguir la referencia, comete
un error, para disminuirlo debemos mejorar el
entrenamiento y la topología de la RNA. Aún así
como primer resultado nos abre las puertas para
seguir trabajando en esta dirección. Aunque una
mejora a este control sea un pre-entrenamiento batch
para ajustar los pesos iniciales y no empezar con
unos aleatorios, en este trabajo no hemos conseguido
una mejoría notable del rendimiento.
6 Conclusiones
Las RNA es un paradigma del área de Computación
Inteligente que recientemente ha experimentado un
incremento en su aplicación al control, por lo tanto se
abren grandes posibilidades para su estudio en aras
de integrarlas en soluciones de control inteligente.
En el ámbito del entrenamiento de las RNA, la
elección de las señales es una tarea muy difusa ya
que apenas existen investigaciones sobre cuál es la
metodología o cómo evaluar a priori esas señales
como válidas. Actualmente es una tarea básicamente
intuitiva en manos del diseñador. Aún así podemos
afirmar el gran rendimiento de las RNA a la hora de
identificar sistemas, tanto por su efectividad como
por su sencillez de implementación.
La gran desventaja de las RNA en el control, es la
evaluación de estabilidad en los lazos de control
donde se integran las RNA como controladores. Este
es el mayor inconveniente y en el cual hay que
dedicar un mayor esfuerzo, siendo de especial
relevancia los estudios basados en las funciones de
estabilidad de Lyapunov [1,6]. También existen
nuevas vías teniendo en cuenta la pasividad y
disipatividad de la RNA en el proceso [15,23]. En
este trabajo se ha probado como método de
garantizar la estabilidad, el obtenido mediante un
aprendizaje con restricciones, a partir del algoritmo
CSBP [12]. El mayor inconveniente por ahora es la
ausencia de una técnica general que nos permita
realizar un estudio de estabilidad del
neurocontrolador.
Otra desventaja conocida en el uso de RNA como
controlador, es que a cada iteración debe minimizarse
la función de coste para encontrar la mejor ley de
control. Eso conlleva a que tiene que entrenarse a
cada iteración, y como en este estudio se propone
trabajar con sistemas no lineales, puede que exista
más de un mínimo por lo tanto la convergencia de los
pesos no está garantizada y puede que el controlador
se inestabilice. Además la inicialización de los pesos
en el entrenamiento online es importante debido a la
aleatoriedad de la respuesta, para así minimizar
nuestro objetivo con mayor rapidez, aunque en esta
aplicación un entrenamiento general no nos ha dado
un resultado mejor que el de la figura 10.
En conclusión, las RNA son un tipo de estrategia
muy válida para la identificación y aproximación a
sistemas no-lineales. Las propiedades de no-
linealidad son intrínsecas en la RNA. Lo que es
necesario es desarrollar las técnicas para conseguir
un estudio de estabilidad general aplicadas a estas
redes, para conseguir la RNA óptima (optimizada)
destinada al control.
Agradecimientos
Los autores quieren agradecer la colaboración
prestada por parte de los miembros del Grupo de
Investigación de Control Inteligente de la UPV/EHU.
A su vez, los autores agradecen al MINECO &
FEDER su ayuda a través de la financiación
concedida mediante el proyecto DPI2012-32882.
Referencias
[1] Anon, 2008. Lecture 12 Basic Lyapunov
theory.
[2] Barron, A. R. (1993). “Universal approximation
bounds for superpositions of a sigmoid
function”. IEEE Transactions on Information
Theory, 39,930-945.
[3] Camacho, E.F., 2009. Multivariable MPC.
[4] Clarke, D.W., Mohtadi, C. & Tuffs, P.S., 1987.
“Generalized Predictive Control—Part II
0 50 100 150 200 250 300 350 400-15
-10
-5
0
5
10
15
20Eje X
Tiempo(seg)
Posic
ión [
m]
0 50 100 150 200 250 300 350 400-25
-20
-15
-10
-5
0
5
10Eje Y
Tiempo(seg)
Posic
ión [
m]
Posición
u
referencia
Actas de las XXXVI Jornadas de Automática, 2 - 4 de septiembre de 2015. Bilbao ISBN 978-84-15914-12-9 © 2015 Comité Español de Automática de la IFAC (CEA-IFAC) 757
Extensions and interpretations”. Automatica,
23(2), pp.149–160.
[5] Cybenko, G. (1989). “Approximation by
superpositions of a sigmoidal function”.
Mathematics of Control, Signals, and Systems,
2(4), 303-314.
[6] Dahleh, M., Lectures on Dynamic Systems and
Control Internal ( Lyapunov ) Stability.
[7] Ge, D. & Yao, X., 2009. “Camera Calibration
and Precision Analysis Based on BP Neural
Network”. 2009 2nd International Congress on
Image and Signal Processing, 2(2), pp.1–5.
[8] Haley, P. & Langley, N., “Real-time Adaptive
Control Using Neural Generalized Predictive
Control”.
[9] Haykin, S. (1998). Neural networks: A
Comprehensive Foundation. Prentice Hall, 2nd
edition.
[10] Hebb D. (1949). “The Organization of
Behavior”. New York: Wiley
[11] K. Hornik, M Stinchcombe, and H. White
(1989). Multilayer feedforward networks are
universal approximators. Neural Networks, Vol.
2, pp.359-366.
[12] Korkobi, T., Djemel, M. & Chtourou, M.,
2008. “Stability Analysis of Neural Networks-
Based System Identification”. Modelling and
Simulation in Engineering, 2008, pp.1–8.
[13] Ljung, L. (1999). System Identification -
Theory for the User. Prentice Hall,Upper Saddle
River, N.J., 2nd edition.
[14] W.S. McCulloch and W. Pitts, (1943). A logical
calculus of the ideas immanent in neurons
activity, Bull Math Biophys, vol5,pp. 115-133
[15] Navarro-López, E.M., 2007. Local feedback
passivation of nonlinear discrete-time systems
through the speed-gradient algorithm.
Automatica, 43(7), pp.1302–1306
[16] M. Nørgaard, O. Ravn, N.K. Poulsen, and L.K.
Hansen (2003). Neural Networks for Modelling
and Control of Dynamic Systems: A
Practitioner's Handbook. Springer
[17] Panda, G. & Das, D.P., (2003). “Functional
Link Artificial Neural Network for Active
Control of Nonlinear Noise Processes”. ,
pp.163–166.
[18] Patra, J.C. et al., (1999). “Identification of
nonlinear dynamic systems using functional
link artificial neural networks”. IEEE
transactions on systems, man, and cybernetics,
29(2), pp.254–62.
[19] F.Rosenblatt, (1959), “Two theorems of
statistical separability in the in the perceptron.
Mechanization of Thougt Processes”, vol 1
pp421-456. London
[20] D.E. Rumelhart,G.E. Hinton, (1985). “Learning
Internal Representations by error
propagation”
[21] B.Widrow, (1960). “Generalization and
information storage in networks of adaline
neurons”. In Self-Organizing Systems 1962,
Eds, Washington, pp 435-461
[22] Witt, J. & Werner, H., 2002. “Approximate
Model Predictive Control for Nonlinear
Multivariable Systems”. , pp.141–167.
[23] Wu, Z.-G. et al., 2012. “Stability and
dissipativity analysis of static neural networks
with time delay”. IEEE transactions on neural
networks and learning systems, 23(2), pp.199–
210.
Actas de las XXXVI Jornadas de Automática, 2 - 4 de septiembre de 2015. Bilbao ISBN 978-84-15914-12-9 © 2015 Comité Español de Automática de la IFAC (CEA-IFAC) 758