Sunteți pe pagina 1din 258

CENTRO DE INVESTIGACI

ON Y DE ESTUDIOS AVANZADOS DEL


INSTITUTO POLIT

ECNICO NACIONAL
Unidad Ciudad de Mexico
Departamento de Control Automatico
CINVESTAV-IPN
Aprendizaje Neuronal para el Control de Sistemas No Lineales
Tesis que presenta:
Jose Martn Flores Albino
1
Para obtener el grado de
Doctor en Ciencias
En la especialidad de
Control Automatico
Directores de Tesis:
Dr.Ieroham Solomon Barouh
Dr. Juan Carlos Martnez Garca
Mexico, D. F. 28 de Mayo del 2004
1
Becario CONACYT, No. 72355
.
En este documento se utilizan:
L
A
T
E
X2e
compilador:
MiKTeX 2.1
http://www.miktex.org
editor:
WinEdt ver. 5
http://www.winedt.com
dibujos:
CorelDraw ver. 5.00.E2
Simulacion y Gracas:
MatLab ver. 5.2.0.3084
Simulink
.
Agradecimientos
Ha sido muy largo el tiempo que he tomado para terminar este trabajo, el resultado de todo sera evaluado al momento
de que sea de utilidad para otros, este ha sido el objetivo desde su inicio.
El que se dedica a la investigacion, en frenta el reto del necesario aislamiento en que las reexiones se conciben.
Lo com un es que no halla alguien cerca cuando se logra un despeje exitoso de la variable que tanto se buscaba; ni se
escuchan aplausos al ver que una simulacion por computadora no se va al innito. Pero aquello que nos alimenta a seguir
es la curiosidad Que pasa s...? C omo ocurre ...? Etcetera.
Pero cuando se desciende de esta nube de aparente aislamiento, notamos que nunca se estuvo solo, que hay muchas
personas que han apoyado de forma directa y otras que sin darse cuenta nos han dando su aliento para continuar.
Gracias a todos...
Dr. Ieroham Solomon Barouh
Sin su apoyo y ejemplo este trabajo jamas se
hubiese concluido.
Dr. Juan Carlos Martnez Garca
Por conar en mi esfuerzo.
Departamento de Control Automatico
Y
Centro de Investigaci on y Estudios Avanzados
Por ser el lugar donde conoc a mis profesores y
compa neros.
Consejo Nacional de Ciencia y Tecnol ogia
Por ser la instituci on que me brind o el apoyo
econ omico para lograr este objetivo.
Instituto de Investigaci on y Desarrollo Tecnol ogico
Secretara de Marina, Armada de Mexico
Por ser el lugar que me abrio las puertas para desarrollarme
y me darme la oportunidad de terminar este trabajo.
A mi mama y hermanas
Por su innita paciencia y comprensi on.
Liliana Vicente no Loya
Por todo tu cari no.
Edited by Foxit Reader
Copyright(C) by Foxit Software Company,2005-2008
For Evaluation Only.
.
Resumen
En las siguientes paginas se presenta el trabajo realizado durante mi estancia en el Centro de Investigaci on y de
Estudios Avanzados del Instituto Politecnico Nacional con el prop osito de obtener el grado de Doctor en Ciencias del
Departamento de Control Automatico.
La investigacion se enfoco en el estudio de una arquitectura de Red Neuronal Recurrente y su algoritmo de aprendizaje
del tipo retropropagacion dinamico para su aplicacion en tareas de identicacion y control de sistemas no lineales. Se
realizaron implementaciones en simulacion y en un prototipo en tiempo real para el control de un motor de corriente
directa. Los resultados producidos han sido alentadores y animan a plantearse metas de mayor complejidad.
El deseo nal de este escrito es el de generar nuevas preguntas y retos en la aplicacion de las redes neuronales para
el control de sistemas complejos.
Jose Martn Flores Albino, 8 de mayo de 2004
.

Indice general

Indice general I

Indice de guras IV

Indice de tablas VIII


Historia XI
Simbologa XIII
1. Introducci on: Redes Neuronales 1
1.1. Redes Neuronales Biol ogicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Modelo Matematico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Redes Neuronales Articiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1. Topologas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2. Redes Neuronales Articiales Estaticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3. Redes Neuronales Articiales Dinamicas (Recurrentes) . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.4. Proceso de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3. Conclusi on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2. Red Neuronal Recurrente Entrenable 21
2.1. Estructura de una RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2. Propiedades de Observabilidad y Controlabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1. Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.2. Controlabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3. Red Neuronal Recurrente Entrenable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1. Ley de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4. Red Neuronal Recurrente de Tres Capas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.1. Ley de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5. RNRE con Prediccion de la Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.1. Ley de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6. RNRE con Retardo en la Retroalimentacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6.1. Ley de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.7. RNRE con Estados Acotados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
I

INDICE GENERAL

INDICE GENERAL
2.7.1. Ley de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.8. Condici on de Estabilidad para los Pesos J . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.9. Pesos de Compensacion c
i0
, b
i0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.10. Escalamiento de la Funci on de Activacion, (x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.11. Conclusi on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3. Identicaci on de Sistemas 43
3.1. Aproximacion de Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.1. Redes Neuronales Estaticas en la Aproximacion de Funciones . . . . . . . . . . . . . . . . . . . . 44
3.2. Identicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3. Metodos de Identicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.1. Algoritmo de Proyeccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.2. Algoritmo de Proyeccion Ortogonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3.3. Algoritmo de Mnimos Cuadrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.4. Exitacion Persistente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.3.5. Algoritmos de Identicacion Clasicos y Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . 62
3.4. Identicacion de Sistema Usando Redes Neuronales Estaticas . . . . . . . . . . . . . . . . . . . . . . . . 63
3.4.1. Sistemas Lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.4.2. Sistemas No Lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.5. Identicacion de Sistemas Usando Redes Neuronales Dinamicas . . . . . . . . . . . . . . . . . . . . . . . 67
3.6. Identicacion de Sistemas Utilizando RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.6.1. Identicacion. del Modelo de Vel. de un Motor de cc. usando una RNRE . . . . . . . . . . . . . 70
3.6.2. Identicacion no Lineal Usando RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.6.3. Identicacion de un Sistema no Lineal de dos Entradas dos Salidas . . . . . . . . . . . . . . . . . 74
3.6.4. Identicacion M ultimodelo con RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.6.5. Identicacion en Tiempo Real de un Motor de cc. . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.7. Complejidad Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.8. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4. Control de Sistemas 89
4.1. Redes Neuronales en el Control de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.2. Modelado de controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.3. Control por modelo inverso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.4. Control Adaptable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.4.1. Control Adaptable Indirecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.4.2. Control Adaptable Directo, [16] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.5. Control por Modelo de Referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.5.1. Control por modelo de referencia: Enfoque neuronal [28] . . . . . . . . . . . . . . . . . . . . . . 117
4.5.2. Control por modelo de referencia: Sistemas lineales . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.6. Control por Modelo Interno, [58] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.6.1. Control por Modelo Interno Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.7. Control de Sistemas por medio de RNRE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
ii JMFA

INDICE GENERAL

INDICE GENERAL
4.7.1. Sistemas de Control Adaptable Indirecto Usando los Parametros Obtenidos por la RNRE . . . . . 131
4.7.2. Sistemas de Control Adaptable Directo Usando RNRE . . . . . . . . . . . . . . . . . . . . . . . 136
4.7.3. Control en Tiempo Real de un Motor de Corriente Continua . . . . . . . . . . . . . . . . . . . . 140
4.8. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Conclusiones Generales y Perspectivas 145
Bibliografa 147
A. Artculos Publicados 151
A.1. Congresos Nacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
A.2. Congresos Internacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
A.3. Revistas Nacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
A.4. Anexos en Libros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
B. Programas de C omputo 153
B.1. Aproximacion de una Funci on No Lineal por Medio de una RNMC . . . . . . . . . . . . . . . . . . . . . 153
B.2. Aproximacion de una Funci on No Lineal por Medio de una RNFRB . . . . . . . . . . . . . . . . . . . . . 155
B.3. Algoritmo de Proyeccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
B.4. Algoritmo de Proyeccion Ortogonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
B.5. Algoritmo de Mnimos Cuadrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
B.6. Ident. Vel. Motor cc. con RN Estatica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
B.7. Ident. No lineal con RN Estatica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
B.8. Ident. Vel. Motor cc. con RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
B.9. Ident. No Lineal con RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
B.10.Ident. No Lineal MIMO con RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
B.11.Ident. M ultimodelo No Lineal MIMO con RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
B.12.Modelado de Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
B.13.Cinematica Inversa de dos Eslabones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
B.14.Cinematica Directa de dos Eslabones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
B.15.Ctrl. Inverso: Ident. Mod. Directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
B.16.Ctrl. Inverso: Metodo especializado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
B.17.Ctrl. Adaptable Indirecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
B.18.Ctrl. Adaptable Indirecto 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
B.19.Ctrl. Adaptable Directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
B.20.Ctrl. por Modelo de Referencia: Motor de CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
C. Motor de Corriente Continua 207
C.1. Modelo Matematico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
C.2. Motor de cc de Iman Permanente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
C.3. Control de Velocidad en Regimen Estacionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
C.4. Modelo Discreto de un Motor de cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
JMFA iii

INDICE GENERAL

INDICE GENERAL
D. Ecuaciones de Entrenamiento para Redes Neuronales Recurrentes 213
D.1. Red Neuronal Recurrente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
D.1.1. Pesos de la Capa de Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
D.1.2. Pesos de la Capa Oculta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
D.1.3. Pesos de la Capa de Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
D.2. RNR con Tres Capas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
D.2.1. Pesos de la Capa de Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
D.2.2. Pesos de la Capa Oculta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
D.2.3. Pesos de Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
D.3. Prediccion de la Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
D.3.1. Pesos de la Capa de Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
D.3.2. Pesos de la Capa Oculta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
D.3.3. Pesos de la Capa de Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
D.4. Estados Acotados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
D.4.1. Pesos de la Capa de Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
D.4.2. Pesos de la Capa Oculta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
D.4.3. Pesos de la Capa de Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
E. Prototipo Experimental 219
E.1. Descripcion General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
E.2. Control Proporcional Integral Derivativo Discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
E.3. Filtrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
F. Algoritmo de Retropropagaci on 227
G. Representaci on de Sistemas 231
G.1. Modelos Discretos de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
G.1.1. Modelo DARMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
G.1.2. Modelo Regresor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
G.1.3. Modelo en Variables de Estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

Indice alfabetico 235


iv JMFA

Indice de guras
1.1. Estructura de una neurona biol ogica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Neurona articial elemental. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Funciones de activacion comunes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Derivadas de las funciones de activaci on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5. Topologas de redes neuronales articiales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6. Tipos de redes neuronales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7. Red neuronal de m ultiples capas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.8. Red neuronal de funciones radiales basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.9. Neurona de Hopeld. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.10. Red de Hopeld con tres neuronas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.11. Maquina de Boltzmann. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.12. Estructuras de redes neuronales recurrentes (local-recurrent-global-feedforward). . . . . . . . . . . . . . . 12
1.13. Modelos para un sistema desconocido no lineal discreto de una entrada y una salida. . . . . . . . . . . . 13
1.14. Estructura de la red de Jordan y de Elman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.15. Division del Aprendizaje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.16. Paradigmas de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.17. Red Neuronal con tres capas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.18. Modelo de sensibilidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.19. Retropropagacion a traves del tiempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1. Estructura general de una red neuronal hibrda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2. Ejemplo de una red neuronal recurrente entrenable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3. Diagrama a bloques de una red neuronal recurrente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4. Red neuronal recurrente entrenable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5. Red neuronal recurrente de tres capas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6. Red neuronal recurrente con prediccion de la salida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7. Red neuronal con retardo en la retroalimentacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.8. Red neuronal recurrente con estados acotados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.9. Funci on de Activacion tanh(x). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1. Proceso de proximacion en lnea de una funci on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2. Aproximacion de una funci on a traves de una red neuronal m ulticapa. . . . . . . . . . . . . . . . . . . . 47
3.3. Aproximacion de una funci on no lineal utilizando una red neuronal de funciones radiales basicas. . . . . . 49
V

INDICE DE FIGURAS

INDICE DE FIGURAS
3.4. Problema de identicacion de sistemas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.5. Algoritmo de proyeccion- Interpretacion geometrica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.6. Interpretacion del algoritmo de proyeccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.7. Operacion del algoritmo de proyeccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.8. Operacion del algoritmo de proyeccion ortogonal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.9. Operacion del algoritmo de mnimos cuadrados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.10. Redes neuronales en los algoritmos de identicacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.11. Identicacion de un sistema lineal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.12. Identicacion de un sistema lineal (entrenamiento). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.13. Identicacion de un sistema lineal (generalizacion). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.14. Identicacion no lineal usando una RN Estatica (Entrenamiento). . . . . . . . . . . . . . . . . . . . . . 66
3.15. Identicacion no lineal usando una RN Estatica-Generalizacion. . . . . . . . . . . . . . . . . . . . . . . . 67
3.16. Red neuronal estatica en lazo cerrado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.17. Modelo general de una red neuronal recurrente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.18. Modelo de red neuronal recurrente simplifacada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.19. Identicacion de la vel. Motor de cc. usando una RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.20. Identicacion de un sist. no lineal usando RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.21. Identicacion de un sist. no lineal MIMO Usando RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.22. Identicacion M ultimodelo Usando RNRE
+
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.23. Identicacion M ultimodelo Usando RNRE

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.24. Identicacion M ultimodelo Usando RNRE

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.25. Lugar de las races sis tema retroalimentado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.26. Identicacion en tiempo real de un motor de cc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.27. Identicacion multimodelo en tiempo real de un motor de cc. . . . . . . . . . . . . . . . . . . . . . . . . 84
3.28. Identicacion multimodelo en tiempo real de un motor de cc. . . . . . . . . . . . . . . . . . . . . . . . . 85
4.1. Modelado de controlador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.2. Ejemplo del esquema por modelado de controlador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3. Resultados del esquema de modelado de controlador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.4. Control por modelo inverso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.5. Modelo inverso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.6. Descripcion de un mecanismo de dos eslabones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.7. Cinematica directa del mecanismo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.8. Cinematica inversa del mecanismo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.9. Posicion de los eslabones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.10. Control inverso especializado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.11. Control por modelo inverso (Metodo especializado) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.12. Control Adaptable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.13. Control Adaptable Indirecto Identicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.14. Control Adaptable Indirecto Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.15. Control Adaptable Indirecto -En lnea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
vi JMFA

INDICE DE FIGURAS

INDICE DE FIGURAS
4.16. Componentes del control directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.17. Control Adaptable Directo -

Epoca 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.18. Control Adaptable Directo -

Epoca 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116


4.19. Control por modelo de Referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.20. Grado relativo: linealizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4.21. Diagrama a bloques del Ctl. Modelo de Referencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4.22. Diagrama a bloques del Ctl. Modelo de Referencia -Redes Neuronales. . . . . . . . . . . . . . . . . . . . 120
4.23. Control por modelo de Referencia 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.24. Control por Modelo de Referencia Motor de CC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.25. Control por Modelo Interno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.26. Control por Modelo Interno Eq. Lazo cerrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.27. Control por Modelo Interno Redes Neuronales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.28. Control por Modelo Interno Entrenamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.29. Control Adaptable Indirecto RNRE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.30. Control Adaptable Indirecto P, PI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.31. Control Adaptable Indirecto Seguimiento de Trayectoria. . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.32. Control Adaptable Directo Modelo Inverso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4.33. Control Adaptable Directo Modelo Inverso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.34. Plataforma experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.35. Esquema de control en tiempo real de un Motor CC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.36. Control en Tiempo Real de un Motor de CC Posicion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
4.37. Control en Tiempo Real de un Motor de CC Velocidad. . . . . . . . . . . . . . . . . . . . . . . . . . . 143
C.1. Motor de corriente continua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
C.2. Modelo matematico de un motor de c.c. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
C.3. Transformada de Laplace de un motor de cc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
C.4. Respuesta al escalon Motor de c.c. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
D.1. Red neuronal recurrente 2, 3, 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
D.2. Red neuronal recurrente con tres capas 2, 3, 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
D.3. Red neuronal recurrente con prediccion a la salida 2, 3, 2 . . . . . . . . . . . . . . . . . . . . . . . . . 216
D.4. Estados acotados 2, 3, 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
E.1. Prototipo experimental de laboratorio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
E.2. Respuesta al escalon del motor de cc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
E.3. Diagrama de Bode de un derivador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
E.4. Diagrama de Bode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
E.5. Diagrama de Bode de un ltro Butterworth pasa-altos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
E.6. Diagrama de Bode de un ltro Butterworth pasa-bajos. . . . . . . . . . . . . . . . . . . . . . . . . . . 223
E.7. Diagrama de Bode de un ltro pasa-banda (continuo). . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
E.8. Diagrama de Bode de un ltro pasa-banda (Discreto). . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
E.9. Diagrama de Bode de un ltro Butterworth pasa-bajos de tercer orden. . . . . . . . . . . . . . . . . . . 224
JMFA vii

INDICE DE FIGURAS

INDICE DE FIGURAS
E.10. Diagrama de Bode de un ltro pasa-banda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
E.11. Filtro digital pasa banda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
F.1. Esquema del metodo de aprendizaje por retropropagacion. . . . . . . . . . . . . . . . . . . . . . . . . . 230
viii JMFA

Indice de tablas
1.1. Topologa de una red neuronal m ultiples capas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1. Resumen de resultados de generalizaci on para el ejemplo 3.1. . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2. Resumen de resultados de generalizaci on para el ejemplo 3.2. . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3. Resumen del algoritmo de identicacion de proyeccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4. Resumen del algoritmo de identicacion de proyeccion ortogonal. . . . . . . . . . . . . . . . . . . . . . . 57
3.5. Resumen del algoritmo de identicacion de mnimos cuadrados. . . . . . . . . . . . . . . . . . . . . . . . 61
3.6. Parametros de una RNRE-Identicaci on de un Motor en tiempo real. . . . . . . . . . . . . . . . . . . . . 81
3.7. Parametros de una RNRE-Identicaci on de un Motor en tiempo real. . . . . . . . . . . . . . . . . . . . . 83
3.8. Desempe no entre una RN estatica y una RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.1. Resultados del modelo neuronal inverso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
C.1. Parametros de un motor de cc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
IX

INDICE DE TABLAS

INDICE DE TABLAS
x JMFA
Historia
1990 Narendra & Partasaraty . . . . . . . . . . Presentan el algortimo Retropropacion Dinamico para entrenar redes
m ulticapas para identicacion y control de sistemas.
1988 Anderson & Rosenfeld . . . . . . . . . . . Presentan las Funciones Radiales Basicas (RBF) como alternativa
para los perceptrones m ulticapa.
1986 Rumerlhart & MacClelland . . . . . . . Presentan el algoritmo Retropropagacion para el entrenamiento del
perceptron m ulticapa.
1985 Ack, Hinton & Sejnowski . . . . . . . . Denen el aprendizaje estocastico para la maquina de Boltzmann.
1983 Barto, Sutton & Anderson . . . . . . . Denen el aprendizaje reforzado (Reinforcement Learning).
1983 Kirkpatrick, Galatt & Vecchi . . . . . Presentan el aprendizaje por templado simulado (simulated-
annealing) para resolver problemas de optimizacion.
1982 Kohonen . . . . . . . . . . . . . . . . . . . . . . . . Presentan sus mapas auto-organizados.
1983 Cihen & Grossberg . . . . . . . . . . . . . . Presentan las memorias direccionadas por contenido (content-
addressable memories).
1982 Hopeld . . . . . . . . . . . . . . . . . . . . . . . . Presenta una red neuronal dinamica, dene su funci on de energa
considerando simetra en los pesos.
1980 Grossberg . . . . . . . . . . . . . . . . . . . . . . . Trabaja con el aprendizaje competitivo, establece el nuevo principio
de auto-organizacion.
1979 Utley . . . . . . . . . . . . . . . . . . . . . . . . . . . Integra la teora de las comunicaciones de Shanon con el aprendizaje
sinaptico neuronal.
1973 Malsburg . . . . . . . . . . . . . . . . . . . . . . . Presenta los mapas auto-organizados entrenados por una ley de
aprendizaje competitiva.
1972 Anderson, Kohonen & Nakano . . . Presentan una ley de aprendizaje en una matriz de correlaci on.
1969 Minski & Papert . . . . . . . . . . . . . . . . Presentan el perceptron de una capa y de m ultiples capas.
1962 Widrow . . . . . . . . . . . . . . . . . . . . . . . . . Presenta una estructura para adalines de m ultiples capas (Madaline).
1960 Widrow & Ho . . . . . . . . . . . . . . . . . . Presentan el algoritmo de mnimos cuadrados, usado para el entre-
namiento de Adaline (adaptive learning element).
1958 Rosenblatt . . . . . . . . . . . . . . . . . . . . . . Teorema de convergencia del Perceptron.
1958 Rosenblatt . . . . . . . . . . . . . . . . . . . . . . Presenta su modelo del Perceptron.
1954 Minsky . . . . . . . . . . . . . . . . . . . . . . . . . . Presenta su tesis Doctoral Theory of Neural-Analogue Reinforcement
System and its Applications to the Brain-Model Problem.
1956 Holland, Habitt & Duda . . . . . . . . . Presentan una simulacion por computadora de la ley de aprendizaje
de Hebb.
1949 Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . Explica una regla de aprendizaje siologica para la modicaci on sinap-
tica.
1948 Wiener . . . . . . . . . . . . . . . . . . . . . . . . . . Establece las bases para la teora del control, comunicaciones y el
aprendizaje.
1943 MacCulloch & Pitts . . . . . . . . . . . . . Describen la operacion de una red neuronal y su modelo.
XI

INDICE DE TABLAS

INDICE DE TABLAS
xii JMFA
Simbologa
t R
+
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tiempo continuo.
k Z
+
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N umero de muestra (tiempo discreto).
i, j, n, r Z
+
. . . . . . . . . . . . . . . . . . . . . . Enteros positivos (ndices).
w
ij
, T
ij
R . . . . . . . . . . . . . . . . . . . . . . . . . . Peso de la conexion que va desde la salida de la neurona j hasta la
entrada de la neurona i.
() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funci on de activacion.
x R
nm
: [x]
T
. . . . . . . . . . . . . . . . . . . . . . . Transpuesta del matriz x.
f

(x),

f(x),
d
dx
f(x) . . . . . . . . . . . . . . . . . . . Derivada de la funci on f(x).
(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Si A es una matriz, (A) es el espectro de A (conjunto de valores
propios).
Ker(C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Espacio nulo de la transformacion lineal denida por C.
det(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Determinante de la matriz A.
A1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Indica que el subespacio 1 es invariante bajo la transformaci on lineal A.
B = Im(B) . . . . . . . . . . . . . . . . . . . . . . . . . . Espacio imagen de la transformacion lineal B.

o
=< A, B > . . . . . . . . . . . . . . . . . . . . . . . Espacio de alcanzable del par (A, B).
O
c
= O
c
(A, B) . . . . . . . . . . . . . . . . . . . . . . Es el espacio coordenado A-invariante mas grande incluido en el Ker(C).
J(k), E(k) R . . . . . . . . . . . . . . . . . . . . . . . Funci on de costo.
E(k)
wij
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Derivada parcial de E(k) con respecto a w
ij
.
Si y(k), x(x) R
n
:
y(k)
x(x)
. . . . . . . . . . . . . Jacobiano de y(x) con respecto al vector x(k).
Si y(k) R y x(x) R
n
:
y(k)
x(x)
. . . . . . . Gradiente de y(x) con respecto al vector x(k).
s
l
i
(k) =

n
l1
r=1
w
ir
x
n
l1
r
. . . . . . . . . . . . . . . Combinacion lineal de las entradas a la neurona i del nivel l.

l
i
(k) =
E(k)
s
l
i
(k)
. . . . . . . . . . . . . . . . . . . . . . . . Gradiente local del nodo i en el nivel l.
q
1
x(k + 1) x(k) . . . . . . . . . . . . . . . . . . Operador retardo.
M
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matriz inversa de M.
dim
o
= n . . . . . . . . . . . . . . . . . . . . . . . . . Dimension del supespacio
o
.
XIII

INDICE DE TABLAS

INDICE DE TABLAS
xiv JMFA
Captulo 1
Introduccion: Redes Neuronales
En este captulo se exponen algunos de los fundamentos que introduce a la compresion de las redes neuronales, sus
principios biol ogicos y los modelos matematicos propuestos.
1.1. Redes Neuronales Biologicas
Las redes neuronales articiales son una muestra mas del interes humano por emular alguna de las capacidades
naturales de los seres vivos. Las redes neuronales biol ogicas exhiben caractersticas importantes que las hacen muy
atractivas para imitar; entre estas caractersticas se pueden citar las siguientes: memorizacion, especializaci on, paralelismo,
robustez, densidad, generalizacion y aprendizaje.
Los estudios sobre el sistema nervioso se remonta al a no de 1889, por las observaciones realizadas por el cientco
espa nol Santiago Ramon y Cajal (1852-1934, premio Nobel de Medicina 1906). Ramon y Cajal report o que el sistema
nervioso esta compuesto de unidades individuales que son estructuralmente independientes, cuyo contenido interno no
entra en contacto directo. Estas unidades son las celulas neuronales. A esta hip otesis se le conoce como teora neuronal.
Los seres vivos (agentes) poseen la habilidad de adaptarse a su ambiente. Los cambios externos son los estmulos y
las reacciones son su respuesta. En los seres mas simples la relacion causa-efecto es directa; esto signica que la presencia
de un estimulo dispara una reaccion determinada. En los seres mas complejos la respuesta a los estmulos implica la
integracion y sincronizacion de varios eventos de distintas partes del cuerpo, lo anterior es posible por la presencia de un
mecanismo de control (controlador) entre los estmulos y las reacciones. En los organismos multicelulares este controlador
emplea dos tipos de sistemas: la regulacion qumica y la regulacion nerviosa. En la regulacion qumica, sustancias llamadas
hormonas son fabricadas por un grupo bien denido de celulas y transportadas por la sangre a otras partes de cuerpo en
donde existen celulas objetivo, aqu las hormonas alteran el metabolismo de estas celulas o incitan la sntesis de otras
sustancias.
El sistema nervioso se dene como un grupo organizado de celulas llamadas neuronas, dedicadas a la conducci on de
impulsos (cambio breve de la carga electrica en la membrana de la celula) desde un receptor sensorial que atraviesa una
red de nervios hasta un efector. El sistema nervioso esta especializado en la conducci on de impulsos electricos, lo que
permite una rapida reaccion a los estmulos del ambiente.
En el ser humano se estima que existen 10, 000, 000, 000 de neuronas. En el cuerpo de una celula neuronal se identican
tres estructuras: el soma, el axon y las dentritas. El soma es el cuerpo principal de la neurona, en el se concentran los
organos responsables de su metabolismo y del intercambio electroqumico producido como respuesta de la neurona. El
axon es la extremidad mas larga de la neurona, es por donde se transmiten los impulsos nerviosos hacia otras neuronas,
es decir, representa la terminal de salida de la neurona. Las dentritas son varias extremidades de longitud mas corta
que el axon, su funci on es de ser las terminales receptoras de los impulsos provenientes de otras neuronas. Al punto de
transicion entre axon-dentrita se le llama sinapsis, en la gura 1.1 se presenta un dibujo de una celula neuronal, en
donde se pueden identicar las estructuras que la integran.
El mecanismo de conducci on de los impulsos nerviosos en las neuronas es diferente al usado por los metales. En las
neuronas la transmision electrica se debe al intercambio de iones (atomos que han ganado o perdido electrones); por el
1
1.1. Redes Neuronales Biol ogicas Captulo 1. Introducci on: Redes Neuronales
Axn
Soma
Dentrita
Sinapsis
Figura 1.1: Estructura de una neurona biol ogica. Se dis-
tinguen tres estructuras en una celula neuronal: el soma,
el ax on y las dentritas. La uni on dentrita-ax on se le llama
sinapsis. En el sistema nervioso se transmiten impulsos
electricos entre las neuronas. Los neurotransmisores son
sustancias qumicas que pasan de una celula a otra, y de-
nen el acomplamiento electrico entre ellas.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
contrario, en los metales la conducci on electrica es debido a la gran cantidad de electrones libres en ellos. Pero ademas
las neuronas utilizan un medio qumico para el acoplamiento electrico entre ellas. Los neurotransmisores son sustancias
qumicas que pasan de una celula a otra, estimulando un potencial electrico en la membrana de la celula receptora.
1.1.1. Modelo Matematico
En [1] se presenta un modelo matematico del comportamiento de una neurona biol ogica. Como en todo modelo se
intenta describir los procesos mas importantes que ocurren en el interior de una neurona descartando los efectos menos
perceptibles.
Sean u
j
el potencial electrico de la membrana de la neurona j y T
ij
f
j
(u
j
) la transformacion que este potencial
sufre al pasar por la sinapsis que lo conecta a la neurona i. El valor de T
ij
puede ser positivo o negativo de forma que
represente los iones positivos de potacio y sodio, K
+
, Na
+
; o negativos de cloro, Cl

en el cuerpo de la neurona.
La concentracion de potencial de la neurona i por esta uni on es la integral en el tiempo:
_
t

T
ij
f
j
(u
j
)d. (1.1)
El potencial que llega por cada uni on de la neurona i depende del tiempo; entre mas tarde en llegar el potencial a la
neurona, menos contribuye al potencial acumulado en la membrana. Para considerar este efecto se modica la ecuaci on
(1.1) incluyendo una funci on que es monot onicamente decreciente, h:
_
t

h(t +)T
ij
f
j
(u
j
) d, (1.2)
en donde h() una funci on que decae exponencialmente con el tiempo. La funci on h se suele seleccionar como una
exponencial decreciente en el tiempo:
h(t) =
1

i
e

i
, (1.3)
en donde
i
es la constante de tiempo de la neurona i;
i
> 0. De esta forma s olo los potenciales mas recientes (entre
t = 0 hasta aproximadamente t = 4
i
) contribuyen al potencial total.
En el modelo de la neurona se considera el caso de que exista una entrada independiente; es decir, que no proviene
de otra neurona. Para la neurona i esta entrada es denotada como I
i
. Por tanto, la contribuci on de esta entrada al
potencial de la neurona es igual a la expresion:
_
t

h(t +)I
j
()d. (1.4)
2 JMFA
Captulo 1. Introducci on: Redes Neuronales 1.2. Redes Neuronales Articiales
Ahora, como la neurona i recibe potenciales de varias otras, todas estas deben ser sumadas para determinar el
potencial total en la membrana de la neurona i. Si n es el n umero de estas conexiones, se establece que el potencial
total u
i
(t) es igual al termino:
u
i
(t) =
n

j=1
_
t

h(t +)T
ij
f
j
(u
j
) +
_
t

h(t +)I
i
()d. (1.5)
Para facilitar el tratamiento se preere la forma diferencial de la ecuacion (1.5). Entonces, sustituyendo (1.3) y
ordenando los componentes de (1.5) se logra la ecuacion:
d
dt
u
i
(t) =
d
dt
_
t

i
e

i
_
_
n

j=1
T
ij
f
j
(u
j
()) +I
i
()
_
_
d. (1.6)
Pasando la derivada dentro de la integral en (1.6) y aplicando la regla de la derivada para el producto, regla de
Leibnitz, la ecuacion (1.6) se transforma de la manera siguiente:
d
dt
u
i
(t) =
_
t

_
_
_
1

i
e

i
d
d
_
_
n

j=1
T
ij
f
j
(u
i
() +I
i
())
_
_
d
1

i
e

i
_
_
n

j=1
T
ij
f
j
(u
i
() +I
i
())
_
_
d
_
_
_
. (1.7)
El valor de la primera integral en (1.7) se obtiene al sustituir por t, y sustituyendo en el segundo termino la parte
que corresponde a u
i
. De este modo la expresion para el potencial de la neurona u
i
(1.7) adquiere la estructura nal:

i
d
dt
u
i
(t) = u
i
() +
_
_
n

j=1
T
ij
f
j
(u
i
() +I
i
())
_
_
; i = 1, ..., n.
i
> 0. (1.8)
De la expresion (1.8) se desea destacar que a un en este modelo simplicado de una celula neuronal se observa que
su comportamiento esta matematicamente modelado por un sistema dinamico.
Los valores que toman los parametros T
ij
depende de la interaccion de la neurona con su ambiente, es por esto
que se estima que la informacion en la neurona esta jado por los valores de los parametros T
ij
. La respuesta de cada
neurona depende del efecto que tienen las neuronas con las que esta conectada. Se forma una estructura de neuronas
interconectadas; la transferencia de informacion se realiza entre las sinapsis y la respuesta de cada neurona depende del
potencial en su cuerpo.
En la seccion 1.2 se describen algunos de los modelos matematicos para las redes neuronales articiales, sus topologas
y los paradigmas de aprendizaje.
1.2. Redes Neuronales Articiales
Con la denominacion de Redes Neuronales Articiales, desde el punto de vista computacional, se conoce a todos los
modelos matematicos y de calculo que intentan imitar las capacidades y caractersticas de sus semejantes biol ogicos.
La redes neuronales articiales estan formadas por elementos relativamente simples de calculo, todos ellos inter-
conectados con una cierta organizacion (topologa). Las neuronas, llamadas perceptrones (Rossenblatt, 1958) o Adaline
(Widrow y Ho) que integran la red pueden ser tan simples como s olo puntos de suma, hasta elementos dinamicos
complejos.
El modelo basico de una neurona esta constituido por los siguientes elementos:
Un conjunto de sinapsis, que son las entradas de la neurona ponderadas, por un peso. Se identica al peso que
conecta a la entrada x
j
de la neurona i por smbolo w
ij
. Se incluye un peso independiente, w
i0
, que se adquiere
al suponer una entrada constante a la neurona i
1
1
El peso w
i0
se le llama de compensaci on (bias) cuando la entrada asociada tiene valor de 1, y se le llama umbral (threshold) cuando
la entrada asociada tiene valor de 1.
JMFA 3
1.2. Redes Neuronales Articiales Captulo 1. Introducci on: Redes Neuronales
Un sumador, que simula el cuerpo de la neurona y ja el nivel de exitacion.
Una funci on de activacion, que genera la salida de la neurona y es la transformacion del nivel de exitaci on de la
neurona y restringe el nivel de salida.
Opcionalmente en [2], se incluye entre el sumador y la funci on de activacion una dinamica lineal de primer orden,
o un retardo en su forma continua o discreta, al hacer esto, se implica una dinamica interna al comportamiento de la
neurona. En otra seccion se trata este tema (seccion 1.2.3).
En su forma basica, la salida de una neurona esta jada por la expresion:
y
i
=
_
n

r=1
w
ir
x
r
w
i0
_
, (1.9)
en donde n indica el n umero de entradas a la neurona i.
Notar que el argumento de la funci on de activacion es la combinacion lineal de las entradas de la neurona. Si se
considera al conjunto de entradas y los pesos de la neurona i como un vector de dimension (n + 1), la expresi on (1.9)
puede escribirse de la siguiente forma:
y
i
=
_
w
T
i
x
_
; x = [1, x
1
, . . . , x
n
]
T
, w
i
= [w
i0
, w
i1
, . . . , w
in
]
T
, (1.10)
en donde []
T
indica la transposi on del vector. En la gura 1.2 se presenta el esquema de una neurona o perceptr on.
(
*
)
wi0
wi1
win
x1
xn
-1
y
i
Pesos
sinapticos
Entradas
Sumador
compensacin
(bias)
s(
*
)
Funcin
de Activacin
Figura 1.2: Neurona articial elemental. Ca-
da elemento b asico de calculo en una red neu-
ronal esta formado por un grupo de constantes
que ponderan la entrada a un sumador y la
salida es acotada por la funci on de activaci on.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En lo que se reere a los tipos de funciones de activacion, las mas utilizadas son la funci on a) escal on, b) sigmoide,
c) tangente hiperb olica y d) saturacion, gura 1.3.
Tangente Hiperblico:
Tanh(x)
1
-1
Escaln: (x)
1
-1
Sigmoide: Sigm(x)
1
0.5
Saturacin: Sat(x)
1
-1
Figura 1.3: Funciones de activaci on co-
munes. a) Escal on. b) Sigmoide. c) Tangente
hiperbolica. d) Saturaci on. La funci on de acti-
vaci on en una neurona acota el nivel de salida.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 JMFA
Captulo 1. Introducci on: Redes Neuronales 1.2. Redes Neuronales Articiales
Estas funciones de activacion estan denidas por las expresiones:
(a (x) =
_
1 si x 0
0 si x < 0
(b sigm(x) =
1
1+e
x
,
(c tanh(x) =
1e
2x
1+e
2x
, (d sat(x) =
_

_
1 si x < 1
x si [x[ 1
1 si x > 1
.
(1.11)
Una propiedad de las funciones sigmode y tangente hiperb olica es que su derivada existe y es una funci on continua.
El calculo de la derivada de la funci on de activacion sigmoide se realiza de la siguiente manera:
d
dx
(sigm(x)) =
d
dx
_
1
1 +e
x
_
=
e
x
(1 +e
x
)
2
=
e
x
1 +e
x
1
1 +e
x
,
=
1 1 +e
x
1 +e
x
1
1 +e
x
=
_
1
1
1 +e
x
_
1
1 +e
x
= [1 sigm(x)] sigm(x). (1.12)
La derivada de la funci on de activacion tangente hiperb olica esta descrita por la expresion:
d
dx
(tanh(x)) =
d
dx
_
senh(x)
cosh(x)
_
=
cosh(x)
2
sen(x)
2
cosh(x)
2
=
= 1 tanh(x)
2
. (1.13)
De esta manera, las derivadas de estas funciones de activacion quedan en funci on de ellas mismas, esto sera util para
interpretar el algoritmo de ajuste de los pesos de la red neuronal como un proceso transferencia de informaci on en sentido
contrario, ver seccion 1.2.4. En la gura 1.4, se presentan las gracas de las derivadas de las funciones de activaci on.
1
Derivada Tangente Hiperblico
d/dx[Tanh(x)]
0.25
Derivada Sigmoide
d/dx[Sigm(x)]
Derivada Saturacin
d/dx[Sat(x)]
1
-1
Derivada Escaln
Delta de Dirac
d/dx[ (x)]= (x)
1
Figura 1.4: Derivadas de las funciones
de activaci on. Las derivadas de las fun-
ciones de activaci on sigmoide y tangente
hiperbolica son funciones continuas.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
La ecuacion (1.9) es com un a diferentes modelos de neuronas. En cada uno de los pesos w las neuronas almacenan
la informacion sobre su forma de responder a la exitacion en la entrada. Pero tambien es importante reexionar sobre la
organizacion que las neuronas conservan dentro de una red, debido a que la respuesta colectiva potencializa la capacidad
de las neuronas individuales.
JMFA 5
1.2. Redes Neuronales Articiales Captulo 1. Introducci on: Redes Neuronales
1.2.1. Topologas
Como se ha mostrado en las secciones anteriores, las redes neuronales biol ogicas y articiales estan construidas en
base a elementos de calculo relativamente simples, que son capaces de aprender de su ambiente y modicar su forma
de reaccionar ante el. Al modo en que las neuronas se organizan en la red se le conoce como Topologa. En las redes
neuronales articiles se clasican en tres organizaciones elementales: una sola capa, de m ultiples capas, y en malla, ver
la gura 1.5.
Red Neuronal
de
Mltiples capas
Red Neuronal
en malla
Red Neuronal
de
una capa
Figura 1.5: Topologas de redes neuronales articiales. Se clasican en tres estructuras los
arreglos de neuronas: en una capa, m ultiples capas y en malla.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En las redes neuronales, el modelo usado para las neuronas es quien le provee de su capacidad de adaptaci on, debido
al conjunto de pesos ajustables que tiene. Pero otras caractersticas importantes de las redes se basan en la organizaci on
que conserva cada neurona en la red; por ejemplo: de la dimensiones de la red puede depender que esta sea capaz de
asimilar la informacion que los patrones de entrenamiento contienen. Las siguientes son algunas caractersticas que las
redes neuronales tiene por su organizacion interna.
Caractersisticas
de las redes neuronales
debidas a su topologa.
_

_
Paralelismo.
Representaci on y calculo distribuido.
Inherente procesamiento contextual de la informacion.
Tolerancia a fallas.
Otra clasicacion para las redes neuronales se basa en la manera en que la informacion se transmite en la red. Se dividen
en dos grupos: redes con conexiones hacia adelante (estaticas) y redes neuronales recurrentes (con retroalimentaciones)
o dinamicas, ver la gura 1.6.
En la pr oxima seccion se presentan las redes neuronales estaticas, se dan sus modelos y principales caractersticas.
1.2.2. Redes Neuronales Articiales Estaticas
Si la respuesta de una red neuronal depende unicamente de sus entradas se dice que es una red neuronal estatica; es
decir, que realiza un mapeo desde el espacio de entrada al espacio de salida, y por tanto, la respuesta de la red neuronal
para cada entrada no depende del tiempo en el cual se aplica, ni de se nales de instantes anteriores.
Existen dos tipos de redes neuronales estaticas que han sido extensamente estudiadas, estas son: Las redes neuronales
de m ultiples capas o niveles (RNMC), y las redes neuronales de funciones radiales basicas (RNFRB).
Redes Neuronales de M ultiples Capas
Estas redes neuronales estan construidas por neuronas organizadas en capas. Cada nivel de la red tiene como entrada
a todas o un conjunto de las salidas de la capa anterior. Un ejemplo de una red neuronal con m ultiples capas se presenta
6 JMFA
Captulo 1. Introducci on: Redes Neuronales 1.2. Redes Neuronales Articiales
Redes Neuronales
Estticas Dinmicas
Perceptrn de
Mltiples Capas
Redes de Funciones
Radiales Bsicas
Redes Competitivas
Redes de KOHONEN
Redes de HOPFIEL
Adaptive Resonance Theory
ART
Perceptrn de una Capa
Figura 1.6: Tipos de redes neuronales. Las redes neuronales pueden clasicarse en dos grupos: redes neuronales
estaticas y redes neuronales din amicas (recurrentes).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
en la gura 1.7. La primera capa de la red es la de entrada; su funci on es la de distribuir las entradas de la red en la
primera capa oculta. La ultima capa genera las salidas de la red neuronal y las capas que se localizan entre la primera
y la de salida se les denomina ocultas. La conguraci on o topologa que se presenta en la gura 1.7 se expresa como:
2 , 3, 4, 3, esto signica que esta red neuronal tiene dos entradas; la primera capa oculta con tres neuronas; la segunda
capa oculta con cuatro neuronas y la capa de salida con tres neuronas.
No. de capas de la red L
No. de entradas de la red n
0
No. nodos de la capa i (i = 1, . . . , L 1) n
i
No. de salidas de la red n
L
Tabla 1.1: Topologa de una red neuronal m ultiples
capas: n
0
, . . . , n
L
; n
0
indica el n umero de neu-
ronas en la capa de entrada, n
i
es el n umero de
neuronas en la capa i, n
L
es el n umero de salidas de
la red neuronal.
En la gura 1.7 se observan a:
l
i
, s
l
i
y x
l
i
que representan la funci on de activacion, la combinaci on lineal de las
entradas y la salida del nodo i en la capa l, respectivamente. Las entradas de compensacion: x
0
y x
l
0
se hacen igual a
1. Notar que para la capa de salida x
L
i
= y
i
; i = 1, . . . , n
L
. Donde W
l
= [w
ij
]; i = 1, . . . , n
l
; j = 1, . . . , n
l1
es la
matriz de pesos de la capa lesima, en donde cada la i contiene los parametros que ponderan a las entradas del nodo
(neurona) i que pertenece la capa l.
El ujo de informacion se transmite en un s olo sentido. De manera que una red neuronal de m ultiples capas es un
mapeo no lineal entre el espacio de entrada, A, al espacio de salida, }; es decir: A }. El ujo de la informaci on se
describe por las ecuaciones:
x
0
= [1, x
1
, . . . , x
no
]
T
; (1.14)
s
l
= W
l
x
l1
; (1.15)

l
= [
l
1
, . . . ,
l
n
l
]
T
, (1.16)
x
l
=
l
_
s
l
_
; 1 < l L; (1.17)
x
L
= y = [y
1
, . . . , y
nL
]
T
, (1.18)
JMFA 7
1.2. Redes Neuronales Articiales Captulo 1. Introducci on: Redes Neuronales

W
x
s
1
1
s
1
2
s
1
3
1
1

1
2

1
3
x
1
3
x
1
2
x
1
1
s
2
3
s
2
4
s
2
2
s
2
1

2
1

2
2

2
3

2
4
x
2
3
x
2
2
x
2
1
x
2
4
s
3
3
s
3
2
s
3
1

3
1

3
2

3
3
x
3
1
=
y1
x
3
2
=
y2
x
3
3
=
y3
x
1
2
1 xo
=
x
1
o
=
1
x
2
o
=
1
1
W
2 W
3
Capa de
Entrada
1
er
Capa
Oculta
2
da
Capa
Oculta
3
er
Capa
Oculta (salida)
Figura 1.7: Red neuronal de m ulti-
ples capas. Esta red neuronal tiene
dos entradas; una capa oculta con
tres neuronas; una segunda capa
oculta con cuatro neuronas y una
capa de salida con tres neuronas.
Topologa 2, 3, 4, 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
en donde s
l
, x
l
son vectores y sus componentes son la suma ponderada y salidas de los nodos en la capa l, respectivamente.
Redes de Funciones Radiales Basicas
Un inconveniente de las redes neuronales de m ultiples capas es que su entrenamiento (ajuste de pesos) es lento; la
minimizacion del ndice cuadratico del error de salida requiere de comparar en varias ocasiones del conjunto de datos de
entrenamiento con la respuesta de la red neuronal.
Las redes neuronales de funciones radiales basicas son una alternativa a las redes neuronales de m ultiples capas.
En partes de la corteza celebral y visual se encuentran campos receptivos que se interceptan y que son localmente
sintonizados. Las funciones radiales basicas se basan en estos sistemas biol ogicos. En la gura 1.8 se presenta este tipo
de red neuronal.
x
x
1
2
1
x
3
W
y
R
n
R
1
Figura 1.8: Red neuronal de funciones radiales b asicas.
Este tipo de red neuronal tiene un entrenamiento r apido,
debido a que el valor de los pesos se actualiza fuera de
lnea.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En la gura 1.8 x
i
, i = 1, 2, . . . , n; la salida es y = F
fr
(x); R
i
son funciones radiales; por ejemplo: la funci on de
Gauss. Si se supone que la red neuronal tiene n
R
nodos, entonces de la gura 1.8 se deduce que la salida de este tipo
de red neuronal se expresa de la forma:
y = F
fr
(x, ) =
nr

i=1
w
i
R
i
(x). (1.19)
en donde esta integrada por los parametros w
i
. Hay varias opciones para las funciones radiales basicas, R
i
(x), siendo
lo mas com un utilizar la funci on de Gauss:
R
i
(x) = e

|xc
i
|
2

2
i
(1.20)
en donde c
i
representa los centros de la funci on;
i
es un escalar y dene el radio de la funci on de activaci on.
8 JMFA
Captulo 1. Introducci on: Redes Neuronales 1.2. Redes Neuronales Articiales
Redes Neuronales EstaticasAplicaciones
Las principales tareas para las cuales se aplican las redes neuronales estaticas son aquellas en donde es necesario
construir una relacion funcional entre la entrada y la salida, como ejemplos de aplicaciones se tienen las listadas a
continuaci on:
1. Clasicacion de Patrones.
2. Aproximacion de Funciones.
3. Memoria Asociativa.
1.- Clasicaci on de Patrones: Sea p una muestra que pertenece a un conjunto T, y c es un designador de clase.
Se dice que p es de clase c, si existe una funci on f, tal que:
f : p c. (1.21)
A todas las muestras p en que cumplen (1.21) forman la clase (:
( = p T[f : p c . (1.22)
2.- Aproximaci on de Funciones: Dada una funci on f : x y, en donde x A
n
, y }
m
. Encontrar
una

f tal que:
_
_
_f(x)

f(x)
_
_
_ < ; x A. (1.23)
en donde es un entero positivo peque no. Se dice que

f es una aproximacion en A de f.
3.- Memoria Asociativa: En la actualidad las computadoras tienen memorias direccionadas, es decir memorias
que necesitan como informacion de entrada una direccion para recuperar un dato, esto las hace que tengan una
estructura rgida; en consecuencia tienen un tiempo de escritura y lectura grande. Una memoria asociativa, por
el contrario, no requiere de una direccion especca para recuperar un dato guardado en ella, lo que necesita es
otro dato; es decir, que en este tipo de memorias se recupera la informacion por la asociacion impuesta sobre su
contenido. Este modo de operar hace a una memoria asociativa mas rapida en la recuperacion de la informaci on.
En las anteriores tareas las redes neuronales estaticas han tenido exito para su soluci on. Pero como se ha visto,
las neuronas biol ogicas de forma natural son modeladas como sistemas dinamicos. En las siguientes secciones se daran
algunos ejemplos de redes neuronales articiales modeladas como sistemas dinamicos.
1.2.3. Redes Neuronales Articiales Dinamicas (Recurrentes)
En las redes neuronales estaticas su respuesta es independiente del tiempo. En consecuencia, una vez que se han
ajustado sus parametros, la respuesta a una entrada determinada sera la misma, no importando en que instante la entrada
se presente. Las redes neuronales estaticas son muy utiles en los problemas de clasicacion de patrones y aproximaci on
de funciones porque construyen aplicaciones no lineales entre el espacio de entradas al espacio de salidas de las variables
involucradas. En teora, se tiene la certeza de que una red neuronal de conexiones haca adelante con una capa oculta
no lineal y una capa de salida lineal puede aproximar cualquier funci on con el grado de precision que se desee, ver las
referencias [3, 4, 5].
Hay problemas que necesitan de un sistema que tenga una respuesta dependiente de su estado anterior. Y por tanto,
requieren de estructuras que tengan una dinamica interna propia. Si la respuesta de una red neuronal depende de su
pasado se dice que es una red neuronal dinamica. Algunas de las tareas para este tipo de redes neuronales son: la predici on
de series, la identicacion y el control de sistemas dinamicos.
Existen diversos modelos de redes neuronales dinamicas. Algunos de ellos se basan en los modelos estaticos que por
medio de lneas de retardo retroalimentan alguna de las se nales generadas por la red, ver las referencias [8, 9, 10]. Otros
modelos tienen lneas de retroalimentacion en cada una de las neuronas y que act uan como memorias de corto plazo, [6].
Las redes neuronales recurrentes se han usado para mejorar el desempe no en problemas de clasicaci on que habian
sido resueltos por medio de redes neuronales estaticas. Dos modelos de redes neuronales que se han ocupado con este
objetivo son:
JMFA 9
1.2. Redes Neuronales Articiales Captulo 1. Introducci on: Redes Neuronales
Red de Hopeld.
Maquina de Boltzmann.
Red de Hopeld
La red de Hopel es una de las redes neuronales dinamicas que mas han sido estudiadas. Consiste en nodos ordenados
en una s ola capa, con lazos de retroalimentacion interiores y exteriores.
El modelo de la neurona de Hopeld en su forma discreta esta denida por la expresion:
x
i
(k + 1) = p
i
x
i
(k) +
n

j=1
w
ij

j
(x
j
(k)) +u
i
(k), (1.24)
en donde p
i
< 1 es el coeciente de retroalimentacion interna; x
i
es el estado interno del nodo i; () es la funci on de
activacion; w
ij
son los pesos sinapticos de la neurona, ver gura 1.9
z
-1
(
*
)
+
p
i
x(k+1) x(k)
i,1 w
wi, n

n
u
i
Figura 1.9: Neurona de Hopeld. La salida de la red neu-
ronal se retroalimenta hacia la entrada de cada neurona.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algunas de las aplicaciones de esta red estan en los problemas de clasicacion, analisis de imagenes y como memoria
asociativa (memoria que almacena y recupera la informacion por medio de un analisis del contexto de la informaci on).
En la gura 1.10 se presenta una red de Hopeld con tres neuronas.
z
-1
(
*
)
+
p
1
x(k+1) x(k)
u
1
z
-1
(
*
)
+
p
2
x(k+1) x(k)
u
2
z
-1
(
*
)
+
p
3
x(k+1) x(k)
u
3
1
y
2
y
2
y
1 1
2 2
3 3
Figura 1.10: Red de Hopeld con tres neuronas. En una
red de Hopeld se retroalimentan las se nales internas y
externas.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maquina de Boltzmann
La maquina de Boltzmann es una extension de la red de Hopeld que incluye nodos ocultos y con una regla estocastica
de ajuste de los pesos. Los pesos en esta red son simetricos y su actualizacion esta basado en el principio de templado
simulado (annealing), en donde un material es calentado y enseguida es enfriado de forma lenta, como resultado el
material presenta una estructura cristalina ordenada sin impurezas de manera que el sistema se encuentra en un estado
de muy baja energa, gura 1.11.
10 JMFA
Captulo 1. Introducci on: Redes Neuronales 1.2. Redes Neuronales Articiales
1 2 3
1 2 3
L
K
Neuronas
Ocultas
Neuronas
Visibles
Figura 1.11: M aquina de Boltzmann. Esta es una red neu-
ronal con una tecnica de aprendizaje de tipo estoc astico.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
La maquina de Boltzmann es una maquina estocastica formada por neuronas estocasticas. Una neurona estocastica
esta en uno de dos estados posibles de manera probabilstica. Las neuronas de la maquina de Boltzmann se dividen en dos
grupos: las visibles y las ocultas. Las neuronas visibles son una interface entre la red y el ambiente en el cual esta opera.
Durante la fase de entrenamiento las neuronas visibles son obligadas a permanecer en un estado que es determinado por
el ambiente. Las neuronas ocultas, por el contrario, son libres de tomar cualquiera de los estados.
Redes Neuronales Localmente Recurrrentes
En el artculo [7] se analizan diversas estructuras de redes neuronales recurrentes, en particular, una clase de redes
que tienen retrolimentaciones locales o internas, pero cuya estructura global es la de una red de conexiones directas
(local-recurrent-global-feedforward). En la gura 1.12 se presentan cuatro estructuras que en [7] se citan.
En la gura 1.12.a se presenta el modelo de Lapedes-Farber. En este modelo una neurona esta descrita por medio
de la expresion:
y(t) = f [a(t)] ; a(t) =
n

i=1
w
i
x
i
, (1.25)
en donde x
i
, i = 1, 2, . . . , n son las entradas a la neurona y w
i
, i = 1, 2, . . . , n son pesos constantes. En este modelo
la se nal de activacion de la neurona, a(t), es la suma ponderada de las entradas. A partir de modelo se derivan tres
metodos para incorporar alg un tipo de retroalimentacion:
1.- Retroalimentaci on local de la activaci on neuronal: gura 1.12.b . En este tipo las entradas son una ver-
sion retardada de la se nal de activacion local; es decir, x
i
= a(t i), i = 1, 2 . . . , n, o una combinaci on de una
version retardada de la se nal de activacion local y de la se nal de entrada.
2.- Retroalimentaci on local de la sinapsis: gura 1.12.c . En este tipo de red neuronal cada sinapsis incorpora
una estructura de retroalimentacion. Notar que la retroalimentacion local de la activacion neuronal, es un caso
especial de esta estructura. En esta estructura cada sinapsis se considera como si fuera una retroalimentaci on local,
y la activacion local de cada sinapsis es a nadida antes de entrar a la funci on no lineal f().
3.- Retroalimentaci on local de la salida: gura 1.12.d . En este tipo las entradas de la red son de la forma:
x
i
= y(t i), i = 1, 2, . . . , n; es decir, que ahora las entradas son las versiones retardadas de la se nal de salida o
que hay una retroalimentacion alrededor de la funci on no lineal.
En la seccion que sigue se presenta un grupo de modelos de red neuronal recurrente que son utiles para los problemas de
identicacion y control de sistemas dinamicos. Se basan en la representacion de los sistemas dinamicos como dependientes
de sus condiciones en el pasado, ver [9, 8].
Modelo NARMA de una Red Neuronal Dinamica
Sea un sistema dinamico no lineal discreto con una entrada, u() y una salida, y(). Su comportamiento dinamico se
describe por la expresion:
y(k + 1) = F [y(k), . . . , y(k n); u(k), . . . , u(k m)] , (1.26)
JMFA 11
1.2. Redes Neuronales Articiales Captulo 1. Introducci on: Redes Neuronales
f(
.
)
a(t) y(t)
w
1
w
2
w
n

x
1
x
2
x
n
f(
.
)
Sistema
dinmico
lineal
a(t) y(t)

x(t)
f(
.
)
a(t) y(t)

G1
G
2
G
n
x
1
x
2
x
n
f(
.
)
Sistema
dinmico
lineal
a(t) y(t)
x(t)

(a) (b)
(d) (c)
Figura 1.12: Estructuras de redes neuronales recurrentes (local-recurrent-global-feedforward). a) La se nal de acti-
vaci on es una combinaci on lineal de las entradas. La funci on de activaci on, f() , es no lineal. b) Retroalimentaci on
local de la se nal de activaci on. c) Retroalimentaci on local de la sinapsis. d) Retroalimentaci on local de la salida.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
en donde F(; ) es una funci on no lineal suave; k es el ndice de iteracion; n y m son enteros positivos y y(k i)
representa el i-esimo valor pasado de la variable y. La entrada u(k) afecta a la salida y(k + 1); esto es, que el sistema
tiene grado relativo igual a uno.
De la ecuacion (1.26) se derivan cuatro modelos de identicacion para el sistema no lineal. En el primero modelo se
hace la suposicion de que la funci on no lineal F(; ) se desconoce por completo. As que la tarea consiste en proponer
una red neuronal, NN , que aproxime a F(; ), ver la gura 1.13.a.
En el segundo modelo, la hip otesis que utiliza considera que la funci on no lineal F(; ) se divide en otras dos funciones
no lineales desconocidas: F
1
() y F
2
(); en donde la primera funci on depende solamente de los retardos de la entrada y
la segunda funci on depende de la se nal de entrada y sus retardos. Como se observa en la gura 1.13.b, este modelo usa
dos redes neuronales para sustituir las funciones no lineales F
1
y F
2
.
En el tercer y cuarto modelos suponen que la planta tiene una parte que es una funci on lineal de la entrada, o de la
salida, respectivamente, ver la gura 1.13.c, d. Entonces se propone sustituir la parte no lineal por una red neuronal.
De esta forma, el modelo de la planta esta integrado por dos bloques, uno con la funci on lineal conocida. y el otro con
una red neuronal que aproxima la no linealidad de la planta.
Redes de Jordan y Helman
Las redes de Jordan y Elman son basicamente redes de conexiones hacia adelante (FeedForward) en las cuales existe
retroalimentacion de la capa de salida en una red de Jordan, o la capa oculta en una red de Elman, ver la gura 1.14.
Estas redes a naden un elemento de recurrencia sin necesidad de nuevos algoritmos de aprendizaje. Los pesos en los
caminos de recurrencia no son ajustables, estos pesos se ponen igual a uno cuando se desea como entrada una copia
de la se nal de activacion de la neurona, o igual a 0.5 para obtener un enlace que decrece exponencialmente. La mayor
ventaja de este tipo de red neuronal recurrente es su simplicidad.
La red de Jordan sea ha usado en algunas tareas de control de sistemas. La red de Elman se utiliza en problemas
de prediccion de secuencias; por ejemplo: en la entrada de una red de Elman se presenta una secuencia de vectores, y
obtenemos como salida una prediccion del siguiente smbolo.
Una vez que se ha seleccionado una topologa de red neuronal se debe establecer la forma en que se ajustan sus
pesos, en otras palabras, se necesita denir el criterio y la ley para actualizar los pesos de la red neuronal. En la siguiente
seccion se aborda este tema.
12 JMFA
Captulo 1. Introducci on: Redes Neuronales 1.2. Redes Neuronales Articiales
y(k)=F u(k-1),...,u(k-p) F y(k-1),..., y(k-n)
1
2 [ ]+ [ ]
y(k)= F u(k-1),...,u(k-p) a y(k-i) 1[ ]+
n
i=1
i
z
-1
z
-1
z
-1
u(k)
u(k-1)
u(k-2)
u(k-p)

z
-1
z
-1
z
-1
y(k) y(k-1) y(k-2) y(k-n)
F (
.
)
2
F (
.
)
(NN )
2
2
b1
b2
bp
y(k)
^
y(k)= b u(k-i) F y(k-1),..., y(k-n) + [ ] 2
p
i=1
i
^
z
-1
z
-1
z
-1
u(k)
u(k-1)
u(k-2)
u(k-p)

F (
.
)
(NN )
1
1
z
-1
z
-1
z
-1
y(k) y(k-1) y(k-2) y(k-n)
a1 a2 an
y(k)
^
z
-1
z
-1
z
-1
u(k)
u(k-1)
u(k-2)
u(k-p)

z
-1
z
-1
z
-1
y(k) y(k-1) y(k-2) y(k-n)
F (
.
)
(NN )
1
1
F (
.
)
(NN )
2
2
y(k)
^
y(k)=F y(k-1),..., y(k-n) u(k-1),...,u(k-p) [ ; ]
z
-1
z
-1
z
-1
y(k) y(k-1) y(k-2) y(k-n)
F(
.
)
(NN)
z
-1
z
-1
z
-1
u(k)
u(k-1)
u(k-2)
u(k-p)
y(k)
^
(a) (b)
(c) (d)
^
^
^
Figura 1.13: Cuatro Modelos para un sistema desconocido no lineal discreto de una entrada y una salida. a) La
parte no lineal se concentra en una sola funci on F(). b) La no linealidad se divide en dos funciones en la que una
de ellas depende de los retardos de la entrada, F
1
, y la otra funci on de la salida actual y sus retardos F
2
. c) Este
modelo es lineal con respecto a los retardos de la entrada, y no lineal con respecto a su salida y sus retardos, F
2
.
d) En este modelo, la no linealidad es funci on de los retardos de la entrada, F
1
, y lineal con respecto a su salidas
y sus retardos.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4. Proceso de Aprendizaje
En esta seccion se da un resumen de los paradigmas y algoritmos de aprendizaje mas importantes en el campo de las
redes neuronales, ver [15].
Denicion de aprendizaje: El aprendizaje es el proceso a traves del cual los parametros de una red neuronal se
modican. Es un proceso continuo de estimulaci on y de reducci on de un criterio de error. El tipo de aprendizaje depende
de la tarea y tiene consecuencias en la manera en que los pesos son actualizados. El proceso general del aprendizaje se
puede sintetizar en tres pasos:
1. La red neuronal es estimulada por el ambiente.
2. En consecuencia, la red realiza cambios internos (actualizacion de los parametros).
3. Y debido a los cambios internos en su estructura la red neuronal responde de forma diferente.
Con el n de analizar el proceso de aprendizaje se divide en dos categoras: los paradigmas, o modelos, y los algoritmos
de aprendizaje, ver la gura 1.15.
JMFA 13
1.2. Redes Neuronales Articiales Captulo 1. Introducci on: Redes Neuronales
Nodos de salida
Nodos
Ocultos
Nodos de entrada Nodos de Contexto
Nodos de salida
Nodos
Ocultos
Nodos de entrada Nodos de Contexto
Red de tipo Jordan Red de tipo Helman
Figura 1.14: Estructura de la red de Jordan y de Elman. En la red de neuronal de Jordan la retroalimentaci on es
entre la salida y los nodos de la capa de contexto (capa oculta). En la red neuronal de Elman la retroalimentaci on
se realiza entre la capa oculta y la de contexto.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Proceso de Aprendizaje
Algoritmos de Aprendizaje Paradigmas de Aprendizaje
Correccin por Error
Boltzmann
Ley de los Efectos
(Thorndike)
Ley Hebiana
Competitivo
Supervisado
Reforzado
No Supervisado
(Auto-Organizado)
Figura 1.15: Divisi on del Aprendizaje. El concepto de aprendizaje se divide en dos categoras: Los paradigmas
de aprendizaje que son modelos que describen los componentes y la forma en que interact uan en los procesos de
aprendizaje y los algoritmos de aprendizaje que son las herramientas con que se realiza.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14 JMFA
Captulo 1. Introducci on: Redes Neuronales 1.2. Redes Neuronales Articiales
Paradigmas de Aprendizaje
Es un modelo del agente de aprendizaje y del ambiente en el que opera, describe la forma en que interactuan con la
informacion disponible, ver la gura 1.16. Los tres principales paradigmas de aprendizaje son los siguientes:
1.- Aprendizaje Supervisado: Este modelo de aprendizaje supone la existencia de un maestro que tiene como
funci on orientar el aprendizaje de la red neuronal. El maestro proporciona a la red neuronal ejemplos de lo que
desea que sea aprendido, la red asume que estas muestras estan libres de error. En el modelo supervisado se desea
que una vez que el agente ha asimilado las muestras proporcionadas por el maestro, la red neuronal debe ser capaz
de reproducir la relacion causa-efecto aprendida sin error, y con alg un grado aceptable de error cuando se utilicen
muestras distintas a las usadas durante la fase de aprendizaje, a esto ultimo se le conoce como generalizaci on.
2.- Aprendizaje Reforzado: En el modelo de aprendizaje reforzado no existe un maestro que coordine el aprendizaje
durante cada paso, pero la red neuronal tiene la oportunidad de saber, despues de un conjunto de acciones causa-
efecto, si se ha logrado cumplir, o no, con los objetivos; es decir, existe un elemento de crtica. La informaci on
recibida por la red neuronal es de menor calidad que en el caso supervisado porque hasta el nal del proceso se
eval ua si se cumple con el objetivo. De este modelo de aprendizaje se deriva el llamado problema de asignaci on de
credito .
El problema de asignacion de credito consiste en como propagar la consecuencia ultima del proceso de aprendizaje
hacia todo el conjunto de decisiones que fueron necesarias para llegar al resultado actual.
3.- Aprendizaje No Supervisado: En el modelo no supervisado se carece de un elemento externo que indique lo
que debe ser aprendido, o su calidad. Aqu se considera que la red neuronal es capaz de extraer caractersticas de
la misma informacion, y a nade estas a su comportamiento.
RN
Maestro
Ambiente
Respuesta
deseada
Error
Respuesta
Real
-
Estado
RN
Ambiente
Crtica
Acciones
Seal de Refuerzo
Estado
RN
Ambiente
Aprendizaje Supervisado Aprendizaje Reforzado Aprendizaje No Supervisado
Estado
Figura 1.16: Paradigmas de Aprendizaje. Los paradigmas de aprendizaje se dividen entres tipos: el aprendizaje
supervisado, reforzado y el no supervisado.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En estos tres paradigmas o modelos del aprendizaje se basan los algoritmos encargados de ejecutar la tarea de ajuste
de los pesos de red neuronal. A continuaci on se describen algunos de los mas importantes.
Algoritmos de Aprendizaje
Los principales algoritmos de aprendizaje para redes neuronales son: correccion por error, la ley Hebbiana y el algoritmo
de tipo competitivo, en seguida una breve explicacion de ellos.
1.- Correcci on por Error: Este algoritmo de aprendizaje esta basado en el modelo supervisado, ya que existe una
se nal deseada para las salidas de la red. La funci on del error se dene como:
e
i
(k) = y
d
i
(k) y
i
(k); (1.27)
JMFA 15
1.2. Redes Neuronales Articiales Captulo 1. Introducci on: Redes Neuronales
en donde e
i
(k) es la se nal de error; y
d
i
(k) es la se nal deseada; y
i
(k) es la se nal de salida de la red neuronal, todos
en el instante k. El algoritmo se basa en la minimizacion de la funci on de costo a traves del metodo del gradiente
descendente. En aplicaciones que requieran que el ajuste de los pesos se realize en cada iteracion, se utiliza el valor
instantaneo de la suma de los cuadrados de los errores como criterio, o funci on de costo:
E(k) =
1
2

r
e
2
r
(k). (1.28)
La funci on de costo debe ser minimizada en terminos de los pesos sinapticos de la red neuronal. Para esto se utiliza
la siguiente regla, llamada regla delta:
w
ij
(k) = w
ij
(k + 1) w
ij
(k) = e
i
(k)x
j
(k) (1.29)
en donde es el ndice de aprendizaje.
La regla de correccion por error se comporta como un sistema de lazo cerrado y el ndice de aprendizaje asegura la
estabilidad del algoritmo. Si la red neuronal consiste de unidades de procesamiento (nodos) lineales, la supercie
del error es una funci on cuadratica de los pesos con un s olo mnimo global. Pero si la red neuronal consiste en
unidades de procesamiento no lineales, la supercie del error tiene un mnimo global y posiblemente varios mnimos
locales. Debido a que el algoritmo de aprendizaje inicia en un punto arbitrario de la supercie y va paso a paso en
busca de un mnimo, la regla delta puede caer en un mnimo local y esto ocasionara que nunca alcance el mnimo
global. Este es uno de los problemas de actualizar los pesos usando la ecuacion (1.29) pero, por otra parte, su
sencillez y facil implementacion la hacen muy popular.
Uno de los algoritmos de aprendizaje por correccion del error para redes con conexiones hacia adelante es el de
retropropagacion del error que a continuaci on se desarrolla.
Algoritmo de Retropropagaci on del Error:
En esta seccion se presenta el algoritmo conocido como de Retropropagacion del Error este algoritmo se
utiliza para ajustar las redes neuronales del tipo de conexiones hacia adelante (FeedForward), que es una red
estatica. Este algoritmo tiene dos presentaciones: Por lote (Bach) y el iterativo (en lnea).
En el algoritmo por lote el ajuste de los pesos de la red se lleva al nal de cada epoca, es decir, una vez que
se ha comparado la respuesta actual de la red para todo el conjunto de datos de entrenamiento. Para este
caso el ndice de desempe no esta descrito por la expresion:
c =
1
2
N

n=1
_
P

i=1
e
2
i
(n)
_
, (1.30)
en donde N es un entero que dene el n umero de epocas. Una epoca es el conjunto completo de los patrones
o datos de entrenamiento. Se utiliza a P para indicar el n umero de patrones de entrenamiento; e
i
para indicar
el error de la salida i de la red neuronal. El ajuste de los pesos se realiza al nal de cada epoca.
Para los problemas de control, se necesita de otro tipo de algoritmo debido a que la actualizaci on de los pesos
se debe hacer en cada iteracion del proceso.
En el caso iterativo se considera que para cada elemento del conjunto de entrenamiento se realiza un ajuste
de los pesos de la red. Este tipo de algoritmo es el que nos interesa ya que permite que se use en aplicaciones
que requieren de un ajuste continuo de los parametros la red neuronal.
Para desarrollar el algoritmo de retropropagacion del error se utiliza un caso particular de una red neuronal
con una conguraci on de dos entradas, dos nodos ocultos en la primer capa oculta, tres nodos en la segunda
capa oculta, y dos nodos de salida o, de forma resumida, tiene una conguraci on 2, 2, 3, 2, gura 1.17.
El algoritmo de retropropagacion del error se basa en la minimizacion del valor medio de la suma de los errores
de salida al cuadrado:
E(k) =
nL

i=1
_
y
d
i
(k) y
i
(k)

2
=
nL

i=1
e
i
(k)
2
, (1.31)
en donde y
d
i
(k) valor deseado en la salida i de la red neuronal; E(k) es el ndice de desempe no, ambos en el
instante k.
16 JMFA
Captulo 1. Introducci on: Redes Neuronales 1.2. Redes Neuronales Articiales

W
x
s
1
1
s
1
2
1
1
1

1
2
x
1
2
x
1
1
s
2
3
s
2
2
s
2
1

2
1

2
2

2
3
x
2
3
x
2
2
x
2
1
s
3
2
s
3
1

3
1

3
2
x
3
1
=
y1
x
3
2
=
y2
x
1
2
1 xo
=
x
1
o
=
1
x
2
o
=
1
1
W
2 W
3
Capa de
Entrada
1
er
Capa
Oculta
2
da
Capa
Oculta
3
er
Capa
Oculta (salida)
+
+
d1
d2
e
e
1
2
-
-
Figura 1.17: Red Neuronal con tres capas. El entrenamiento por retropropagaci on del error consiste en transladar
el error de salida hacia las capas internas de la red neuronal.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
La actualizacion de los pesos de la red se realiza por medio de la expresion:
w
l
ij
(k) =
E(k)
w
l
ij
(k)
, (1.32)
en donde es el ndice de aprendizaje; w
l
ij
es el peso de la capa l que conecta a la salida de la neurona j de
la capa l 1 con la entrada de la neurona i en la capa l y w
l
ij
(k) = w
l
ij
(k + 1) w
l
ij
(k).
Ahora se divide el proceso en dos casos, el primero cuando el peso a ajustar pertenece a la capa de salida
de la red; y el otro caso cuando el peso a actualizar pertenece a alguna de las capas ocultas de la red. Esta
separacion se debe a que los pesos que estan en la capa de salida la derivada del ndice de desempe no es
funci on directa del error, e
i
(k). Por el contrario, no esta claro el efecto de los pesos de las capas ocultas sobre
el error de salida. Para ambos procesos se hace uso de la regla de la cadena para la derivacion de funciones.
Pesos en la capa de salida:
Sea w
3
ij
(k) un peso que pertenece a la capa 3 (capa de salida). Usando (1.32) y derivando tiene:
w
3
ij
(k) =
E(k)
w
3
ij
(k)
, (1.33)
w
3
ij
(k) =
E(k)
s
3
i
(k)
s
3
i
(k)
w
3
ij
, (1.34)
=
E(k)
s
3
i
(k)
x
2
j
(k), (1.35)
en donde los ndices i = 1, . . . , 2 y j = 0, . . . , 3.
De aqu se dene el gradiente local de la capa de salida como:

3
i
(k) =
E(k)
s
3
i
(k)
. (1.36)
(1.37)
As que para hallar el valor del gradiente de la funci on de costo con respecto al valor del peso es necesario
determinar el valor del gradiente local:

3
i
(k) =
E(k)
x
3
i
(k)
x
3
i
(k)
s
3
i
(k)
, (1.38)
JMFA 17
1.2. Redes Neuronales Articiales Captulo 1. Introducci on: Redes Neuronales
=
E(k)
x
3
i
(k)

3
i
_
s
3
i
(k)

, (1.39)
= e
i
(k)
3
i
_
s
3
i
(k)

, (1.40)

3
i
(k) = e
i
(k)
3
i
_
s
3
i
(k)

, (1.41)
para i = 1, 2.
Entonces los pesos de la capa de entrada se actualizan con la regla:
w
3
ij
(k) = e
i
(k)
3
i
_
s
3
i
(k)

x
2
j
(k), (1.42)
en donde los ndices i = 1, 2, y j = 0, . . . , 3.
Pesos en las capas ocultas:
Para la primera capa oculta. Sea w
2
ij
(k) un peso que pertenece a esta capa. La expresion para la actualizaci on
de estos pesos se obtiene a traves del desarollo:
w
2
ij
(k) =
E(k)
w
2
ij
(k)
, (1.43)
=
E(k)
s
2
i
(k)
s
2
i
(k)
w
2
ij
(k)
, (1.44)
=
E(k)
s
2
i
(k)
x
1
j
(k), (1.45)
para los ndices: i = 1, . . . , 3 y j = 0, . . . , 2.
El gradiente local de esta capa oculta es:

2
i
(k) =
E(k)
s
2
i
(k)
, (1.46)
=
E(k)
x
2
i
(k)
x
2
i
(k)
s
2
i
(k)
, (1.47)
=
E(k)
x
2
i
(k)

2
i
_
s
2
i
(k)

. (1.48)
Se desarrolla
E(k)
x
2
j
de la forma siguiente:
E(k)
x
2
i
(k)
=
2

r=1
E(k)
s
3
r
(k)
s
3
r
(k)
x
2
i
(k)
, (1.49)
=
2

r=1
E(k)
s
3
r
(k)
w
2
ri
(k), (1.50)
=
2

r=1

3
r
(k)w
3
ri
(k). (1.51)
El gradiente local de esta capa esta expresado como se muestra a continuaci on:

2
i
(k) =
2
i
_
s
2
i
(k)

r=1

3
r
(k)w
3
ri
(k), (1.52)
para i = 1, 2, 3.
Finalmente los pesos de la capa oculta 2 se actualizan por medio de la expresion:
w
2
ij
(k) =
2
i
(k)x
1
j
(k),
=
_
2

r=1

3
r
(k)w
3
ri
(k)
_

2
i
_
s
2
i
(k)

x
1
j
(k), (1.53)
18 JMFA
Captulo 1. Introducci on: Redes Neuronales 1.2. Redes Neuronales Articiales
en donde i = 1, 2, 3; j = 0, . . . , 2.
Para la capa de entrada, el procedimiento es similar, de manera que la expresion para el ajuste de sus pesos
es la siguiente:
w
1
ij
(k) =
1
i
(k)x
1
j
(k),
=
_
3

r=1

2
r
(k)w
2
ri
(k)
_

1
i
_
s
1
i
(k)

x
0
j
(k), (1.54)
para i = 1, 2; j = 0, . . . , 2.
La ecuaciones para obtener los gradientes de la red neuronal denen un modelo adjunto o modelo de sensibi-
lidad de la red. Esta red de sensibilidad dene el paso hacia atras durante el cual se determinan los gradientes
locales de los nodos de la red original, gura 1.2.4.

3
2

3
1
w
3
11
w
3
12
w
3
32
w
3
21
w
3
22
w
3
31
-e
1
-e
2
3
2
3
1

3
1
2
2
2
1
2
3

2
2

2
1

2
2

1
2

1
1
1
2
1
1
w
2
11

3
2

2
1

2
2

2
3

1
1

1
2
w
2
12
w
2
13
w
2
11
w
2
12
w
2
13
Figura 1.18: Modelo de sensibili-
dad. El modelo de sensibilidad es
una estructura paralela a la red
que genera los gradientes locales.
Retropropagaci on a Traves del Tiempo Backpropagation Through Time: Basicamente es una red
neuronal recurrente que se desdobla en una red neuronal de conexiones hacia adelante (FeedForward) y se
aplica el algoritmo de entrenamiento de retropropagacion dinamico del error para ajustar los pesos de la red
recurrente, gura 1.19.
1
1
3
2
w
11
w
13
w
21
w
12
w
22
w
23
o(t)
3 2
1 3 2
1 3 2
1 3 2
o(t+ t)
o(t)
o( t)
w
11
w
21
w
12
w
13
w
23
w
22
w
11
w
21
w
12
13
w
w
22
w
23
Figura 1.19: Retropropagaci on a traves del
tiempo. Este algoritmo incorpora la informa-
ci on anterior considerando que en cada it-
eracion se agrega una nueva capa a la red neu-
ronal.
Para cada instante de tiempo, la red neuronal recurrente duplica una capa de una red neuronal de conexiones
hacia adelante. Cada nodo i de cada capa de la red feedforward representa la misma neurona de la red
recurrente pero en distinto tiempo. Cada peso w
ij
en la red original se duplica como el peso que va de la
neurona i en el tiempo t a la neurona j en la capa correspondiente al tiempo t+t; Todos los pesos w
ij
estan
restringidos al mismo valor. Cuando los valores deseados son dados en el tiempo t
1
, el error es propagado
hacia todas las neuronas anteriores hasta la capa primera (tiempo inicial, t
0
) de la red desdoblada utilizando
el algoritmo de retropropagacion dinamico. El gradiente de error de los pesos es justo la suma de todos los
gradientes para todos los pesos de cada capa. Esta red neuronal tiene el problema que para secuencias muy
grandes de tiempo los requerimientos de memoria aumentan grandemente.
JMFA 19
1.3. Conclusi on Captulo 1. Introducci on: Redes Neuronales
2.- Ley Hebbiana: La ley hebbiana corresponde al modelo de aprendizaje no supervisado. En esta ley, si dos neuronas
conectadas en cualquier lado de una sinapsis estan activas de forma repetida, entonces el valor de la sinapsis es
selectivamente incrementado. Por el contrario, si las dos neuronas son asincronicamente activadas, entonces el peso
sinaptico es disminuido.
Algunas propiedades de este algoritmo son las siguientes:
Es un mecanismo dependiente del tiempo: La modicacion del valor de los pesos en la ley Hebbiana de-
pende del tiempo en que ocurre la actividad neuronal.
Es un mecanismo local: El algoritmo act ua de manera independiente sobre cada neurona.
Mecanismo iterativo: El cambio en cada sinapsis depende de los nodos colocados en ambos lados de ella.
Mecanismo de correlaci on: La ocurrencia de actividad en ambos lados, de la sinapsis, es suciente para
producir la modicacion de los pesos. La correlacion positiva obliga su refuerzo, la correlaci on negativa su
reducci on.
3.- Algoritmo Competitivo: Aqu las salidas de la red neuronal compiten entre ellas para ser activadas. La diferencia
con la ley Hebbiana se encuentra en que pueden haber varias neuronas activas, pero en el algoritmo competitivo
s olo una esta activa. Las tareas para las cuales este algoritmo suele utilizarse son en la clasicacion, agrupamiento
y la categorizacion de los datos de entrada.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Conclusion
Por lo visto en este captulo se pueden citar algunas de las desventajas de los modelos de redes neuronales que se
acaban de presentar. Dichas desventajas son las siguientes:
La gran variedad de modelos hace que se diculte la busqueda de un modelo general de red neuronal, al menos
para algunas tareas.
Los modelos de redes neuronales que utilizan lneas de retardos a la entrada son de naturaleza secuencial, esto
hace que su entrenamiento sea lento.
Algunos de estos modelos, los lazos de retroalimentacion no son entrenables.
Algunos modelos de redes neuronales unicamente consideran el caso de sistemas de una entrada y una salida.
En algunos casos la estabilidad de la red no se considera, especialmente para el entrenamiento.
En la mayora de los modelos los parametros no pueden ser directamente utilizados en los problemas de identicaci on
y control de sistemas.
Estos modelos no realizan la identicacion de estados ni de parametros.
Como conclusi on de este captulo se puede decir que el campo de las redes neuronales articiales ha estado madurando
ya que en cada a no que pasa se va enriqueciendo con nuevas topologas y algoritmos de entrenamiento. Las tareas van
desde la aproximacion de funciones hasta modelos capaces de ser entrenados para reproducir el comportamiento de
complejos sistemas dinamicos. En los siguientes captulos se presenta una arquitectura de red neuronal recurrente que
por su topologa y ley de entrenamiento esta orientada para las aplicaciones de identicacion y control de sistemas
dinamicos.
20 JMFA
Captulo 2
Red Neuronal Recurrente Entrenable
En este captulo se presenta la estructura de la red neuronal recurrente usada en este trabajo con algunas de sus
posibles modicaciones. La estructura de esta red neuronal se basa en un modelo en variables de estado de un sistema
no lineal discreto. Todos los parametros de la red son entrenables a traves de un algoritmo de tipo retropropagaci on del
error.
2.1. Estructura de la Red Neuronal Recurrente Entrenable (RNRE)
En los trabajos [12, 11] se presenta una Red Neuronal Recurrente Entrenable (RNRE) con algunos resultados de su
aplicacion en los problemas de identicacion de sistemas no lineales. Esta red neuronal recurrente esta descrita por las
siguientes ecuaciones, ver la gura 2.1.
Caso continuo:
x(t) = Jx(t) +Bu(t), (2.1)
z(t) = [x(t)], (2.2)
y(t) = [Cz(t)], (2.3)
J
.
= block diag(J
i
), (2.4)
Re (J) < 0 (2.5)
Caso discreto:
X(k + 1) = JX(k) +BU(k), (2.6)
Z(k) = [X(k)], (2.7)
Y (k) = [CZ(k)], (2.8)
J
.
= block diag(J
i
), (2.9)
|(J)| < 1 (2.10)
en donde x()[X] es el vector de estados de la red; u()[U] es el vector de entrada; y()[Y ] es el vector de salida; z()[Z]
es un vector auxiliar. Las dimensiones de estos vectores son n, m, p y n, respectivamente. () es un vector de funciones
de activacion (en la deducci on del algoritmo de entrenamiento es preferible considerar a como una matriz diagonal):
(x) : R
n
R
n
:
_
_
_
x
1
.
.
.
x
n
_
_
_
_
_
_
(x
1
)
.
.
.
(x
n
)
_
_
_. (2.11)
Entre las posibles opciones para estas funciones se tienen la funci on sigmoide y la funci on tanh. La dimensi on de
este vector es la apropiada seg un sea para la capa interna de la red, o bien, para la capa de salida; J es una matriz
21
2.2. Propiedades de Observabilidad y Controlabilidad Captulo 2. Red Neuronal Recurrente Entrenable
diagonal por bloques. Los bloques corresponden a las formas de Jordan de dimension (1 1) y (2 2); J
i
es el bloque
i-esimo de J. La propiedad (2.5) es la condici on de estabilidad de la RNRE que implica que todos los valores propios
de J (el espectro de J) deben tener parte real negativa. En el caso discreto la condici on de estabilidad es (2.10) indica
que los elementos del espectro de J deben estar en el interior del crculo unitario. Estas dos condiciones garantizan la
estabilidad en la fase de operacion de la red neuronal. Las matrices B y C son los pesos de entrada y salida de la RNRE,
respectivamente. Notar que este modelo de RNRE es parametrico de manera que es util para tareas de identicaci on y
control de sistemas. Los parametros de la red son las matrices B, J y C.
B
J
z
-1
X(k)
U(k)
C
Y(k) X(k+1) Z(k)
Capa Dinmica
Capa Esttica
B
J
x(t)
u(t)
C
y(t) x(t) z(t)
Capa Dinmica
Capa Esttica

.
(a) (b)
Figura 2.1: Estructura general de una red neuronal hibrda. a) Caso continuo. b) Caso discreto. En una red neuronal
recurrente se identican dos capas: una capa din amica y la otra es una capa estatica.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En la gura 2.2 se muestra un ejemplo de una red neuronal recurrente entrenable con cuatro entradas, tres estados
internos y dos salidas. En este ejemplo se considera que la matriz J es una matriz diagonal, esto ayuda a simplicar la
obtenci on de las ecuaciones de ajuste de los pesos.
z
-1
j
1
(
.
)
z
-1
j
2
(
.
)
z
-1
j
3
(
.
)

(
.
)
(
.
)
u2
u1
u3
u4
x1
x2
x3
z1
z2
z3
y1
y2
x1
+
x2
+
x3
+
b11
b14
b21
b24
b31
b34
c11
c13
c21
c23
Figura 2.2: Ejemplo de una red neuronal re-
currente entrenable. Topologa (2, 3 , 2). En
donde: x
+
= x(k+1). Se selecciona a la matriz
J como una matriz diagonal para simplicar
las ecuaciones de entrenamiento de la red.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En la seccion 2.2 se citan resultados sobre las propiedades de controlabilidad y observabilidad de un modelo de red
neuronal recurrente similar al de una RNRE.
2.2. Propiedades de Observabilidad y Controlabilidad
En [13, 14] se presentan resultados sobre las propiedades de observabilidad y controlabilidad del siguiente modelo de
red neuronal recurrente:
x
+
= (Ax +Bu), (2.12)
y = Cx, (2.13)
en donde x es el vector de estados; u es el vector de entrada; y es el vector de salida con dimensiones n, m y p,
respectivamente. x
+
simboliza a x(k+1). Las literales A, b y C representan matrices de entradas reales y de dimensiones
n n, n m y p n, correspondientemente; () es la funci on de activacion que opera de la forma: (x
1
, . . . , x
n
) =
[((x
1
), . . . , (x
n
)]
T
. Ver la gura 2.3 que presenta la estructura a bloques de esta red neuronal.
22 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.2. Propiedades de Observabilidad y Controlabilidad
B
A
x
u
C
Y(k)
x
( ,+)

Figura 2.3: Diagrama a bloques de una red neuronal re-


currente. puede ser el operador z
1
, o
_
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1. Observabilidad
El resultado principal en [13] sobre la observabilidad del modelo de red neuronal (2.12-2.13) se resumen en el
teorema 2.1, pero antes unas deniciones que son parte del teorema.
Nota 2.1 (Propiedad de Independencia:) Se dice que satisface la propiedad de independencia, si para un entero
positivo dado l ; un grupo de n umeros reales diferentes de cero: b
1
, . . . , b
l
y otro grupo de n umeros reales:
1
, . . . ,
l
que
estan relacionados de la forma:
(b
i
,
i
) ,= (b
j
,
j
) i ,= j.
Las funciones:
(b
i
u +
i
), . . . , (b
l
u +
l
),
son linealmente independientes si se corresponden de la forma:
c
0
+
l

i=1
c
i
(b
i
,
i
) = 0 u R c
0
= c
1
= = c
l
= 0.

La propiedad de independencia asegura que la funci on de activacion se conserva linealmente independiente bajo
distintas translaciones y dilataciones.
La siguiente nota dene una clase de matrices.
Nota 2.2 Se dice que la matriz B pertenece a la clase B si:
B
n,m
=
_
B R
nm

B
i
,= 0 i = 1, . . . , n,
B
i
,= B
j
i ,= j.
en donde B
j
indica la la j de la matriz B.

Observar el caso de que m = 1; es decir, cuando b es un vector, entonces b pertenece a B si y s olo si todos los
elementos de b son diferentes de cero y de distinto valor absoluto.
Nota 2.3 Se dice que un sistema del tipo (2.12, 2.13) es de clase o, si la matriz B pertenece a la clase B y satisface
la propiedad de independencia.

Teorema 2.1 (Observabilidad:) Sea un sistema (2.12, 2.13) o. Este sistema es observable si y s olo si
kerA kerC = O
c
(A, C) = 0.
La condici on O
c
(A, C) = 0 es equivalente a decir que no existe un subespacio coordenado A-invariante diferente de
cero que este incluido en el KerC.

JMFA 23
2.2. Propiedades de Observabilidad y Controlabilidad Captulo 2. Red Neuronal Recurrente Entrenable
Para el caso de sistemas lineales, si el par (A, C) es observable entonces el subespacio A-invariante mas grande
contenido en el KerC, denotado como: O(A, C) es el espacio cero. Como O
c
(A, C) y kerAkerC son subespacios
de O(A, C), por lo que el corolario (2.1.1) se genera:
Corolario 2.1.1 Si (2.12, 2.13) o y el par de matrices (A, C) es observable entonces (2.12, 2.13) es observable.

En el caso de que A sea invertible, se cumple que kerA kerC = 0, se tiene el siguiente corolario:
Corolario 2.1.2 Si (2.12, 2.13) o y el par de matrices (A, C) es observable entonces (2.12, 2.13) y det(A) ,= 0,
entonces (2.12, 2.13) es observable si y s olo si O
c
(A, C) = 0.

Un subespacio coordenado esta denido de la forma que sigue. Si e


i
, i = 1, . . . , n es la base canonica para R
n
. Por
ejemplo, si R
2
la base canonica es: e
T
1
= [1, 0], e
T
2
= [0, 1]. Se le llama subespacio coordenado a un subespacio V , de
la forma V = 0, o V = line
i1
, . . . , e
i
l
, l > 0. Un subespacio coordenado es invariante bajo cualquier proyecci on, es
decir:

i
: R
n
R
n
,
i
e
j
=
ij
e
i
.
en donde
i
es la proyeccion sobre la componente e
i
,
ij
es la funci on delta de Dirac tal que i = j = 1 y si
i ,= j = 0.
Un subespacio coordenado tiene la forma V =

j

ij
(R
n
) para algunos ndices i
i
, . . . , i
l
. En este caso CV = 0
implica que C
ij
= 0 para todo j. En otras palabras, si todas las columnas de C son diferentes de cero, entonces O
c
= 0.
De esta observacion se deriva el siguiente corolario:
Corolario 2.1.3 Si un sistema (2.12, 2.13) o, ker A ker C=0 y cada columna de C es diferente de cero, entonces
el sistema es observable.

El ultimo corolario se da una propiedad de la matriz C para que la red neuronal recurrente sea observable.
En la seccion 2.2.2 se expone otro teorema para la propiedad de controlabilidad.
2.2.2. Controlabilidad
En [14] se extiende la comprobacion de la propiedad de accesibilidad hacia adelante de la red neuronal recurrente
(2.12, 2.13) para probar su propiedad de controlabilidad.
Accesibilidad hacia adelante (Forward accessibility): Se dice que el sistema tiene accesibilidad hacia adelante
si desde cualquier estado inicial es posible alcanzar a cualquier punto en un conjunto abierto de estados en R
n
por
medio de una entrada adecuada u().
La propiedades para que el sistema (2.12, 2.13) tenga Accesibilidad hacia adelante son las siguientes:
Propiedad de independencia para la funci on de activacion ,
B pertenezca a la clase B.
Controlabilidad: Se dice que el sistema es controlable si desde cualquier estado inicial es posible alcanzar a cualquier
otro punto en el espacio de estados completo por medio de una entrada adecuada u().
24 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.2. Propiedades de Observabilidad y Controlabilidad
Nota 2.4 Sea ( la clase de funciones que son localmente Lipschitz que tiene las propiedades siguientes :
1. es una funci on impar; es decir, (r) = (r) para toda r,
2.

= lm
s+
existe y es mayor que 0,
3. <

para toda r R,
4. para cada a, b R y b > 1,
lm
s+

(a +bs)

(s)
= 0. (2.14)

Como ejemplo de un tipo de funci on de activacion que cumple con estas propiedades se tiene la funci on tangente
hiperb olica: tanh(x).
Las primeras tres propiedades que se dan en la nota anterior son cumplidas por la funci on tanh. Para comprobar la
ultima propiedad necesitamos del hecho que sigue:
Prop.1
Si, (x) =
1
(1 +e
x
)
1
, entonces,
(r)
(t)
= (r) +e
rt
(r).
Prop.2
1 tanh(x) = 2(2x).
Es sencillo probar que la funci on tangente hiporb olica satisface la propiedad (2.14):
1 tanh(a +bs)
1 tanh(s)
. Usando la Prop.2 :
(2a 2bs)
(2s)
. (2.15)
Ahora usando la Prop.1 y sustituyendo en (2.15), se tiene:
(2a 2bs)
(2s)
= (2a 2bs) +e
2a
e
2(1b)s
(2a + 2bs). (2.16)
Al aplicar el lmite a (2.16):
lm
s
(2a 2bs) 0 + lm
s
e
2a
e
2(1b)s
(2a + 2bs) 0.
Es decir que la funci on tangente hiperb olica tanh(x) cumple con las condiciones la de la nota 2.4
El teorema 2.2 dene las condiciones de controlabilidad del sistema (2.12-2.13).
Teorema 2.2 (Controlabilidad:) Si se asume que ( y que B (B) y la matriz A es arbitraria entonces el sistema
(2.12-2.13) es controlable.

En el teorema 2.2 se nota algo muy interesante: en el caso de que sea la funci on identidad la controlabilidad
esta determinada por el par (A, B), pero en el caso no lineal la controlabilidad esta determinada por la estructura de la
matriz B.
En la seccion que sigue se presenta la ley de aprendizaje para la red neuronal recurrente entrenable y para algunas
de sus variaciones.
JMFA 25
2.3. Red Neuronal Recurrente Entrenable Captulo 2. Red Neuronal Recurrente Entrenable
2.3. Red Neuronal Recurrente Entrenable
La ley de aprendizaje o regla ajuste de los pesos para la red neuronal recurrente, que se describe por las ecuaciones
(2.6-2.9), se obtiene por medio del metodo de retropropagacion del error de la salida (ver seccion 1.2.4 y el apendice F).
El procedimiento consiste en obtener los gradientes de cada nodo de la red y despues aplicar el algoritmo optimizaci on
por gradiente descendente para actualizar los pesos.
Con el objetivo de disminuir la complejidad del algoritmo se construye a la matriz J con una estructura diagonal. En
la gura 2.4 se muestra la estructura de una RNRE con m entradas, n estados (o nodos ocultos) y p salidas.
La RNRE tiene una estructura formada por un grupo ltros digitales de primer orden conectados en paralelo y con
acoplamiento en las entradas y en las salidas.
(
*
)
u (k)
1
u (k)
2
u (k)
m-1
u (k)
m
s (k)
1
n
s (k)
1
1
z
- 1
z
- 1
z
- 1
z
- 1
y (k) 1
y (k) p
z (k) 1
z (k) 2
z (k) n-1
x (k) 1
x (k) n
x (k) 2
x (k) n-1
z (k) n
s (k)
1
2
s (k)
1
n-1
x1
+
xn
+
xn-1
+
b11
J
1,1
J
2,2
J
n-1,n-1
J
n,n
1 1
1 1
1
1
1
1 1
1 1
1 1
1 1 1 1
1
1
1
s (k)
2
1
s (k)
2
p
(
*
)
y (k) 2
1 1
s (k)
2
2
y (k) p-1
1 1
s (k)
2
p-1
x2
+
b1m
b21
b2m
bn-1,1
bn-1,m
bn,1
bn,m
c11
c1n
c21
c2n
cp-1,1
cp-1,n
cp,1
cp,n
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
Figura 2.4: Red neuronal recurrente entrenable. Esta red neuronal se compone de una capa oculta recurrente y de
una capa estatica de salida. x
+
i
= x(k + 1).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Desarrollando un poco mas las ecuaciones (2.6-2.9) que describen la RNRE se tienen las expresiones:
s
1
i
(k) =
m

j=1
b
ij
u
j
(k); i = 1, . . . , n, (2.17)
x
i
(k + 1) = J
ii
x
i
(k) +s
1
i
(k); i = 1, . . . , n, (2.18)
z
i
(k) =
1
[x
i
(k)] ; i = 1, . . . , n, (2.19)
s
2
i
(k) =
n

j=1
c
ij
z
j
(k); i = 1, . . . , p, (2.20)
y
i
(k) =
2
_
s
2
i
(k)

; i = 1, . . . , p, (2.21)
en donde n es el n umero de nodos internos de la capa con retroalimentacion y p es el n umero de nodos en la capa de
salida de la red.
El objetivo de la ley de aprendizaje es minimizar la suma de los cuadrados del error de salida:
E(k) =
1
2
p

i=1
e
2
i
(k), (2.22)
en donde e
i
(k) = y
d
i
(k) y
i
(k), y
d
i
(k) es el valor deseado en la i-esima salida de la RNRE.
La actualizacion de los pesos de la RNRE se lleva a cabo por medio de la ecuacion:
w
ij
(k) = w
ij
(k + 1) w
ij
(k) =
E(k)
w
ij
(k)
, (2.23)
26 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.3. Red Neuronal Recurrente Entrenable
en donde w
ij
(k) representa un peso en la RNRE;
E(k)
wij (k)
es el gradiente del ndice desempe no de la red con respecto al
peso w
ij
que se va ajustar; es la tasa de ajuste.
Para el caso continuo la ecuacion (2.23), toma la forma:
w
ij
(t) =
E(t)
w
ij
(t)
, (2.24)
en donde t es la variable del tiempo.
La ley de ajuste de los pesos de la red (2.23) actualiza el valor del peso en la direccion del mayor descenso de la
funci on costo, esperando que al seguir este camino se alcance el punto en donde el peso dene un mnimo global para esta
funci on. Sin embargo, este algoritmo tiene algunos problemas: durante la actualizacin del peso puede caer en un mnimo
local y estacionarse all y, por tanto, no alcanzar el punto mnimo global de la funci on; la lentitud de este algoritmo es
otro problema, ocasionado porque el peso puede estar en una zona plana del gradiente, aqu las iteraciones del algoritmo
implican s olo un cambio peque no del peso; otro defecto se produce en sistemas con poco amortiguamiento, al llegar a
un punto mnimo (global o local) el algoritmo tiende a oscilar alrededor de este. Una forma sencilla para reducir estos
efectos se logra con la ayuda de un termino adicional a la ecuacion (2.23) que le a nade amortiguamiento, se le llama
termino momento. La regla de ajuste de los pesos con este termino es:
w
ij
(k) = w
ij
(k + 1) w
ij
(k) =
E(k)
w
ij
(k)
+w
ij
(k 1), (2.25)
en donde es la tasa para el termino momento. A la ecuacion (2.25) se le conoce como regla delta generalizada.
En [15] se da la siguiente explicacion para el termino momento. Si la regla delta generalizada se desarrolla como una
serie para k = 0, . . . , n, se obtiene una ecuacion de diferencias de primer orden para w
ij
(k), esto es:
k = 0; w
ij
(0) =
E(0)
w
ij
(0)
,
k = 1; w
ij
(1) =
E(1)
w
ij
(1)
+w
ij
(0) =
_
E(1)
w
ij
(1)
+
E(0)
w
ij
(0)
_
,
k = 2; w
ij
(2) =
E(2)
w
ij
(2)
+w
ij
(1) =
_
E(2)
w
ij
(2)
+
E(1)
w
ij
(1)
+
2
E(0)
w
ij
(0)
_
,
.
.
.
k = n; w
ij
(n) =
_
E(n)
w
ij
(n)
+
E(n 1)
w
ij
(n 1)
+ +
n
E(0)
w
ij
(0)
_
=
n

r=0

nr
E(r)
w
ij
(r)
, (2.26)
entonces la expresion para el cambio del peso , w
ij
(n) es una serie exponencial. Un requisito para la convergencia es
que el parametro este entre los lmites:
0 [[ < 1, (2.27)
si se le da un valor entre los lmites (2.27), entonces se considera a la ecuacion (2.25) como un algoritmo de ajuste
con tasa, o coeciente, de aprendizaje variable. Si se toma a
E(r)
wij(r)
= 1 para toda r, la ganancia nal del algoritmo es:
lm
r
w
ij
(r) =

1
, (2.28)
entonces, si el algoritmo (2.25) esta en una zona en donde
E(r)
wij(r)
tiene un valor peque no durante varias iteraciones, la
ganancia del algoritmo se incrementa exponencialmente hasta la ganancia lmite (2.28), esto acelera la variaci on de la
ganancia para salir de esta situacion, aumentado as su velocidad. Sobre el lmite de la ganancia, notar que si el valor de
se toma de la forma:
= 1 , (2.29)
la ganancia nal sera 1, por esta razon se da a la condici on (2.29) como una regla para denir el valor de .
JMFA 27
2.3. Red Neuronal Recurrente Entrenable Captulo 2. Red Neuronal Recurrente Entrenable
El termino momento tambien ayuda para reducir el efecto que ocurre cuando
E(r)
wij(r)
cambia de signo de manera
alternada. Si se dene a:
E(k)
wij(k)
.
= J(k), y se obtiene la transformada Z de la ecuacion (2.25), se tiene:
W
ij
(z)
J(z)
=
z
z
, (2.30)
es decir, que la relacion entre la variacion del peso, W
ij
(z) y el gradiente de la funci on de costo, J(z), presenta
el comportamiento de un ltro pasa-bajos, esto signica que si el gradiente de la funci on de costo cambia de forma
alternada de signo, entre mas rapido sea este cambio, menor es el efecto sobre la variacion del peso, amortiguando de
esta forma las oscilaciones alrededor del punto mnimo.
De lo anterior se concluye que el termino momento (2.25) es util para acelerar el aprendizaje y estabilizar el compor-
tamiento de la regla delta (2.25).
De la ecuacion (2.30) se puede generalizar y establecer que la relacion entre W
ij
(z) y J(z) esta dado por una
funci on de transferencia G(z)
1
, esto es:
W
ij
(z)
J(z)
= G(z), (2.31)
lo anterior abre otras posibilidades para seleccionar la regla de actualizacion de los pesos al considerar que el cambio en
el peso, W
ij
(z), es la version ltrada de J(z).
En la pr oxima seccion se desarrolla el algoritmo de retropropagacion del error para una red neuronal recurrente y
algunas de sus variaciones.
2.3.1. Ley de Aprendizaje
Tomando como base a la funci on (2.22) se comienza por obtener los gradientes locales de cada uno de los nodos en
los distintos niveles de la red neuronal, una vez encontrados estos gradientes, se aplica la regla delta (delta generalizada)
para calcular el nuevo valor del peso.
El gradiente local esta denido de la forma:

l
i
(k) =
E(k)
s
l
i
(k)
, (2.32)
en donde
l
i
(k) es el gradiente local y s
l
i
(k) es la se nal de activacion de la neurona i que se localiza en el nivel l de la
red.
Se divide en dos etapas el proceso para determinar el valor de los gradientes locales de la red. Estas dos etapas
dependen de si se esta en la capa estatica de la red, o en la capa dinamica. En la siguiente secci on se detalla el
procedimiento.
Gradiente local de la Capa de Salida
Se necesita encontrar la expresion para el valor del gradiente de la funci on de costo con respecto a los pesos de la
capa de salida de la RNRE. En la gura 2.4, notar que la capa de salida de la red neuronal puede considerarse como
una red estatica de un nivel.
El gradiente local que se necesita es el que corresponde a la capa dos y al nodo i, esto es:

2
i
(k) =
E(k)
s
2
i
(k)
. (2.33)
El gradiente de la funci on de costo (2.22) con respecto al peso c
ij
queda denido como sigue:
E(k)
c
ij
=
E(k)
s
2
i
(k)
s
2
i
(k)
c
ij
=
2
i
(k)
s
2
i
(k)
c
ij
. (2.34)
1
Comentario sugerido por el Dr. R uben Garrido Moctezuma.
28 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.3. Red Neuronal Recurrente Entrenable
Se utiliza la ecuacion (2.20) para transformar la expresi on del gradiente de la manera siguiente:
E(k)
c
ij
=
2
i
(k)z
j
(k). (2.35)
en donde
2
i
(k) es el gradiente local de la capa de salida.
Para el calculo del gradiente local
2
i
(k), se contin ua con la regla de la cadena. La expansion de las derivadas inicia
en la capa de salida hasta llegar a s
2
i
(k). El procedimiento es el siguiente:

2
i
(k) =
E(k)
s
2
i
(k)
,
=
E(k)
e
i
(k)
e
i
(k)
s
2
i
(k)
,
= e
i
(k)
e
i
(k)
s
2
i
(k)
,
= e
i
(k)
e
i
(k)
y
i
(k)
y
i
(k)
s
2
i
(k)
,
= (1)e
i
(k)
y
i
(k)
s
2
i
(k)
,

2
i
(k) = e
i
(k)

2
_
(s
2
i
(k)

, (2.36)
en donde

2
es la derivada de la funci on de activacion de la capa de salida (nivel 2).
Reuniendo las expresiones (2.35-2.36), entonces los pesos de la capa de salida se actualizan a traves de la ley:
c
ij
(k) = e
i
(k)

2
_
s
2
i
(k)

z
j
(k);
i = 1, . . . , p
j = 1, . . . , n
(2.37)
La ley de actualizacion de los pesos de la capa de salida de una RNRE (2.37) es la que se obtendra para una red
neuronal estatica de una s ola capa con entrada z(k) y salida y(k) por medio del algoritmo de retropropagaci on del error.
Desarrollo de los Pesos de la Capa de Retroalimentaci on
Los pesos de capa interior estan en los lazos de retroalimentacion de la red. Para encontrar la ley que actualiza estos
pesos se debe evaluar la derivada de la funci on de costo con respecto al peso J
ii
(k) en termino de los gradientes locales
de la capa de salida. El gradiente local de esta capa se dene como:

x
i
(k) =
E(k)
x(k + 1)
. (2.38)
el gradiente local en la capa de retroalimentacion se denota por
x
i
(k).
La derivada parcial de la funci on de costo (2.22) con respecto al peso J
ii
(la matriz J se considera diagonal) se
desarrolla de la manera siguiente:
E(k)
J
ii
(k)
=
E(k)
x
i
(k + 1)
x
i
(k + 1)
J
ii
(k)
=
x
i
(k)
x
i
(k + 1)
J
ii
(k)
. (2.39)
El valor de
xi(k+1)
Jii(k)
se obtiene al considerar la expresion (2.18) para x
i
(k + 1):
x
i
(k + 1) = J
ii
x
i
(k) +s
1
i
(k),
luego:
x
i
(k + 1)
J
ii
(k)
=

J
ii
(k)
_
x
i
(k + 1) = J
ii
x
i
(k) +s
1
i
(k)

= x
i
(k), (2.40)
JMFA 29
2.3. Red Neuronal Recurrente Entrenable Captulo 2. Red Neuronal Recurrente Entrenable
por tanto la ecuacion (2.39) es igual a:
E(k)
J
ii
(k)
=
x
i
(k)x
i
(k). (2.41)
Ahora lo que falta es encontrar la expresion para el gradiente local
x
i
(k) en funci on de los gradientes locales
2
(k),
para esto se procede de la manera siguiente:

x
i
(k) =
E(k)
x
i
(k + 1)
,
=
E(k)
x
i
(k)
x
i
(k)
x
i
(k + 1)
,
=
E(k)
x
i
(k)
q
1
,
=
E(k)
z
i
(k)
z
i
(k)
x
i
(k)
q
1
,
=
E(k)
z
i
(k)

1
[x
i
(k)] q
1
,
=
_
p

r=1
E(k)
s
2
r
(k)
s
2
r
(k)
z
i
(k)
_

1
[x
i
(k)] q
1
,
=
_
p

r=1
E(k)
s
2
r
(k)
c
ri
(k)
_

1
[x
i
(k)] q
1
,
=
_
p

r=1

2
r
(k)c
ri
(k)
_

1
[x
i
(k)] q
1
, (2.42)
en donde x(k)q
1
= x(k 1) y p es el n umero de salidas de la red neuronal.
Los pesos en las trayectorias de retroalimentacion se actualizan a traves de la expresion:
J
ii
(k) =
_
p

r=1

x
r
(k)c
ri
(k)
_

1
[x
i
(k)] x
i
(k 1); i = 1, . . . , n. (2.43)
Pesos de la Capa de Entrada
Finalmente para los pesos de la capa de entrada se sigue un procedimiento similar. La ley de ajuste de los pesos de
la capa dependen de los gradientes locales de las capas posteriores. El gradiente local en este nivel es:

1
i
=
E(k)
s
1
i
(k)
. (2.44)
Tomando en cuenta la expresion (2.17) el gradiente de la funci on de costo (2.22) con respecto al gradiente local es
igual a:
E(k)
b
ij
(k)
=
E(k)
s
1
i
(k)
s
1
i
(k)
b
ij
(k)
,
=
E(k)
s
1
i
(k)
u
j
(k),
=
1
i
(k)u
j
(k). (2.45)
El gradiente local
1
i
en funci on del gradiente
x
es:
E(k)
s
1
i
(k)
=
E(k)
x
i
(k + 1)
x
i
(k + 1)
s
1
i
(k)
,
30 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.4. Red Neuronal Recurrente de Tres Capas
=
E(k)
x
i
(k + 1)
(1)
=
x
i
(k). (2.46)
Los pesos en la capa de entrada se actualizan de forma:
b
ij
(k) =
x
i
(k)u
j
(k);
i = 1, . . . , n
j = 1, . . . , m.
(2.47)
Estas reglas de actualizacion resultan en la practica faciles de programar.
Una RNRE es un sistema dinamico, lo que se propone aqu es utilizar este modelo de RNRE en tareas de identicaci on
y control. Esperando que la inclusi on de este modelo dinamico resulte es esquemas que aprovechen, en alguna medida,
la capacidad de adaptacion de la red.
2.4. Red Neuronal Recurrente de Tres Capas
Es posible obtener algunas variaciones interesantes del modelo de Red Neuronal Recurrente propuesto. En primer
lugar se presenta el caso en el que la capa de entrada tiene funciones de activacion no lineales derivables. Al modelo
resultante de RNRE se le llama Red Neuronal Recurrente Entrenable de tres capas. En la gura 2.5 se muestra una
RNRE de tres capas con m entradas, n estados y p salidas. La estructura de este modelo de red neuronal se puede dividir
en tres capas; la primera capa es estatica y su funci on es la de hacer un mapeo no lineal de las entradas; la siguiente
capa es dinamica en donde la se nal de activacion de cada nodo depende del mapeo no lineal de las entradas y de su
valor anterior; la ultima capa es la salida de la red neuronal y realiza una mapeo no lineal de los estados de la red.
u (k)
1
u (k)
2
u (k)
m-1
u (k)
m
s (k)
1
n
s (k)
1
1
z
- 1
z
- 1
z
- 1
z
- 1
y (k) 1
y (k) p
z (k) 1
z (k) 2
z (k) n-1
x (k) 1
x (k) n
x (k) 2
x (k) n-1
z (k) n
s (k)
1
2
s (k)
1
n-1
x (k+1) 1
x (k+1) n
x (k+1) 2
x (k+1) n-1
J
1,1
J
2,2
J
n-1,n-1
J
n,n
1 1
1 1
1
1
1
1 1
1 1
1 1
1 1 1 1
1
1
1
s (k)
2
1
s (k)
2
p
y (k) 2
1 1
s (k)
2
2
y (k) p-1
1 1
s (k)
2
p-1
1
1
1
1
r (k)
n
r (k)
1
r (k)
2
r (k)
n-1
c11
c1n
c21
c2n
cp-1,1
cp-1,n
cp,1
cp,n
bn,1
bn,m
bn-1,1
bn-1,m
b11
b1m
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
Figura 2.5: Red neuronal recurrente de tres capas. Al poner en los nodos de entrada una funci on de activaci on, la
estructura de la red neuronal se divide en tres capas: una capa de entrada y salida estaticas; y una capa oculta
recurrente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Las ecuaciones de la red neuronal para este caso son:
s
1
i
(k) =
m

j=1
b
ij
u
j
(k); i = 1, . . . , n, (2.48)
r
i
(k) =
0
_
s
1
i
(k)

; i = 1, . . . , n, (2.49)
x
i
(k + 1) = J
ii
x
i
(k) +r
i
(k); i = 1, . . . , n, (2.50)
z
i
(k) =
1
[x
i
(k)] ; i = 1, . . . , n, (2.51)
s
2
i
(k) =
n

j=1
c
ij
z
j
(k); i = 1, . . . , p, (2.52)
y
i
(k) =
2
_
s
2
i
(k)

; i = 1, . . . , p, (2.53)
el componente nuevo de este modelo es s olo la funci on de activacion
0
.
JMFA 31
2.4. Red Neuronal Recurrente de Tres Capas Captulo 2. Red Neuronal Recurrente Entrenable
2.4.1. Ley de Aprendizaje
El procedimiento nuevamente consiste en derivar la ecuacion del gradiente de la funci on de costo (2.22):
E(k) =
1
2
p

i=1
e
2
i
(k),
y despues usar como ley de ajuste de los pesos una regla tipo gradiente descendente, (2.23):
w
ij
(k) = w
ij
(k + 1) w
ij
(k) =
E(k)
w
ij
(k)
,
en donde w
ij
(k) es alguno de los pesos de la red que van a ser actualizados.
Deducci on de la ley de aprendizaje para la capa de los pesos de la salida
El gradiente de la funci on de costo con respecto a los pesos en este nivel depende directamente del error de la salida,
por lo que es el mismo que el obtenido en el modelo de RNRE anterior (2.36):
c
ij
(k) = e
i
(k)

2
_
s
2
i
(k)

z
j
(k);
i = 1, . . . , p,
j = 1, . . . , n.

_
s
2
i
(k)

es la derivada de la funci on de activacion usada en la salida de la red.


Desarrollo de los Pesos de la Capa de Retroalimentaci on
En la capa intermedia, o de retroalimentacion, el efecto de haber puesto la funci on de activacion en la capa de entrada
no afecta el calculo del gradiente, as pues, esta es la misma que se expresa en (2.42). Los pesos en las trayectorias de
retroalimentacion se actualizan a traves de la expresion:
J
ii
(k) =
_
p

r=1

2
r
(k)c
ri
(k)
_

1
[x
i
(k)] x
i
(k 1); i = 1, . . . , n.
Pesos de la Capa de Entrada
En esta capa donde se agrega la funci on de activacion. Esto no cambia el procedimiento que debe seguirse: derivar
y poner el gradiente en funci on del gradiente local de la capa siguiente.
El gradiente de la funci on de costo con respecto al peso b
ij
es:
E(k)
b
ij
(k)
=
E(k)
s
1
i
(k)
s
1
i
(k)
b
ij
(k)
,
=
1
i
(k)u
j
(k). (2.54)
El gradiente local
1
i
(k) en funci on del gradiente
x
(k) es:

1
i
(k) =
E(k)
r
i
(k)
r
i
(k)
s
1
i
(k)
,
=
E(k)
r
i
(k)

0
_
s
1
i
(k)

,
=
E(k)
x
i
(k + 1)
x
i
(k + 1)
r
i
(k)

0
_
s
1
i
(k)

. (2.55)
El termino x(k + 1) esta denido por (2.50):
x
i
(k + 1) = J
ii
x
i
(k) +r
i
(k),
32 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.5. RNRE con Predicci on de la Salida
luego:
x
i
(k + 1)
r
i
(k)
= 1. (2.56)
El gradiente
1
i
es igual a la ecuacion:

1
i
(k) =
E(k)
x
i
(k + 1)

0
_
s
1
i
(k)

,
=
x
i
(k)

0
_
s
1
i
(k)

. (2.57)
Los pesos en la capa de entrada se actualizan por medio de la expresion:
b
ij
(k) =
_

x
i
(k)

0
_
s
1
i
(k)

_
u
j
(k);
i = 1, . . . , n,
j = 1, . . . , m.
(2.58)
Este modelo de RNRE (2.17-2.21) corresponde a un caso especial de (2.48-2.53).
2.5. RNRE con Prediccion de la Salida
Se presenta otra version de la red neuronal recurrente. El cambio radica en que la entrada a la capa de salida es
ahora el estado siguiente generado por la capa intermedia recurrente, ver gura 2.6
u (k)
1
u (k)
2
u (k)
m-1
u (k)
m
s (k)
1
n
s (k)
1
1
y (k+1) 1
y (k+1) p
z1
+
x (k) 1
s (k)
1
2
s (k)
1
n-1
J
1,1
1 1
1 1
1
1
1
1 1
1 1
1
1
1
s (k+1)
2
1
s (k+1)
2
p
z
- 1
x (k) 2
J
2,2
1 1
z
- 1
J
n-1,n-1
1 1
z
- 1
x (k) n
J
n, n
1 1
z
- 1
x (k) n-1
J
n-1,n-1
1 1
y (k+1) p-1
1 1
s (k+1)
2
p-1
y (k+1) 2
1 1
s (k+1)
2
2
z
- 1
b11
b1m
b21
b2m
bn-1,1
bn-1,m
bn,1
bn,m
c11
c1n
c21
c2n
cp-1,1
cp-1,n
cp,1
cp,n
x1
+
x2
+
xn-1
+
xn
+
z2
+
zn-1
+
zn
+
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
Figura 2.6: Red neuronal recurrente con predicci on de la salida. Al cambiar la posici on del operador retardo y
haciendo que la entrada a la capa de salida es el estado siguiente se obtiene esta varianci on para una RNRE.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De la gura 2.6, se obtienen las ecuaciones para la red neuronal:
s
1
i
(k) =
m

j=1
b
ij
u
j
(k); i = 1, . . . , n, (2.59)
x
i
(k + 1) = J
ii
x
i
(k) +s
1
i
(k); i = 1, . . . , n, (2.60)
z
i
(k + 1) =
1
[x
i
(k + 1)] ; i = 1, . . . , n, (2.61)
s
2
i
(k + 1) =
n

j=1
c
ij
z
j
(k + 1); i = 1, . . . , p, (2.62)
y
i
(k + 1) =
2
_
s
2
i
_
k + 1)]; i = 1, . . . , p. (2.63)
JMFA 33
2.5. RNRE con Prediccion de la Salida Captulo 2. Red Neuronal Recurrente Entrenable
2.5.1. Ley de Aprendizaje
Deducci on de la ley de aprendizaje para la capa los pesos de la capa de salida
En este nivel el gradiente
2
i
(k + 1) es (2.36) adelantado:

2
i
(k + 1) = e
i
(k + 1)

_
s
2
i
(k + 1)

, (2.64)
as que la ley de ajuste de los pesos de la capa de salida es:
c
ij
(k) = e
i
(k + 1)

2
_
s
2
i
(k + 1)

z
j
(k + 1);
i = 1, . . . , p,
j = 1, . . . , n.
(2.65)
Desarrollo de los Pesos de la Capa de Retroalimentaci on
El gradiente de la funci on de costo con respecto al peso de la capa de retroalimentacion J
ii
es:
E(k + 1)
J
ii
(k)
=
E(k + 1)
x
i
(k + 1)
x
i
(k + 1)
J
ii
(k)
,
=
x
i
(k + 1)
x
i
(k + 1)
J
ii
(k)
. (2.66)
La ecuacion que dene la relacion de los componentes en la capa de retroalimentacion es (2.60):
x
i
(k + 1) = J
ii
x
i
(k) +s
1
i
(k).
Por tanto:
x
i
(k + 1)
J
ii
(k)
=

J
ii
(k)
_
x
i
(k + 1) = J
ii
x
i
(k) +s
1
i
(k)

= x
i
(k); i = 1, . . . , n. (2.67)
luego:
E(k + 1)
J
ii
(k)
=
E(k + 1)
x
i
(k + 1)
x
i
(k + 1)
J
ii
(k)
,
=
x
i
(k + 1)x
i
(k), (2.68)
en donde
E(k+1)
xi(k+1)
es el gradiente local,
x
i
(x+1), de esta capa. El calculo de este gradiente se lleva a cabo de la forma:

x
i
(k + 1) =
E(k + 1)
x
i
(k + 1)
,
=
E(k + 1)
z
i
(k + 1)
z
i
(k + 1)
x
i
(k + 1)
,
=
E(k + 1)
z
i
(k + 1)

1
(z
i
(k + 1)),
=
p

r=1
_
E(k + 1)
s
2
r
(k + 1)
s
2
r
(k + 1)
z
i
(k + 1)
_

1
(z
i
(k + 1)),
=
_
p

r=1
E(k + 1)
s
2
r
(k + 1)
c
ri
_

1
[z
i
(k + 1)] ,
=
_
p

r=1

2
r
(k + 1)c
ri
_

1
[z
i
(k + 1)] . (2.69)
Los pesos en las trayectorias de retroalimentacion se actualizan a traves de la expresion:
J
ii
(k) =
_
p

r=1

2
r
(k + 1)c
ri
_

1
[x
i
(k + 1)] x
i
(k); i = 1, . . . , n. (2.70)
34 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.6. RNRE con Retardo en la Retroalimentaci on
Pesos de la Capa de Entrada
En los pesos de la capa de entrada se actualizan a traves de la ecuacion (2.47), s olo es necesario sustituir el gradiente
local
x
i
(k) por
x
i
(k + 1). Los pesos b
ij
se modican por la expresion:
b
ij
(k) =
x
i
(k + 1)u
j
(k);
i = 1, . . . , n,
j = 1, . . . , m.
(2.71)
2.6. RNRE con Retardo en la Retroalimentacion
Este caso consiste en considerar que la salida de la red neuronal de la gura 2.6 es el vector y(k) en lugar de y(k+1).
En la gura 2.7 se indican estos cambios en la estructura de la red.
u (k)
1
u (k)
2
u (k)
m-1
u (k)
m
s (k)
1
n
s (k)
1
1
y (k) 1
y (k) p
z (k) 1 x (k) 1
s (k)
1
2
s (k)
1
n-1
J
1,1
1 1
1 1
1
1
1
1 1
1 1
1
1
1
s (k)
2
1
s (k)
2
p
z
- 1
x (k) 2
J
2,2
1 1
z
- 1
1 1
z
- 1
x (k) n
J
n, n
1 1
z
- 1
x (k) n-1
J
n-1,n-1
1 1
y (k) p-1
1 1
s (k)
2
p-1
y (k) 2
1 1
s (k)
2
2
z
- 1
b11
b1m
b21
b2m
bn-1,1
bn-1,m
bn,1
bn,m
c11
c1n
c21
c2n
cp-1,1
cp-1,n
cp,1
cp,n
x (k-1) 1
z (k) 2
z (k) n-1
z (k) n
x (k-1) 2
x (k-1) n-1
x (k-1) n
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
Figura 2.7: Red neuronal con retardo en la retroalimentaci on. Un simple cambio se produce al suponer que el estado
actual es igual a la suma: s(k) +x(k 1) = x(k).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De la gura 2.7 se obtienen las ecuaciones para la red neuronal:
s
1
i
(k) =
m

j=1
b
ij
u
j
(k); i = 1, . . . , n, (2.72)
x
i
(k) = J
ii
x
i
(k 1) +s
1
i
(k); i = 1, . . . , n, (2.73)
z
i
(k) =
1
[x
i
(k)] ; i = 1, . . . , n, (2.74)
s
2
i
(k) =
n

j=1
c
ij
z
j
(k); i = 1, . . . , p, (2.75)
y
i
(k) =
2
_
s
2
i
_
k)]; i = 1, . . . , p. (2.76)
2.6.1. Ley de Aprendizaje
Deducci on de la ley de aprendizaje para los pesos de la capa de salida
La capa de salida de esta red neuronal es igual a la ecuacion (2.17). La regla de ajuste de los pesos es igual a la
expresion (2.37):
c
ij
(k) = e
i
(k)

2
_
s
2
i
(k)

z
j
(k);
i = 1, . . . , p,
j = 1, . . . , n.
JMFA 35
2.6. RNRE con Retardo en la Retroalimentaci on Captulo 2. Red Neuronal Recurrente Entrenable
Desarrollo de los pesos de la Capa de Retroalimentaci on
El gradiente de la funci on de costo con respecto a los pesos de la capa de retroalimentacion, J
ii
, es:
E(k)
J
ii
(k)
=
E(k)
x
i
(k)
x
i
(k)
J
ii
(k)
,
=
x
i
(k)
x
i
(k)
J
ii
(k)
. (2.77)
La ecuacion que dene la relacion de los componentes en la capa de retroalimentacion es (2.73):
x
i
(k) = J
ii
x
i
(k 1) +s
1
i
(k).
Por tanto:
x
i
(k)
J
ii
(k)
=

J
ii
(k)
_
x
i
(k) = J
ii
x
i
(k 1) +s
1
i
(k)

= x
i
(k 1); i = 1, . . . , n, (2.78)
luego:
E(k)
J
ii
(k)
=
E(k)
x
i
(k)
x
i
(k)
J
ii
(k)
,
=
x
i
(x)x
i
(k 1), (2.79)
en donde
E(k)
xi(k)
es el gradiente local,
x
i
(x), de esta capa. El calculo de este gradiente se lleva a cabo de la siguiente
manera:

x
i
(k) =
E(k)
x
i
(k)
,
=
E(k)
z
i
(k)
z
i
(k)
x
i
(k)
,
=
E(k)
z
i
(k)

1
(z
i
(k)),
=
p

r=1
_
E(k)
s
2
r
(k)
s
2
r
(k)
z
i
(k)
_

1
(z
i
(k)),
=
_
p

r=1
E(k)
s
2
r
(k)
c
ri
_

1
[z
i
(k)] ,
=
_
p

r=1

2
r
(k)c
ri
_

1
[z
i
(k)] . (2.80)
Los pesos en las trayectorias de retroalimentacion se actualizan a traves de la expresion:
J
ii
(k) =
_
p

r=1

2
r
(k)c
ri
_

1
[x
i
(k)] x
i
(k 1); i = 1, . . . , n. (2.81)
Pesos de la Capa de Entrada
La ecuacion para esta capa (2.72) es la misma que en el primer caso de la red neuronal recurrente (2.17). Se usa la
ecuacion (2.47) para actualizar los pesos:
b
ij
(k) =
x
i
(k)u
j
(k);
i = 1, . . . , n,
j = 1, . . . , m.
en donde
x
i
(k) es (2.80).
36 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.7. RNRE con Estados Acotados
2.7. RNRE con Estados Acotados
En la red Neuronal recurrente de la gura 2.8 los estados de la capa interna estan acotados por la funci on no lineal
de activacion []. Esto asegura que los estados de la Red Neuronal estan limitados.
u (k)
1
u (k)
2
u (k)
m-1
u (k)
m
s (k)
1
n
s (k)
1
1
z
- 1
z
- 1
z
- 1
z
- 1
y (k) 1
y (k) p
z (k) 1
z (k) 2
z (k) n-1
z (k) n
s (k)
1
2
s (k)
1
n-1
x (k+1) 1
x (k+1) n
x (k+1) 2
x (k+1) n-1
c
1,1
b
1,1
b
n,m
J
1,1
J
2,2
J
n-1,n-1
J
n,n
c
p,n
1 1
1 1
1
1
1
1
1
1
1 1 1
1
1
1
s (k)
2
1
s (k)
2
p
y (k) 2
1 1
s (k)
2
2
y (k) p-1
1 1
s (k)
2
p-1
c
2,1
c
p-1,1
c
p,1
z (k+1) 1
z (k+1) n
z (k+1) 2
z (k+1) n-1
1
1
1
1
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
(
*
)
Figura 2.8: Red neuronal recurrente con estados acotados. Al poner la funci on de activaci on en la salida de la capa
oculta se acotan los estados generados por la red.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De la gura 2.8 se obtienen las expresiones que describen su estructura:
s
1
i
(k) =
m

j=1
b
ij
u
j
(k); i = 1, . . . , n, (2.82)
x
i
(k + 1) = J
ii
z
i
(k) +s
1
i
(k); i = 1, . . . , n, (2.83)
z
i
(k + 1) =
1
[x
i
(k + 1)] ; i = 1, . . . , n, (2.84)
s
2
i
(k) =
n

j=1
c
ij
z
j
(k); i = 1, . . . , n, (2.85)
y
i
(k) =
2
_
s
2
i
(k + 1)

; i = 1, . . . , p. (2.86)
2.7.1. Ley de Aprendizaje
Deducci on de la ley de Aprendizaje para la Capa de Salida
La descripcion de la capa de salida es la misma a la utilizada en el primer caso de la red neuronal (2.20-2.21). El
calculo del gradiente con respecto a los pesos de la entrada es el mismo, (2.36):

2
i
(k) = e
i
(k)

2
_
(s
2
i
(k)

.
Los pesos c
ij
se actualizan por medio de la expresion (2.37):
c
ij
(k) = e
i
(k)

2
_
s
2
i
(k)

z
j
(k);
i = 1, . . . , p,
j = 1, . . . , n.
Desarrollo para los Pesos de la Capa de Retroalimentaci on
El gradiente de los pesos de la capa intermedia en funci on del gradiente local de esta capa es igual:
E(k)
J
ii
(k)
=
E(k)
x
i
(k + 1)
x
i
(k + 1)
J
ii
(k)
,
JMFA 37
2.7. RNRE con Estados Acotados Captulo 2. Red Neuronal Recurrente Entrenable
=
x
i
(k)
x
i
(k + 1)
J
ii
(k)
, (2.87)
en donde gradiente local es:

x
i
(k) =
E(k)
x
i
(k + 1)
. (2.88)
Si considera la expresion:
x
i
(k + 1) = J
ii
z
i
(k) +s
1
i
(k); i = 1, . . . , n, (2.89)
entonces, el gradiente
xi(k+1)
Jii(k)
es igual a:
x
i
(k + 1)
J
ii
(k)
=

J
ii
(k)
_
x
i
(k + 1) = J
ii
z
i
(k) +s
1
i
(k)

= z
i
(k); i = 1, . . . , n. (2.90)
El gradiente local
x
i
(k) es:

x
i
(k) =
E(k)
x
i
(k + 1)
, (2.91)
=
E(k)
z
i
(k + 1)
z
i
(k + 1)
x
i
(k + 1)
,
=
E(k)
z
i
(k + 1)

1
[x
i
(k + 1)] ,
=
E(k)
z
i
(k)
z
i
(k)
z
i
(k + 1)

1
[x
i
(k + 1)] ,
=
E(k)
z
i
(k)
q
1

1
[x
i
(k + 1)] ,
E(k)
z
i
(k)
=
p

r=1
E(k)
s
2
r
(k)
s
2
r
(k)
z
i
(k)
=
p

r=1
E(k)
s
2
r
(k)
c
ri
(k), (2.92)

x
i
(k) =
_
p

r=1
E(k)
s
2
r
(k)
c
ri
(k)
_
q
1

1
[x
i
(k + 1)] ,
=
_
p

r=1

2
r
(k)c
ri
(k)
_
q
1

1
[x
i
(k + 1)] . (2.93)
Los pesos en las trayectorias de retroalimentacion se actualizan con la ecuacion:
J
ii
(k) =
_
p

r=1

2
r
(k)c
ri
(k)
_

1
[x
i
(k)] z
i
(k 1); i = 1, . . . , n. (2.94)
Pesos de la Capa de Entrada
El calculo del gradiente de los pesos de la capa de entrada se lleva de la siguiente manera:
E(k)
b
ij
(k)
=
E(k)
s
1
i
(k)
s
1
i
(k)
b
ij
(k)
. (2.95)
=
1
i
(k)
s
1
i
(k)
b
ij
(k)
,
=
1
i
(k)u
j
, (2.96)

1
i
(k) =
E(k)
x
i
(k + 1)
x
i
(k + 1)
s
1
i
(k)
(2.97)
38 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.8. Condici on de Estabilidad para los Pesos J
=
E(k)
x
i
(k + 1)
(1),
=
x
i
(k),
E(k)
b
ij
(k)
=
x
i
(k)u
j
. (2.98)
Los pesos en la capa de entrada se actualizan por medio de la ecuacion:
b
ij
(k) =
x
i
u
j
(k);
i = 1, . . . , n,
j = 1, . . . , m.
(2.99)
2.8. Condicion de Estabilidad para los Pesos J
Las condici ones de estabilidad para la red neuronal recurrente en su version continua y discreta son (2.5) y (2.10),
respectivamente. En ambas se supone que la matriz de pesos de la capa de retroalimentacion es diagonal.
Para el caso continuo la red neuronal sera estable si los elementos de la matriz diagonal J: J
ii
; i = 1, . . . , n, son
tales que: (J
ii
) < 0. En el caso discreto la red neuronal sera estable si los elementos de la matriz diagonal J son tales
que: |J
ii
| < 1; es decir, que esten en el interior de un crculo de radio 1 con centro en el origen del plano complejo.
Para incorporar la condici on de estabilidad en las expresiones para la actualizacion de los pesos J
ii
se propone la
siguiente modicacion de la regla delta:
J
ii
(k + 1) =

J
ii
(k)
E(k)
J
ii
+J
ii
(k 1) (2.100)

J
ii
(k) = sat [J
ii
(k)] , (2.101)
la funci on sat() que se usa en el caso discreto es:
sat(x) =
_
_
_
1 ; x 1,
x; [x[ < 1,
1; x 1,
(2.102)
en donde es un n umero positivo peque no.
De esta forma se propone sustituir el peso J
ii
por

J
ii
en la red neuronal recurrente y de esta forma asegurar que el
peso satisface las condiciones de estabilidad.
2.9. Pesos de Compensacion c
i0
, b
i0
Como se menciono en la seccion 1.2 las neuronas en una red pueden tener un componente ponderado por un peso
que no depende de ninguna entrada. Este componente se llama de compensacion cuando se le asocia con una entrada
constante de valor 1, o de umbral cuando es 1. En el modelo de red neuronal recurrente se a nade este termino
independiente. En cada uno de los puntos suma que pertenecen a la capa de salida de la red neuronal. Estos pesos son
los representados por: c
i0
, uno por cada salida de la red. La entrada asociada a los pesos de compensacion es z
0
(k) = 1.
Los pesos de compensacion c
i0
se actualizan por medio de la regla:
c
i0
= e
i
(k)

_
s
2
i
(k)

i = 1, . . . , p. (2.103)
De una forma similar pueden asignar pesos de compensacion a los nodos que estan en la capa de entrada de la red
neuronal. Una entrada constante a lo pesos b
i0
, hay el mismo n umero de pesos b
i0
como nodos internos de la red. Los
pesos b
i0
se actualizan con la regla:
b
i0
=
x
i
(k) i = 1, . . . , n. (2.104)
JMFA 39
2.10. Escalamiento de la Funci on de Activaci on, (x) Captulo 2. Red Neuronal Recurrente Entrenable
2.10. Escalamiento de la Funcion de Activacion, (x)
La funci on de activacion que se usa en las simulaciones es la funci on tangente hiperb olico, tanh(x):
tanh(x) =
e
x
e
x
e
x
+e
x
=
e
2x
1
e
2x
+ 1
=
sinh(x)
cosh(x)
. (2.105)
Para poder modicar la ganancia (el valor lmite cuando x ) y la pendiente de esta funci on de activaci on
(cuando la derivada de esta funci on es cero en x = 0) se modican los parametros k
1
y k
2
de la expresi on:
(x) = k
1
tanh
_
x
k
2
_
. (2.106)
La derivada de la funci on (2.106) es:
d
dx
(x) =
k
1
k
2
_
1 (x/k
2
)
2

(2.107)
La ganancia de la funci on de activacion (2.106) esta dado por el lmite cuando x . Para este caso, el lmite es:
lm
x
(x) k
1
, (2.108)
la pendiente de la funci on de activacion (2.106) es el valor de la derivada (2.107) en x = 0:
D
x
[(x)] =
k
1
k
2
. (2.109)
En la gura 2.9, se muestran los cambios en la forma de la funci on de activacion al modicar los parametros k
1
y
k
2
.
En gura 2.9. a, se presenta la graca cuando hay un cambio en la ganancia de la funci on de activaci on, pero
sin cambio en la pendiente. Los parametros dede tener la misma magnitud: k = k
1
= k
2
. Las gracas son para los
parametros k = 1,1.2 y 1.4. En gura 2.9. b, se gracan las derivadas de estas funciones. En gura 2.9. c, es el caso
cuando hay cambio en la pendiente de la funci on de activaci on, pero sin cambio de la ganancia. Las gracas tienen las
pendientes: 30

, 45

y 60

, en gura 2.9. d, estan sus derivadas.


40 JMFA
Captulo 2. Red Neuronal Recurrente Entrenable 2.10. Escalamiento de la Funci on de Activaci on, (x)
4 3 2 1 0 1 2 3 4
1.5
1
0.5
0
0.5
1
1.5
k=1
k=1.2
k=1.4
(a) x
k
*
T
a
n
h
(
x
/
k
)
Funcin de Activacin: Variacin de ganancia
4 3 2 1 0 1 2 3 4
0
0.2
0.4
0.6
0.8
1
k=1
k=1.2
k=1.4
(b) x
d
/
d
x
[

k
*
T
a
n
h
(
x
/
k
)

]
Funcin de Activacin, derivada: Variacin de ganancia
4 3 2 1 0 1 2 3 4
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
k1/k2 =Tan(30)
k1/k2=Tan(45)
k1/k2=Tan(60)
(c) x
k
1
*
T
a
n
h
(
x
/
k
2
)
Funcin de Activacin: Variacin de pendiente
4 3 2 1 0 1 2 3 4
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
k1/k2 =Tan(30)
k1/k2=Tan(45)
k1/k2=Tan(60)
(d) x
d
/
d
x
[

k
1
*
T
a
n
h
(
x
/
k
2
)
]
Funcin de Activacin, derivada: Variacin de pendiente
Figura 2.9: Funci on de Activaci on. tanh(x): a) funci on k tanh(
x
k
), casos: k = 1, 1.2, 1.4. b) funci on D
x
_
k tanh(
x
k
)
_
.
c) funci on k
1
tanh(
x
k2
), en los casos
k1
k2
= 0.5, 1,

3. d) funci on D
x
_
k
1
tanh(
x
k2
)
_
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 41
2.11. Conclusi on Captulo 2. Red Neuronal Recurrente Entrenable
2.11. Conclusion
El modelo de una red neuronal recurrente y su algoritmo de entrenamiento se han presentado como una propuesta
de un sistema dinamico ajustable y se muestran algunas variaciones de su estructura.
La red neuronal propuesta tiene las siguientes caractersticas:
1. Es un modelo de red neuronal recurrente que puede tener varias entradas y varias salidas, as que no esta limitado
en cuanto al n umero de se nales externas.
2. Es un modelo parametrico: el conjunto de los pesos dene la estructura de un sistema dinamico. Es posible utilizar
la informacion de los estados en las aplicaciones.
3. Se garantiza la estabilidad de la red por la restriccion de los pesos de la capa de retroalimentacion.
4. Los algortimos de entrenamiento de la red neuronal son simples y de facil implementacion.
Las leyes de ajuste de los pesos utilizan un algoritmo de optimizacion de tipo gradiente. Se usa un algoritmo de tipo
retropropagacion para calcular los gradientes locales de cada nodo de la red y se realiza la actulizacion a traves de una
regla delta.
En los captulos que siguen se mostraran algunas de las implementaciones de este modelo de red neuronal en problemas
de identicacion y control de sistemas dinamicos.
42 JMFA
Captulo 3
Identicacion de Sistemas
En el estudio de los sistemas una de las primeras necesidades es la de obtener modelos. Un modelo sintetiza el analisis
de las principales caractersticas del sistema y de su precision depende de la profundidad con la que se realiza. Para esto
se deben detectar y determinar cuales son las variables del sistema mas relevantes y el tipo de interacciones de tipo
causa-efecto que entre ellas se producen.
Los modelos de identicacion son estructuras conocidas en las cuales se ajustan sus parametros con el n de reproducir
la respuesta del sistema en estudio dentro de cierta zona de operacion.
En este captulo se presentan algunos conceptos basicos sobre la identicacion de sistemas, despues algunos resultados
de identicacion usando el modelo de red neuronal recurrente presentado en el captulo anterior y para terminar una
propuesta de un modelo de identicacion m ultimodelo.
3.1. Aproximacion de Funciones
Se puede considerar el problema de aproximacion de funciones como antecedente al de identicaci on de sistemas.
Por esto se inicia con el tema de aproximacion de funciones. Este problema se puede dividir en dos tipos.
1. En el primero, se supone que se conoce la expresion explcita de la funci on, y lo que se busca es una estructura
parametrica que apr oxime a la funci on con el grado de precision deseado.
2. En el otro caso, el problema consiste en obtener una funci on que se ajuste a la relacion entrada-salida existente en
un conjunto nito de datos.
En el primer caso se b usca representar cierto clase de funciones como una suma de potencias a traves de manipular
series geometricas. Como ejemplo de este tipo de aproximacion estan las series de Mclaurin y de Taylor. Este enfoque
permite obtener versiones simplicadas de funciones, esto ayuda al analisis de los problemas y tambien se utilizan para
simplicar calculos.
En el segundo caso es mas experimental debido a que no se cuenta de una expresion explcita de la funci on de la
cual se desea obtener una aproximacion. Pero se tiene la posibilidad de aprender sobre su forma por la realizaci on de
experimentos y la recoleccion de datos. Este tipo aproximacion es en la que nos concentraremos.
En [16] denen el problema de aproximacion de funciones de la manera siguiente. Sea F(x, ) una funci on de
aproximacion no lineal ajustable. El vector: x = [x
1
, x
2
, . . . , x
n
]
T
es la entrada del aproximador y el vector: =
[
1
,
2
, . . . ,
p
]
T
dene sus parametros y p la dimension de la funci on de aproximacion. Sea G(x, z) una funci on donde
x = [x
1
, x
2
, . . . , x
n
]
T
y z = [z
1
, z
2
, . . . , z
nz
]
T
son la entrada y una entrada auxiliar para G.
El problema de aproximacion de funciones se divide en dos etapas, en la primera se debe proponer una estructura
para la funci on F, en la segunda etapa se debe denir la forma para ajustar el vector de parametros, .
En caso de que no se tenga la funci on G de forma explcita se dene el problema de aproximacion de funciones de la
manera siguiente:
43
3.1. Aproximaci on de Funciones Captulo 3. Identicaci on de Sistemas
Sup ongase que para el i-esimo experimento se tiene el vector de entrada:
x(i) = [x
1
(i), x
2
(i), . . . , x
n
(i)]
T
,
con el vector de auxiliar:
z(i) = [z
1
(i), z
2
(i), . . . , z
nz
(i)]
T
,
entonces, la salida es:
y(i) = G(x(i), z(i)),
debido a que no se conoce de forma explcita a G se puede aprender de ella experimentando y recolectando un conjunto
de datos de entrada y salida. En la practica se restringen estos experimentos a un subconjunto X del espacio de entradas,
es decir:
x(i) X R
n
,
y de forma similar para la entrada auxiliar:
z(i) Z R
n
.
Se llama al par (x(i), y(i)) un dato de entrenamiento. Al conjunto de datos de entrenamiento, de la forma:
( = x(i), y(i), . . . , x(M), y(M)
en donde M denota el n umero de pares de entrenamiento contenidos en ( (epoca de entrenamiento).
El problema de aproximacion de funciones consiste en hallar la forma de calcular el valor del vector de parametros
en F(x, ) de manera que:
G(x, z) = F(x, ) +e(x, z),
en donde e(x, z) es tan peque no como se desee, para todo x R
nz
, a un para x, tales que (x, y) / ( (Generalizaci on).
Este problema es muy difcil si no se sabe nada sobre G, unicamente se tiene del conjunto de entrenamiento como
informacion de la funci on.
La funci on F puede ser representada por alguna de las siguientes opciones:
un sistema difuso estandar, F
fs
(x, ),
un sistema difuso del tipo Takagi-Sugeno, F
ts
(x, ),
una red neuronal del tipo perceptron m ulticapa, F
mlp
(x, ),
una red neuronal del tipo funciones radiales basicas, F
rbf
(x, ),
una funci on polinomial, F
poli
(x, ), entre otras.
3.1.1. Redes Neuronales Estaticas en la Aproximacion de Funciones
Las redes neuronales de m ultiples capas y de funciones radiales basicas (FRB) tienen la capacidad de aproximar
funciones no lineales con el nivel de precision deseado. Esta caracterstica se aprovecha en las aplicaciones de modelado
y control de sistemas. Se utiliza la informacion de tipo entrada-salida para entrenar a la red neuronal ajustando sus pesos
para reducir la diferencia entre el valor deseado y el valor de salida de la red. Una vez hecho esto se utiliza la red neuronal
para construir un modelo del sistema o un controlador.
En [17], utiliza el Teorema de Weistrass para probar que estructuras como las redes neuronales de m ultiples capas y
por funciones radiales basicas, tienen la capacidad para aproximar funciones no lineales con el grado de precisi on deseado.
En este teorema se muestra que una funci on continua arbitraria puede ser uniformemente aproximada por una secuencia
de polinomios, p
n
(x), dentro de cierta region; ademas, este teorema demuestra algunas propiedades generales para las
funciones de aproximacion. De acuerdo con el teorema de Stone-Weistrass, es suenciente demostrar que el conjunto de
todas las combinaciones lineales de funciones sigmoidales (para el caso de redes de m ultiples capas) y de FRB forman
una algebra no desvaneciente que separa los puntos de un conjunto compacto denido por las variables de entrada de la
red neuronal para garantizar sus propiedades para aproximar funciones no lineales continuas.
44 JMFA
Captulo 3. Identicaci on de Sistemas 3.1. Aproximaci on de Funciones
Desde otro punto de vista teorico, el Teorema de Kolmogorov contradice el 13

problema de Hilbert donde se arma


que existen funciones analiticas de tres variables que no pueden ser representadas por una superposici on de funciones
continuas de dos variables. En el teorema de Kolmogorov se prueba que cualquier funci on continua de n-dimensional
dentro del cubo E
n
puede ser representada por n(2n + 1) funciones de una variable. Entonces se tiene que es posible
la representacion exacta de una funci on analitica con una superposicion nita de funciones continuas de una variable.
En el trabajo de Hornik [3], se prueba que las redes neuronales de conexiones hacia adelante (feedforward) y con una
capa oculta puede considerarse como una aproximador universal de funciones, lo anterior responde armativamente a la
pregunta sobre si una red neuronal puede aproximar con el grado deseado a una funci on no lineal y responsabiliza el mal
desempe no a los problemas de seleccion de los datos; la determinacion del n umero de nodos en la capa oculta y a la
falta de una relacion determinstica entre los datos de entrada y salida.
En [5] se prueba que cualquier mapeo continuo puede ser realizado (aproximado) por una red neuronal de m ultiples
capas de al menos una capa oculta con funci on de activacion tipo sigmoide. En ese trabajo prueba el teorema que sigue:
Teorema 3.1 Ver [5]. Identique a (x) como una funci on continua, no constante, uniformemente creciente y acotada;
K como un subconjunto compacto (subconjunto acotado y cerrado) de R
n
y f(x
1
, . . . , x
n
) es una funci on de valor
real sobre K. Entonces para un > 0 arbitrario, existe un entero N y constantes reales c
i
,
i
, w
ij
(i = 1, . . . , N;
j = 1, . . . , n) tales que:

f(x
1
, . . . , x
n
) =
N

i=1
c
i

_
_
n

j=1
w
ij
x
j

i
_
_
,
y que satisface max
xK
|f(x
1
, . . . , x
n
)

f(x
1
, . . . , x
n
)| < .

Este teorema permite asegurar que una red neuronal de una capa oculta con funci on de activacion tipo sigmoide y
una capa de salida lineal, tiene la capacidad de aproximar una funci on de valor real con el grado de precisi on deseado.
Mas adelante en [5] se generaliza el teorema 3.1:
Teorema 3.2 Ver [5]. Identique a (x) como una funci on continua, no constante, uniformemente creciente y acotada;
K como un subconjunto compacto (subconjunto acotado y cerrado) de R
n
y k es un n umero entero de modo que
k 3. Entonces cualquier mapeo continuo f : K R
m
denido por x = (x
1
, . . . , x
n
) [f
1
(x), . . . , f
m
(x)] puede
aproximarse en el sentido de una topologa uniforme sobre K por un mapeo de entrada-salida, por una red neuronal de k
capas (k 3, se cuentan las capas de entrada y salida) en donde (x) es la funci on de salida de las k 2 capas ocultas
y las capas de entrada salida lineales.

El teorema 3.2 generaliza a las funciones de vectoriales de valor real para poder ser realizadas por una red neuronal
con k 2 niveles ocultos, sin restriccion sobre el n umero de nodos que integran cada uno de los niveles, o capas, de la
red neuronal.
En [3] se generaliza aun mas, permitiendo que la funci on de activacion (x) sea cualquier funci on continua no
constante y acotada, esto elimina la necesidad que la funci on de activacion sea del tipo sigmoide.
Mas tarde en [4] se aborda la pregunta acerca de la precision de red neuronal para aproximar una funci on. Se prueba
que una red neuronal es un aproximador universal con respecto al critero L
p
(), disponiendo del n umero suciente de
niveles ocultos en la red, y que si la funci on de activacion es una funci on continua, acotada y no constante, entonces
cualquier mapeo continuo puede ser aproximado con suavidad; es decir, que la red neuronal aproxima tambien las
derivadas del mapeo.
En el ejemplo 3.1 ilustra el desempe no de una red neuronal de m ultiples capas para la aproximacion de una funci on
no lineal.
JMFA 45
3.1. Aproximaci on de Funciones Captulo 3. Identicaci on de Sistemas
Ejemplo 3.1 La red neuronal tiene una capa de entrada, dos capas ocultas y una de salida, la conguraci on de la red es
1, 4, 4, 1, todas las neuronas tienen una entrada independiente ( bias), utilizan como funci on de activaci on: tanh(). El
objetivo es aproximar la funci on no lineal: f(k) = sen(
2
2
k), en donde k = 1.0, 0.9, . . . , 0, . . . , 0.9, 1, que suman
veinti un puntos para el entrenamiento de la red neuronal. El algoritmo de ajuste de pesos es de tipo retropropagaci on
del error, ver sec. 1.2.4. La tasa de entrenamiento es: = 0.15, esta constante va decreciendo de forma exponencial en
funci on de la epoca de entrenamiento: e
ep/800
.
Se puede utilizar el teorema de muestreo de Shannon para determinar el n umero de puntos necesarios para reconstruir
esta se nal. Si fr es la frecuencia del armonico mas alto que se desea reconstruir, el teorema de Shannon indica que la
frecuencia de muestreo debe ser de al menos 2fr. Para este ejemplo se selecciona una frecuencia de muestreo de 20fr,
as que es suciente para garantizar la reconstruccion de la funci on no lineal.
Durante el proceso de entrenamiento de la red neuronal se va tomando un dato de entrada y se propaga en la red
para determinar el resultado de salida de la red con el conjunto de pesos actuales; entonces, se compara este valor con
el deseado, este es el error instantaneo; el error instantaneo se retropropaga en la red para calcular los gradientes de
cada nodo de la red, este gradiente es la medida de la contribuci on del nodo en el error de salida de la red; este valor
se utiliza como el factor de correccion en una regla delta que actualiza el peso de la red en un porcentaje del gradiente
determinado por el ndice de aprendizaje . Este proceso se realiza con cada dato de entrada y en cada nodo de la red
neuronal, este es un ejemplo de aproximacion en lnea de una funci on, gura 3.1.
G(x, z)
F[x(k), (k)]
Mtodo de ajuste
para (k)
y(k)
y(k)
^
-
x(k)
(k)
z(k)
Figura 3.1: Proceso de proximaci on en lnea de una fun-
ci on. La funci on G se aproxima ajustando los par ametros
de la funci on F para cada iteracion k del proceso.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
El programa para el entrenamiento de la red neuronal esta escrito en Matlab 5.0. El programa se localiza en el
apendice B.1, pagina 153.

Los resultados del entrenamiento se pueden observar en la gura 3.2. En gura 3.2.a se puede ver el inicio del
entrenamiento, aqu los pesos de la red son asignados de forma aleatoria por medio de una distribuci on uniforme [0.0, 1.0]
de n umeros peque nos. En gura 3.2.b se presenta la condici on de la RN en la epoca 100 de entrenamiento, ya se nota
que algunos puntos se han alcanzado y que la red comienza a asimilar el comportamiento de la funci on deseada. En
gura 3.2.c se muestra la epoca 800, aqu la funci on de costo ha alcanzado el valor de 5 10
4
con el cual la red
muestra un error aceptable y se detiene el entrenamiento; se toman a los ultimos pesos calculados como los nales. En
gura 3.2.d se presenta la historia de la minimizacion de la funci on de costo.
El nal del proceso de entrenamiento de la red neuronal signica que con los datos utilizados en esta fase se han
obtenidos un conjunto de pesos con los cuales la funci on de desempe no alcanza el valor mnimo deseado. Ahora es
necesario evaluar la respuesta de la red neuronal en la etapa de generalizacion, que consiste en utilizar otro conjuntos de
datos de entrada-salida diferentes a los usados en el entrenamiento. En la tabla 3.1 se resume la respuesta de la red
para este nuevo conjuntos de datos. En la primera columna estan los datos utilizados para probar la red neuronal; en la
segunda columna se anotan los valores deseados; la respuesta de salida de la red neuronal para la entrada correspondiente
y utilizando los pesos obtenidos en la etapa de entrenamiento se resumen en la tercera columna; en la cuarta columna
se indica el error de salida de la red neuronal y por ultimo se anota el porcentaje de error de salida.
Una desventaja de este tipo de red es su relativamente largo tiempo de entrenamiento. En el ejemplo 3.2 se presenta
una alterativa para este problema. Se utiliza una red neuronal con funciones radiales basicas.
46 JMFA
Captulo 3. Identicaci on de Sistemas 3.1. Aproximaci on de Funciones
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1 poca=0
(c) X(k)
Y
d
(
k
)
,

Y
(
k
)
Aprox. de Funcin (RNMC)
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1 poca=100
(c) X(k)
Y
d
(
k
)
,

Y
(
k
)
Aprox. de Funcin (RNMC)
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1 poca=800
(c) X(k)
Y
d
(
k
)
,

Y
(
k
)
Aprox. de Funcin (RNMC)
0 100 200 300 400 500 600 700 800
0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
ec=0.00074005
(d) poca
1
/
2
*
s
u
m
[
e
(
k
)
2
]
Aprox. de Funcin (RNMC): Error cuadrtico
Figura 3.2: Aproximaci on de una funci on a traves de una red neuronal m ulticapa. a) en la epoca cero de entrena-
miento. b) muestra el progreso de la RN en la epoca n umero 100, c) epoca n umero 800, el error cuadr atico medio
(EMC) ha alcanzado el valor de 7 10
4
. d) minimizacion del error cuadr atico medio por epoca de entrenamiento.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 47
3.1. Aproximaci on de Funciones Captulo 3. Identicaci on de Sistemas
Entrada Salida Estimado Error % de Error
x Y d Y nn Y d Y nn
_
Y dY nn
Y d
_
100
-0.9500 -0.1564 -0.1680 0.0115 -7.3745
-0.8500 -0.4540 -0.4481 -0.0059 1.3018
-0.7500 -0.7071 -0.6982 -0.0089 1.2636
-0.6500 -0.8910 -0.8877 -0.0034 0.3764
-0.5500 -0.9877 -0.9914 0.0037 -0.3730
-0.4500 -0.9877 -0.9948 0.0071 -0.7158
-0.3500 -0.8910 -0.8964 0.0054 -0.6107
-0.2500 -0.7071 -0.7080 0.0009 -0.1287
-0.1500 -0.4540 -0.4510 -0.0030 0.6644
-0.0500 -0.1564 -0.1523 -0.0041 2.6189
0.0500 0.1564 0.1591 -0.0027 -1.7067
0.1500 0.4540 0.4547 -0.0007 -0.1490
0.2500 0.7071 0.7066 0.0005 0.0663
0.3500 0.8910 0.8901 0.0009 0.0979
0.4500 0.9877 0.9866 0.0010 0.1052
0.5500 0.9877 0.9872 0.0005 0.0528
0.6500 0.8910 0.8922 -0.0012 -0.1338
0.7500 0.7071 0.7099 -0.0027 -0.3885
0.8500 0.4540 0.4560 -0.0020 -0.4374
0.9500 0.1564 0.1564 -0.0000 -0.0038
Tabla 3.1: Resumen de resultados
de generalizaci on para el ejemplo
3.1. Se reportan algunos resulta-
dos de generalizacion para una
red neuronal de m ultiples capas
que aproxima la funci on f(k) =
sen(k).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48 JMFA
Captulo 3. Identicaci on de Sistemas 3.1. Aproximaci on de Funciones
Ejemplo 3.2 Se repite el ejemplo 3.1, pero en lugar de utilizar una red neuronal m ulticapa, ahora se utiliza una red
neuronal de funciones radiales basicas. La funcion no lineal utilizada en cada uno de los nodos ocultos es la funci on
Gauss: r(x, x
ci
) = e

1
2
2
i
xxc
i

2
, donde los puntos x
ci
son tomados del conjunto de entrenamiento para servir como
los centros de las funciones radiales basicas, este conjunto para el ejemplo es: x
c
= 1, 0.8, . . . , 0, . . . , 0.8, 1.
La red neuronal de funciones radiales basicas tiene una entrada, once nodos en la capa oculta y una salida, 1,11,1.
El parametro
i
determina el ancho o dispersion de las funciones gaussianas, en este ejemplo, se le asign o el mismo valor
a todas las funciones,
i
= 0.5.
El proceso para determinar el valor de los pesos en una red neuronal de FRB se realiza en un s olo paso y considerando
todo el conjunto de lo datos de entrenamiento, este procedimiento se lleva fuera de lnea. La relacion entre los datos de
entrenamiento y el valor de salida deseado es:
_

_
f(x
1
)
.
.
.
f(x
n
)
_

_ =
_

_
r(x
1
, x
c1
) . . . r(x
1
, x
cm
)
.
.
.
.
.
.
.
.
.
r(x
n
, x
c1
) r(x
n
, x
cm
)
_

_
_

_
w
1
.
.
.
w
m
_

_, F(X) = RW. (3.1)


que minimiza la norma:
mn |F(x) RW| (3.2)
Para obtener los pesos de la red neuronal se realiza la operacion:
W = (R
T
R)
1
R
T
F(X). (3.3)
El programa utilizado se localiza en el apendice B.2, pagina 155.

En la gura. 3.3 se presenta el desempe no de la red neuronal con los pesos obtenidos por la soluci on en (3.3).
En gura. 3.3.a se muestra la estructura general de la red usada. En gura. 3.3.b se presenta la operaci on de la red
neuronal, en donde se puede observar que la red neuronal realiza la transformacion entre los valores de entrada y el valor
deseado a la salida.
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(a) X(k)
Y
d
(
k
)
,

Y
(
k
)
Aprox. de Funcin (RNFRB)
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(b) X(k)
Y
d
(
k
)
,

Y
(
k
)
Aprox. de Funcin (RNFRB): generalizacin
Figura 3.3: Aproximaci on de una funci on no lineal utilizando una red neuronal de funciones radiales b asicas. a)
valor deseado, Y
d
(k)
.
= ; valor de salida de la red, Y (k)
.
= . Los centros de las FR estan indicados por . b)
Mapeo de la red en generalizacion. Valor deseado, Y d(k)
.
= ; valor de salida de la red, Y (k)
.
=
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En la tabla.3.2 se listan los datos, y los errores de la red en una prueba de la propiedad de generalizaci on la red
neuronal. Los campos que se anotan son los mismos que los mostrados en el ejemplo.3.1.
En este par de ejemplos se pueden notar algunas caractersticas de las redes neuronales usadas. En la red neuronal
de m ultiples capas el entrenamiento puede realizarse en lnea; es decir, que los pesos de la red se van actualizando en
JMFA 49
3.1. Aproximaci on de Funciones Captulo 3. Identicaci on de Sistemas
Entrada Salida Estimado Error % de Error
x Y d Y nn Y d Y nn
_
Y dY nn
Y d
_
100
-0.9500 -0.1564 -0.1564 -0.0000 0.0079
-0.8500 -0.4540 -0.4541 0.0001 -0.0153
-0.7500 -0.7071 -0.7072 0.0001 -0.0195
-0.6500 -0.8910 -0.8912 0.0002 -0.0188
-0.5500 -0.9877 -0.9879 0.0002 -0.0215
-0.4500 -0.9877 -0.9880 0.0003 -0.0279
-0.3500 -0.8910 -0.8913 0.0003 -0.0354
-0.2500 -0.7071 -0.7074 0.0003 -0.0438
-0.1500 -0.4540 -0.4543 0.0003 -0.0618
-0.0500 -0.1564 -0.1567 0.0003 -0.1657
0.0500 0.1564 0.1562 0.0002 0.1545
0.1500 0.4540 0.4538 0.0002 0.0445
0.2500 0.7071 0.7070 0.0001 0.0196
0.3500 0.8910 0.8909 0.0001 0.0093
0.4500 0.9877 0.9876 0.0001 0.0064
0.5500 0.9877 0.9876 0.0001 0.0060
0.6500 0.8910 0.8910 0.0000 0.0039
0.7500 0.7071 0.7071 -0.0000 -0.0002
0.8500 0.4540 0.4540 0.0000 0.0018
0.9500 0.1564 0.1564 0.0000 0.0265
Tabla 3.2: Resumen de resultados
de generalizaci on para el ejem-
plo 3.2.Se reportan algunos resul-
tados de generalizacion para una
red neuronal de funciones radia-
les b asicas que aproxima la funci on
f(k) = sen(k).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cada presentacion de los datos, esto permite que la evolucion de la red sea paso a paso, y no requiere que se tenga
toda la informacion con anticipacion, pero esta caracterstica hace que el entrenamiento sea lento, debido a que en cada
instante se lleva una actualizacion completa de los pesos. Por el contrario, las redes neuronales de funciones radiales
son apropiadas para los casos en los que se tiene el conjuntos de datos de entrenamiento disponible de una sola vez. El
entrenamiento consiste en resolver un sistemas de ecuaciones redundantes, de manera que el tiempo de entrenamiento
depende de la dimension del problema. En las tablas de resultados se puede notar que, al menos para este ejemplo, la
precision alcanzada por la red de funciones radiales fue mayor, tanto durante el entrenamiento como en la prueba de
generalizacion; pero esto no debe tomarse como una medida absoluta a favor de este tipo de red neuronal, pues si el
problema a resolver es de dimension mayor al presentado en el ejemplo, la cantidad de nodos necesarios para denir
los centros de las funciones radiales podra no ser practico. Por el contrario, con una red neuronal de capas m ultiples
con algoritmo de entrenamiento del tipo retropropagacion, es un sistema que evoluciona y que una vez denidad su
estructura, el algoritmo de entrenamiento ajusta los parametros de la red con el objetivo de minimizar el error entre
las salidas, pudiendo ser que con una estructura de red relativamente peque na se alcance la precision suciente para el
problema que se esta resolviendo.
La aproximacion de funciones antecede al problema de identicacion, o tambien puede verse como una reducci on de
este. La identicacion va mas alla de un mapeo entre variables. En la identicacion la dependencia causa-efecto implica
relaciones temporales entre el pasado y lo actual. La siguiente seccion trata este tema.
50 JMFA
Captulo 3. Identicaci on de Sistemas 3.2. Identicaci on
3.2. Identicacion
El problema de identicacion de sistemas puede considerarse como una extension del caso de aproximaci on de funciones
en donde la relacion entre las variables de entrada y salida es mas compleja que un mapeo entre ambas. En los sistemas
en los cuales se observa que el efecto de una misma se nal de entrada en diferentes instantes de tiempo produce respuestas
diferentes se les conoce como sistemas dinamicos. En estos sistemas su evolucion no depende exclusivamente de la se nal
de entrada, sino tambien depende de su estado anterior.
En muchos sistemas fsicos es posible obtener expresiones matematicas que describen su modo de evolucionar, por
lo general, se parte de leyes fsicas, que explican los efectos entre los elementos mas simples del sistema, despues se
coordinan las interacciones hasta llegar a describir el sistema completo. De esta manera se logra modelar sistemas de
tipo electrico, macanicos, electromecanicos, cinematicos, qumicos, etc. Esta tecnica permite el analisis de sistemas
complejos; sin embargo, el proceso inductivo que se sigue para hallar estos modelos se basan en leyes, pero a un estas
s olo son aproximaciones que no pretenden describir todas las interacciones que se producen, se limita a los efectos mas
evidentes dentro de una zona especca de operacion. Si estos modelos se mantienen en la zona de operaci on, en la
mayora de los casos, el modelo sera de utilidad para el analisis del sistema, pero al salir de esta zona los efectos antes
despreciados haran que se vaya incrementado la diferencia entre la respuesta del modelo y del sistema bajo estudio,
llegando a ser in util el modelo. Obligando lo anterior a modicar el modelo para que contemple los efectos que antes
fueron descartados. Dependiendo de la complejidad del sistema este proceso puede hacerce muy laborioso.
Una opcion para este problema es proponer un modelo de identicacion. Un modelo de identicacion es una estructura
ja cuyos parametros son ajustables. Con la informacion disponible del sistema se ajustan los parametros del modelo de
identicacion con el objetivo de que la respuesta del modelo se aproxime a la respuesta del sistema.
Mtodo de ajuste
para
-
u

Planta
y
p
Modelo de
Identificacin
y
m
Figura 3.4: Problema de identicaci on de sistemas. Los
par ametros del modelo de identicaci on son ajustados con
el n de que su respuesta se aproxime a la del sistema
analizado.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Con este enfoque el problema del modelado de un sistema tiene dos etapas:
1. Seleccion del modelo de identicacion que mas se adapte a las caractersticas del sistema y del analisis a realizar.
2. Elegir el metodo de ajuste de los parametros del modelo de identicacion, a partir de la informacion disponible del
sistema.
En el primer paso se dene el problema de caracterizacion de sistemas, que consiste en seleccionar la estructura
que mejor se adapte al sistema en estudio. En esta fase se determina si el modelo debe ser lineal, no lineal, continuo,
discreto, variante o invariante el tiempo con base a los criterios de precision y complejidad del modelo de identicaci on,
de tal forma, que la seleccion del modelo tenga la estructura mas sencilla posible, pero que cumpla con los requisitos de
precision solicitados.
El problema de identicacion se puede denir de la siguiente forma:
Problema de identicaci on: Sea u la entrada y y
p
la salida de un sistema estable, u es acotada y uniforme. Se
propone un modelo de identicacion con salida y
m
y una estructura parametrica conocida. Se requiere que con la
informacion disponible del sistema se ajusten los parametros del modelo de identicacion de tal forma que y
m
se
aproxime asintoticamente a la salida y
p
.
En la denici on anterior se supone que la informacion del sistema en estudio esta libre de ruido.
A continuaci on se presentan algunos metodos para la identicacion de sistemas, con el prop osito de que sirvan como
antecedentes a la utilizacion de las redes neuronales para el problema de identicacion.
JMFA 51
3.3. Metodos de Identicaci on Captulo 3. Identicaci on de Sistemas
3.3. Metodos de Identicacion
Ver [38]. Los metodos de identicacion que se presentan en esta seccion modelan la salida del sistema como una
combinacion lineal de sus salidas y entradas anteriores (auto-regressive moving average):
A
o
y(k) =
n1

j=1
A
j
y(k j) +
n2

j=0
B
j
u(k j) k 0 (3.4)
en donde y es la salida del sistema de dimension n; u es la variable de entrada de dimension m; A
i
, B
i
son matrices de
parametros donde A
o
es cuadrada y no singular.
El modelo se normaliza agrupando las salidas y entradas anteriores en un vector de dimension p, y una matriz de
parametros de dimension p m donde las columnas estan formadas por los parametros para cada salida:
y(k) =
T
(k 1). k 1 (3.5)
el vector se le nombra como regresor. Notar que la ecuacion (3.5) tiene la forma de un sistema de ecuaciones algebraicas:
y = Ax, donde x es el regresor (k 1) y A es
T
; el problema es hallar una

T
tal que minimize |y(k)

T
(k 1)|
para todo k.
Ejemplo 3.3 Para el caso del modelo discreto de la velocidad motor de cc. dado en el apendice C.53, se puede expresar
de la forma (3.5), es decir:
(k) =
T
(k 1), t 1 (3.6)
(k 1)
T
= [(k 1), (k 2), e
a
(k 1), e
a
(k 2), T
L
(k 1), T
L
(k 2)] , (3.7)

T
= [295.803 10
3
, 703.648
3
, 10607.511 10
3
, 10607.511 10
3
. . .
1548.755, 1548.329]. (3.8)

Entonces el problema de identicacion se inicia considerando que el sistema bajo analisis se puede modelar de la forma
(3.5), ahora se debe proponer un algoritmo de ajuste de la matriz de pesos , el ajuste se realiza con la informaci on
disponible del sistema.
Los algoritmos se dividen en aquellos que son adecuados para trabajar fuera de lnea, y otros que lo hacen en lnea.
La diferencia entre ambos enfoques radica en si se tienen, o no, restricciones en el tiempo para realizar las operaciones
necesarias para la actualizacion de los parametros. En este trabajo se esta interesado en los algoritmos en lnea. Estos
algoritmos ajustan los parametros de forma progresiva, utilizando la informacion disponible.
El primer algoritmo se identicacion que se trata es el de proyeccion.
3.3.1. Algoritmo de Proyeccion
Este algoritmo de identicacion en lnea. Sup ongase que el sistema a identicar tiene una estructura denida por la
ecuacion (3.5) y, por tanto, existe una matriz de parametros

. El algoritmo de proyeccion propone que en el instante k


la matriz de parametros estimados

se actualice en la direccion del regresor (k 1) y en proporcion al error de salida
e(k) = y(k) (k 1)
T

(k 1), es decir:

(k) =

(k 1) +
(k 1)
(k 1)
T
(k 1)
_
y(k) (k 1)
T

(k 1)
_
k 1, (3.9)
en donde

(0) es la estimacion inicial para

.
El algoritmo de proyeccion minimiza la distancia entre los valores estimados

(k) y

(k 1):
J =
1
2
|

(k)

(k 1)|
2
, (3.10)
52 JMFA
Captulo 3. Identicaci on de Sistemas 3.3. Metodos de Identicaci on
sujeto a la restriccion: y(k) = (k 1)

(k). Ver [38].


Con el prop osito destacar el principio geometrico de este algoritmo sup ongase que

es un vector bidimensional. ver


gura 3.5. En el instante k se conoce un estimado para el vector de parametros (k 1); el regresor: (k 1) y la
salida y(k). Con esta informacion se debe proponer un valor para (k), esperando que se aproxime a

*
(k)
(k-1)
(k-1)
y(k) - (k-1) (k-1)
T
(k)
(k+1)
a
b
c
d
e
f
A
B
C
D
E
F
^
^
^
^
Figura 3.5: Algoritmo de proyecci on- Interpretaci on geometri-
ca. El algoritmo de proyeccion actualiza el vector de par ametros
estimados en una magnitud igual a la de su proyecci on sobre el
regresor actual, y en una direccion paralela a este ultimo. Notar
que cuando el vector de par ametros estimados es perpendicular
al regresor (caso entre los pasos E a F) el vector de par ametros
estimados puede alcanzar en menos iteraciones (repeticiones) su
valor verdadero.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
El algoritmo de proyeccion puede interpretarse de la forma siguiente: sup ongase que la rapidez de un barco es
proporcional al producto escalar de la corriente, (k 1) por su rumbo, (k 1). Se desea otro valor de rapidez indicado
por y(k). Para cumplir esto se debe calcular un cambio en el rumbo. La rapidez en las condiciones actuales es: (k
1)
T
(k1), el cambio del rumbo debe reducir la diferencia entre la rapidez deseada y la actual: y(k)(k1)
T
(k1),
este valor da la magnitud y la orientacion del cambio de rumbo, pero falta decidir en que direccion se debe realizar. El
algoritmo de proyeccion propone que el cambio de rumbo se realice paralelo a la corriente. En la gura. 3.6.a se presenta
el barco en su estado inicial. Si la rapidez deseada es menor a la actual: y(k) (k 1)
T
(k 1) < 0, esto indica que
la correccion del rumbo debe ser en direccion contraria a la corriente, como se ve en gura.3.6.b. Si lo que se desea es
aumentar la rapidez del barco: y(k) (k 1)
T
(k 1) > 0, la correccion en el rumbo debe de darse en la direcci on
de la corriente, esto se observa en gura.3.6.c.
(k-1)
(k-1)
(k-1)
(k-1)
(k-1)
(k-1) (k)
(k)
(a) (b)
(c)
Figura 3.6: Interpretaci on del algoritmo de
proyecci on. En el algoritmo se proyecci on la
correccion del vector de par ametros se reali-
za en la direccion del regresor (direcci on de la
corriente).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 53
3.3. Metodos de Identicaci on Captulo 3. Identicaci on de Sistemas
Algoritmo de proyecci on: La ecuacion (3.9) tiene el posible problema de que el denomidador se haga cero, para
evitar esto, el algoritmo de proyeccion se modica de la forma siguiente:

(k) =

(k 1) +a
(k 1)
c +(k 1)
T
(k 1)
_
y(k) (k 1)
T

(k 1)
_
k 1, (3.11)
en donde 0 < a < 2, c > 0.

Las propiedades del algoritmo de proyeccion se resumen en [38]. Se garantiza que el error de estimaci on de los
parametros no seran mayor al inicial, pero esto no implica que eventualmente se haga cero.
En el ejemplo 3.4 se presenta el caso de identicacion del modelo lineal de un motor de cc. usando el algoritmo de
proyeccion.
Ejemplo 3.4 Se presenta la operacion del algoritmo de proyeccion para la identicacion de un motor de cc. Ver Apendice
C. Se utilizan las ecuaciones que describen la velocidad del motor, ecuacion C.53 y el resultado del ejemplo 3.3. En este
ejemplo se supone que el par de carga, T
L
, es igual a cero:
(k) =
T
(k 1), k 1 (3.12)
(k 1)
T
= [(k 1), (k 2), e
a
(k 1), e
a
(k 2)] , (3.13)

T
= [295.803 10
3
, 703.648
3
, 10607.511 10
3
, 10607.511 10
3
]. (3.14)
El algoritmo utiliza; a = 1, c = 0.001; el tiempo de muestreo es: T
s
= 0.005s. La se nal de entrada es u(k) =
sen(2(k 1)T
s
) + sen(20(k 1)T
s
). El algoritmo opera durante 2 segundos.
El programa para el algoritmo de proyeccion se localiza en el apendice B.3. Los resultados se resumen en la gura
3.7.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
0
2
4
6
8
10
12
(a) s

Algoritmo de Proyeccin: Parmetros
0.2922
0.70122
10.5985
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
10
0
10
Algoritmo de Proyeccin: Errores
e=0.036992
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0
1
ep1=0.012184
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0
1
ep2=0.0034485
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0
1
(b) s
ep34=0.00085352
Figura 3.7: Operaci on del algoritmo de proyecci on. a) Evoluci on de los par ametros. b) Errores. Error de salida:
e = (k) (k 1)
T

(k 1); error relativo del par ametro 1: ep
1
=
1(k)+295.80310
3
295.80310
3
; error relativo del par ametro
2: ep
2
=
1(k)703.64810
3
703.64810
3
; error relativo del par ametro 3 y 4: ep
3,4
=
3,4(k)10607.51110
3
10607.51110
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

En la gura 3.7.a se observa el valor de los parametros en cada repeticion. En el ejemplo, se alcanzan rapidamente
valores muy pr oximos a los verdaderos; pero no hay que olvidar que en una aplicacion real no se conocen el valor preciso
de estos parametros, por lo cual no se tendra una forma exacta de reconocer cuando el algoritmo de proyecci on ha logrado
hallar una aproximacion aceptable de los parametros del sistema y, por tanto, se debe denir una tecnica de validaci on.
54 JMFA
Captulo 3. Identicaci on de Sistemas 3.3. Metodos de Identicaci on
Inicializaci on:
- Vector de par ametros estimados:

(0).
- Tasa de ajuste : 0 < a < 2..
- Constante para evitar divisi on entre cero : c > 0.
- N umero de iteraciones : N.
k=1
Proceso:
- Actualizaci on del vector de par ametros estimados:

(1) =

(0) +
(0)
c+(0)
T
(0)
_
y(1) (0)
T
(0)
_
.
- Incremento de ndice: k = k + 1
Si k < N repetir Proceso.
Si k = N Fin.
Tabla 3.3: Resumen del algoritmo de identicaci on de proyecci on.
En la gura 3.5 se destaca el hecho que cuando el vector de parametros estimados y el regresor son perpendiculares,
la velocidad del algoritmo de proyeccion aumenta. Al algoritmo de identicacion que aprovecha la observaci on anterior
se le conoce como algoritmo de proyeccion ortogonal. A esto se reere la pr oxima seccion.
3.3.2. Algoritmo de Proyeccion Ortogonal
Auxiliandose de la interpretacion geometrica del algoritmo de proyeccion, gura 3.5 se puede notar que en la
actualizacion del vector de parametros que se realiza de E a F se acelera la convergencia del vector de parametros
estimados, lo anterior debido a que el regresor F es casi perpendicular al regresor en E. Esto indica que puede obtenerse
un algoritmo mas rapido si en vez de utilizar el regresor actual, se utiliza el componente del regresor que es perpendicular
al regresor del momento anterior.
Para aprovechar la observacion anterior se procede de la manera siguiente.
Se inicia el algoritmo de igual forma que en el caso normal, esto es:

(1) =

(0) +
(0)
(0)
T
(0)
_
y(1) (0)
T

(0)
_
k = 1, (3.15)
En la iteracion que sigue no se utiliza (1), en vez de esto se calcula el componente de (1) que es perpendicular a
(0):
(1)
(0)
(0)
T
(0)
(0)
T
(1) =
_
I
(0)(0)
T
(0)
T
(0)
_
(1) = P(0)(1) (3.16)
aqu lo que se hace es eliminar de (1) la proyeccion de (1) sobre (0). Notar que P(0) es una matriz simetrica y
nilpotente (P(0)
2
= P(0)). Aplicando otra vez el algoritmo se proyeccion se obtiene:

(2) =

(1) +
P(0)(1)
(1)
T
P(0)(1)
_
y(2) (1)
T

(1)
_
k = 2, (3.17)
Ahora se debe determinar la componente de (2) que es perpendicular a P(0)(1), para esto basta con tomar la
matriz P(0) que es una matriz de cambio de base, y en este nuevo marco de referencia, la componente de (2) que se
necesita es:
P(0)(2)
P(0)(1)
(1)
T
P(0)(1)
(1)
T
P(0)(2) =
_
P(0)
P(0)(1)(1)
T
P(0)
(1)
T
P(0)(1)
_
(2) = P(1)(2) (3.18)
Se aplica el algoritmo se proyeccion:

(3) =

(2) +
P(1)(2)
(2)
T
P(1)(2)
_
y(3) (2)
T

(2)
_
k = 3, (3.19)
JMFA 55
3.3. Metodos de Identicaci on Captulo 3. Identicaci on de Sistemas
La direccion para la actualizacion del vector de parametros en la nueva base P(2) es:
_
P(1)
P(1)(2)(2)
T
P(1)
(2)
T
P(1)(2)
_
(3) = P(2)(3) (3.20)
y con P(2)(3) se vuelve a aplicar el algoritmo de proyeccion para calcular

(4)
En resumen:
Algoritmo de proyecci on ortogonal: De lo anterior, el algoritmo de proyeccion ortogonal se puede generalizar de
la forma:

(k) =

(k 1) +
P(k 2)(k 1)
c +(k 1)
T
P(k 2)(k 1)
_
y(k) (k 1)
T

(k 1)
_
k 1, (3.21)
en donde:
P(k 1) =
_
P(k 2)
P(k 2)(k 1)(k 1)
T
P(k 2)
c +(k 1)
T
P(k 2)(k 1)
_
(k 1), (3.22)
siendo la matriz P(1) = I y la constante c > 0 es para evitar que la expresion en el denominador sea igual acero.

En el ejemplo 3.5 se aplica el algoritmo de proyeccion ortogonal para la identicacion de la velocidad de un motor de
cc.
Ejemplo 3.5 Los utilizados en el algoritmo son: tiempo de muestreo T
s
= 0.005s; c = 0.001, la se nal de entrada es:
u(k) = sen(2(k 1)T
s
) + sen(20(k 1)T
s
). El entrenamiento se realiza durante 2 seg. En la gura 3.8 se resumen
los resultados de este algoritmo.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
0
2
4
6
8
10
12
(a) s

Algoritmo de Proyeccin Ortogonal: Parmetros
0.2958
0.70365
10.6074
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
20
0
20
Algoritmo de Ortogonal: Errores
e=3.9865e005
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0
1
ep1=6.0887e006
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0
1
ep2=2.5517e006
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0
1
(b) s
ep34=7.2727e005
Figura 3.8: Operaci on del algoritmo de proyecci on ortogonal. a) Evoluci on de los par ametros. b) Errores. Error de
salida: e = (k) (k 1)
T
(k 1); error relativo del par ametro 1: ep
1
=
1(k)+295.80310
3
295.80310
3
; error relativo del
par ametro 2: ep
2
=
1(k)703.64810
3
703.64810
3
; error relativo del par ametro 3 y 4: ep
3,4
=
3,4(k)10607.51110
3
10607.51110
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

En el ejemplo 3.5 se nota que el algoritmo de proyeccion ortogonal tiene una velocidad de convergencia mayor a la
mostrada por el algoritmo de proyeccion, pero esto tiene la desventaja de que lo hace mas sensible al ruido en los datos.
Un caso intermedio entre estos dos algoritmos de identicacion es el metodo por mnimos cuadrados. A esto se reere
la pr oxima seccion.
56 JMFA
Captulo 3. Identicaci on de Sistemas 3.3. Metodos de Identicaci on
Inicializaci on:
- Vector de par ametros estimados:

(0).
- Matriz : P(1) = I Matriz Identidad.
- Constante para evitar divisi on entre cero : c > 0.
- N umero de iteraciones : N.
k=1
Proceso:
- Actualizaci on del vector de par ametros estimados:

(1) =

(0) +
P(1)(0)
c+(0)
T
P(1)(0)
_
y(1) (0)
T
(0)
_
.
- Actualizaci on de la matriz P:
P(0) = P(1)
P(1)(0)(0)
T
P(1)
c+(0)
T
P(1)(0)
- Incremento de ndice: k = k + 1
Si k < N repetir Proceso.
Si k = N Fin.
Tabla 3.4: Resumen del algoritmo de identicaci on de proyecci on ortogonal.
3.3.3. Algoritmo de Mnimos Cuadrados
Este algoritmo considera a y(k) = (k 1)
T
como una ecuacion lneal donde la variable a determinar es el vector
de parametros

, a medida que k se va incrementado se forma un sistema de 1, 2, . . ., N ecuaciones, y en cada paso
se va calculando una actualizacion del vector de parametros

. Cada uno de estos sistemas de ecuaciones se resuelven
encontrando el valor de

que minimiza la funci on escalar:
J(k) =
1
2
k

r=1
_
y(r) (r 1)
T

(k)
_
2
+
_

(k)

(0)
_
T
P
1
o
_

(k)

(0)
_
, (3.23)
en donde

(k) es el vector de parametros que es soluci on del sistema de k ecuaciones;

(0) es el estimado inicial de este
vector; P
o
es una matriz que pondera la calidad de la estimacion inical

(0).
El procedimiento que se seguira para deducir la ecuacion recurrente de la actualizacion de los pesos inicia encontrando
la soluci on para k = 1, 2, 3 para despues generalizar para toda k.
Si k = 1:
J(1) =
1
2
_
y(1) (0)
T

(1)
_
2
+
_

(1)

(0)
_
T
P
1
o
_

(1)

(0)
_
, (3.24)
para minimizar se calcula la derivada con respecto a

(1) y se hace igual a cero:
0 = (0)
_
y(1) (0)
T

(1)
_
+P
1
o
_

(1)

(0)
_
, (3.25)
despejando

(1):

(1) =
_
P
1
o
+(0)(0)
T

1
_
P
1
o

(0) +(0)y(1)
_
, (3.26)

(1) = P(0)
_
P
1
o

(0) +(0)y(1)
_
, (3.27)
en donde:
P(0)
1
= P
1
o
+(0)(0)
T
, (3.28)
de lo anterio se prueba que:
P(0)
1

(0) = P
1
o

(0) +(0)(0)
T

(0), (3.29)
JMFA 57
3.3. Metodos de Identicaci on Captulo 3. Identicaci on de Sistemas
sustituyendo (3.29) en (3.27) y reordenando:

(1) = P(0)
_
P(0)
1

(0) (0)(0)
T

(0) +(0)y(1)
_
, (3.30)

(1) =

(0) +P(0)(0)
_
y(1) (0)
T

(0)
_
. (3.31)
Para el caso k = 2:
J(2) =
1
2
2

r=1
_
y(r) (r 1)
T

(2)
_
2
+
_

(2)

(0)
_
T
P
1
o
_

(2)

(0)
_
, (3.32)
se calcula la derivada con respecto a

(1) y se hace igual a cero:
0 =
2

r=1
(r 1)
_
y(r) (r 1)
T

(2)
_
+P
1
o
_

(2)

(0)
_
, (3.33)
despejando

(2):

(2) =
_
P
1
o
+
2

r=1
(r 1)(r 1)
T
_
1
_
P
1
o

(0) +(0)y(1) +(1)y(2)


_
, (3.34)

(2) = P(1)
_
P
1
o

(0) +(0)y(1) +(1)y(2)


_
, (3.35)
en donde:
P(1)
1
= P
1
o
+
2

r=1
(r 1)(r 1)
T
, (3.36)
= P(0)
1
+(1)(1)
T
, (3.37)
se puede probar que:
P
1
o

(0) +(0)y(1) = P(1)


1

(1) (1)(1)
T

(1), (3.38)
agrupando para

(1) =
_
P(1)
1
(1)(1)
T

(1) (3.39)
usando (3.37) = P(0)
1

(1) (3.40)
multiplicando (3.31) por P(0)
1
= P(0)
1

(0) +(0)
_
y(1) (0)
T

(0)
_
(3.41)
sustituyendo P(0)
1
seg un (3.29) = P
1
o

(0) +(0)y(1), (3.42)
sustituyendo (3.38) en (3.35) y reordenando:

(2) = P(1)
_
P(1)
1

(1) (1)(1)
T

(1) +(1)y(2)
_
, (3.43)

(2) =

(1) +P(1)(1)
_
y(2) (1)
T

(1)
_
. (3.44)
Para el caso k = 3:
J(3) =
1
2
3

r=1
_
y(r) (r 1)
T

(3)
_
2
+
_

(3)

(0)
_
T
P
1
o
_

(3)

(0)
_
, (3.45)
se calcula la derivada con respecto a

(1) y se hace igual a cero:
0 =
3

r=1
(r 1)
_
y(r) (r 1)
T

(3)
_
+P
1
o
_

(3)

(0)
_
, (3.46)
58 JMFA
Captulo 3. Identicaci on de Sistemas 3.3. Metodos de Identicaci on
despejando

(3):

(3) =
_
P
1
o
+
3

r=1
(r 1)(r 1)
T
_
1
_
P
1
o

(0) +(0)y(1) +(1)y(2) +(2)y(3)


_
, (3.47)

(3) = P(2)
_
P
1
o

(0) +
3

r=1
(r 1)y(r)
_
, (3.48)
en donde:
P(2)
1
= P
1
o
+
3

r=1
(r 1)(r 1)
T
, (3.49)
= P(1)
1
+(2)(2)
T
, (3.50)
se prueba la expresion:
P
1
o

(0) +
2

r=1
(r 1)y(r) = P(2)
1

(2) (2)(2)
T

(2), (3.51)
agrupando

(2) =
_
P(2)
1
(2)(2)
T

(2), (3.52)
usando (3.50) = P(1)
1

(2), (3.53)
multiplicando (3.44) P(1)
1
= P(1)
1

(1) +(1)y(2) (1)(1)


T

(1), (3.54)
agrupando

(1) =
_
P(1)
1
+(1)(1)
T

(1) +(1)y(2), (3.55)


usando (3.38) = P
1
o

(0) +
2

r=1
(r 1)y(r), (3.56)
sustituyendo (3.51) en (3.48) y reordenando:

(3) = P(2)
_
P(2)
1

(2) (2)(2)
T

(2) +(2)y(3)
_
, (3.57)

(3) =

(2) +P(2)(2)
_
y(3) (2)
T

(2)
_
. (3.58)
A partir de (3.31), (3.44) y (3.58) se puede generalizar esta para toda k, esto es:

(k) =

(k 1) +P(k 1)(k 1)
_
y(k) (k 1)
T

(k 1)
_
. (3.59)
en donde P(k 1) es:
P(k 1)
1
= P(k 2)
1
+(k 1)(k 1)
T
(3.60)
para todo k 1, y donde P(1) = P
o
es una matriz denida positiva.
El algoritmo de mnimos cuadrados esta denido por las ecuaciones (3.59) y (3.60). Pero en esta forma resulta
computacionalmente difcil, debido a que para calcular la matriz P(k 1) hay que invertir dos matrices (una de P(k 2)
y otra de P(k 1)). Afortunadamente con la ayuda del Lema 3.2.1 de inversion de matrices se elimina la necesidad de
invertir matrices. El Lema 3.2.1 es el siguiente:
Lema 3.2.1 Inversi on de Matrices: sea A, B matrices de dimension n n no singulares; c es un vector de dimensi on
n y k > 0 es una constante positiva. Si las inversas de B y A se relacionan de la forma:
B
1
= A
1
+kcc
T
, (3.61)
entonces se cumple lo siguiente:
B = A k
Acc
T
A
1 +kc
T
Ac
, (3.62)
JMFA 59
3.3. Metodos de Identicaci on Captulo 3. Identicaci on de Sistemas
ademas:
Bc =
Ac
1 +kc
T
Ac
, (3.63)
Ac =
Bc
1 kc
T
Bc
. (3.64)

Identicando a P(k 1) = B, P(k 2) = A, (k 1) = c y k = 1, se tiene que la matriz P(k 1) puede obtenerse


de:
P(k 1) = P(k 2)
P(k 2)(k 1)
T
(k 1)P(k 2)
1 +(k 1)
T
P(k 1)(k 1)
(3.65)
esto elimina la necesidad de invertir matrices lo que hace al algoritmo computacionalmente mas econ omico. En la forma
actual se debe primero calcular la matriz P(k 1) por medio de (3.65) y despues usar (3.59) para actualizar el vector
de parametros. Para cambiar este orden se utiliza la propiedad (3.63).
Algoritmo de mnimos cuadrados: Sea un sistema modelado de la forma: y(k) = (k 1)

en donde

es el
vector de parametros del sistema. Se propone un modelo de identiacion: y(k) = (k 1)

(k) en donde

(k) es
una aproximacion de

. El algoritmo de identicacion por mnimos cuadrados actualiza el vector de pesos



(k)
por medio de:

(k) =

(k 1) +
P(k 2)(k 1)
1 + (k 1)
T
P(k 2)(k 1)
_
y(k) (k 1)

(k 1)
_
(3.66)
donde:
P(k 1) = P(k 2)
P(k 2)(k 1)(k 1)
T
P(k 2)
1 +(k 1)
T
P(k 2)(k 1)
(3.67)
P(1) = P
o
es una matriz denida positiva.

Se aplica el algoritmo de mnimos cuadrados para obtener un modelo de la velocidad del motor de cc. (apendice C).
Ejemplo 3.6 El parametro P
o
es la matriz identidad de 4 4; el tiempo de muestreo es T
s
= 0.005. El algoritmo
opera durante 2s. El programa utilizado se puede ver en apendice B.5. Las gracas de los resultados se presentan en la
gura 3.9.

En la gura 3.9.a se nota que la trayectoria de actualizacion de los parametros es mas suave, y requiere un tiempo
mas grande para converger, pero este algoritmo es menos sensible a las perturbaciones.
3.3.4. Exitacion Persistente
En los algoritmos de identicacion anteriores se basan en la suposicion que la respuesta del sistema puede modelarse,
dentro de cierta zona de operacion, por una combinacion lneal de las respuestas y entradas pasadas, y de esta forma,
el problema de identicacion se restringe a encontrar, con esta informacion, los parametros de la combinaci on lneal, es
decir, se convierte en un problema de naturaleza dinamico en uno estatico.
Si se considera que la estructura y el orden del sistema son dos caractersticas que sobre el se pueden suponer,
la posibilidad de que en los algoritmos de identicacion anteriores los parametros converjan a sus valores verdaderos
depende de la calidad de la informacion de entrada y de la respuesta del sistema que se dispongan.
A la propiedad sobre la informacion de entrada (y de manera indirecta sobre la informacion de salida) que garantiza
la convergencia de los parametros en los algoritmos de identicacion se le conoce como: Exitacion Persistente.
60 JMFA
Captulo 3. Identicaci on de Sistemas 3.3. Metodos de Identicaci on
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
0
2
4
6
8
10
12
(a) s

Algoritmo de LMS: Parmetros
0.28558
0.6979
10.5224
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
10
0
10
Algoritmo de LMS: Errores
e=0.0010918
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
0
2
ep1=0.010223
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0
1
ep2=0.0057524
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0
1
(b) s
ep34=0.085073
Figura 3.9: Operaci on del algoritmo de mnimos cuadrados. a) evoluci on de los par ametros. b) Errores. Error de
salida: e = (k) (k 1)
T
(k 1); error relativo del par ametro 1: ep
1
=
1(k)+295.80310
3
295.80310
3
; error relativo del
par ametro 2: ep
2
=
1(k)703.64810
3
703.64810
3
; error relativo del par ametro 3 y 4: ep
3,4
=
3,4(k)10607.51110
3
10607.51110
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inicializaci on:
- Vector de par ametros estimados:

(0).
- Matriz : P(1) cualquier matriz denida positiva.
- N umero de iteraciones : N.
k=1
Proceso:
- Actualizaci on del vector de par ametros estimados:

(1) =

(0) +
P(1)(0)
1+(0)
T
P(1)(0)
_
y(1) (0)
T
(0)
_
.
- Actualizaci on de la matriz P:
P(0) = P(1)
P(1)(0)(0)
T
P(1)
1+(0)
T
P(1)(0)
- Incremento de ndice: k = k + 1
Si k < N repetir Proceso.
Si k = N Fin.
Tabla 3.5: Resumen del algoritmo de identicaci on de mnimos cuadrados.
Por ejemplo, para el algoritmo de proyecci on ortogonal si n es el n umero de parametros en el modelo, es posible
probar que el algoritmo de proyeccion ortogonal converge en m pasos si se garantiza la siguiente condici on de rango:
rango [(1), . . . , (m)] = n, (3.68)
donde n = dim
o
. (3.69)
Lo anterior se interpreta como una condici on para que el algoritmo de proyeccion ortogonal converja en sus parametros.
Esta propiedad indica que el regresor debe expandir el espacio de parametros. La propiedad de convergencia anterior
impone la condiciones sobre el vector de regresi on, que incluye a se nales entrada y de salida del sistema. Las condiciones
de exitacion persistente se suelen atribuir unicamente a la se nal de entrada. Aqu no se extiende mas este tema, remitirse
a la referenicia [38] para mayores detalles. Es suciente para este trabajo hacer conciente al lector de esta caracterstica
en los algortimos de identicacion.
JMFA 61
3.3. Metodos de Identicaci on Captulo 3. Identicaci on de Sistemas
3.3.5. Algoritmos de Identicacion Clasicos y Redes Neuronales
No es difcil hallar una relacion entre las redes neuronales y los algoritmos de identicacion presentados.
En los modelos de identicacion anteriores, el problema se reduce a determinar un algoritmo que permita ir paso a
paso actualizando los parametros del modelo con base al error entre la salida del sistema y la respuesta del modelo. La
estrutura del modelo es lineal en los parametros, de forma que la salida del modelo es la combinacion lineal de la entrada
del modelo ponderada por los parametros estimados, ver gura 3.10.
Si se considera que el regresor del sistema, (k 1), como la entrada de una red neuronal, donde los parametros
son pesos, y su combinacion es salida estimada del modelo donde el algoritmo de ajuste de los pesos es alguno de los
presentados para los problemas de identicaci on, se tiene una equivalencia entre las estructuras de los algoritmos de
identicacion y las redes neuronales. As que la estructura de los modelos de identicacion son una versi on simplicada
de una red neuronal, ya que estos modelos se lmitan a los problemas que son lineales en los parametros.
En gura 3.10 se ilustra el esquema de identicacion. El ujo de informacion durante la operacion del algoritmo es
en serie-paralelo, debido a que el modelo de identicacion recibe como informacion la salida y la entrada del sistema.

a
1
a
n1
b
1
b
n2
^
^
^
^
y(k-1)
y(k-n ) 1
u(k)
u(k-n -1) 2
y(k)
q
-1
q
-1
q
-1
q
-1
Sistema
y(k)
^
Algoritmo
de
Identificacin

-
y(k)
e(k)
Modelo de Identificacin
(k-1)

^
(k-1)
e(k)
Figura 3.10: Redes neuronales en
los algoritmos de identicaci on.
Para los algoritmos de identi-
cacion cl asicos, si se considera que
el regresor del sistema, (k1) co-
mo la entrada de una red neuronal,
donde los par ametros son los pe-
sos que los ponderan; sumando al
nal para obtener la salida estima-
da y el algoritmo de correcci on de
los pesos es alguno de los presenta-
dos, se tiene una equivalencia en-
tre los algoritmos de identicaci on
y redes neuronales.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A diferencia de los objetivos de los algoritmos de identicacion presentados, que son modelos de identicaci on
parametricos; los algoritmos con redes neuronales suelen utilizarse como cajas negras que ajustan sus pesos para apro-
ximar funciones, o relaciones entre variables desde el punto de vista entrada-salida, de manera que en los esquemas de
identicacion las redes neuronales sustituyen mapeos no lineales entre las variables del sistema [8].
En la pr oxima seccion se presenta la aplicacion de las redes neuronales en la identicacion de sistemas
62 JMFA
Captulo 3. Identicaci on de Sistemas 3.4. Identicaci on de Sistema Usando Redes Neuronales Est aticas
3.4. Identicacion de Sistema Usando Redes Neuronales Estaticas
En esta seccion se presentan algunos modelos de identicacion de sistemas dinamicos que utilizan redes neuronales.
Como se ha visto en la seccion 3.1. Las redes neronales estaticas son capaces de aproximar mapeos no lineales. Se
utiliza esta caracterstica para modelar sistemas dinamicos.
3.4.1. Sistemas Lineales
Los algoritmos de identicacion vistos proponen modelos lineales en los parametros. Estos parametros son desconoci-
dos por lo que resulta difcil saber cuando el algoritmo ha logrado evaluarlos con precision. En la gura 3.11 se propone
sustituir el modelo de identicacion por una red neuronal, aqu los parametros son los pesos de la red. Los pesos de la
red ya no tendran una relacion directa con los parametros del sistema. Lo que se requiere es que el algoritmo de ajuste
de los pesos permita que la red neuronal encuentre la relaci on entre la entrada y salida del sistema.
Lo anterior se basa en la proposicion 3.1:
Proposici on 3.1 Sea un mapeo y(k) = F(x(k)); donde x A y y } . Siempre es posible hallar un juego de pesos
W
1
y W
2
para una la red neuronal:
y(k) = W
2
(W
1
x(k)), (3.70)
de forma tal:
1
2
[y(k) y(k)]
2
< , (3.71)
en donde es tan peque no como se desee; es una funci on no lineal.

Para abreviar se trata el caso para sistemas de una sola entrada-una sola salida; pero todos los resultados pueden
extenderse para el caso de m ultiples entradas y salidas.
y(k-1)
y(k-n ) 1
u(k)
u(k-n -1) 2
y(k)
q
-1
q
-1
q
-1
q
-1
Sistema Lineal
y(k)
^
Algoritmo
de
Entrenamiento

-
y(k)
e(k)
Red Neuronal
e(k)
a
1
a
n1
b
d
b
-n2-1

W1
W2
Figura 3.11: Identicaci on de un sistema li-
neal. Se utiliza una red neuronal como modelo
de identicaci on.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Un sistema lineal discreto de una entrada una salida puede siempre representarse como una combinacin lineal de las
entradas y salidas del pasado, esto es:
y(k) = a
1
y(k 1) +. . . +a
n
y(k n) +b
1
u(k 1) +. . . +b
1+m
u(k 1 m), (3.72)
en donde n, m son constantes enteras jas.
Al usar una red neuronal para identicar al anterior sistema lineal, se utiliza la siguiente red neuronal:
y(k) = W
2
(W
1
; y(k 1), . . . , y(k n), u(k 1), . . . , u(k 1 m)), (3.73)
en donde W
1
y W
2
son los pesos de la red y que deben ajustarse para reducir la diferencia entre las salidas del sistema
y la red neuronal.
En el ejemplo (3.7) se utiliza una red neuronal para identicar el sistema lineal que representa la velocidad de un
motor de corriente continua, ver seccion C.
JMFA 63
3.4. Identicaci on de Sistema Usando Redes Neuronales Estaticas Captulo 3. Identicaci on de Sistemas
Ejemplo 3.7 Se utiliza una red neuronal de la forma (3.70) para la identicacion del modelo de velocidad de un motor
de corriente continua. La arquitectura de la red es: cuatro entradas, diez nodos ocultos y una salida 4, 10, 1. Los ndices
de aprendizaje son: = 7 10
5
; = 10
5
. La se nal de entrada durante la fase de entrenamiento es:
u(k) = cos(kT
s
) + 2cos(4kT
s
) + 0.5sin(20kT
s
). (3.74)
La red neuronal se entrena durante 350 epocas donde cada una de estas consiste en los datos de la simulaci on de la
planta durante cinco segundos, con un tiempo de muestreo de: T
s
= 0.005 s. En la seccion B.6 se puede ver el programa
utilizado.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
150
100
50
0
50
100
150
(a) s
r
a
d
/
s
e
c
Identificacin RN: Principio del entrenamiento
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
150
100
50
0
50
100
150
(b) s
r
a
d
/
s
e
c
Identificacin RN: Segunda poca
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
150
100
50
0
50
100
150
(c) s
r
a
d
/
s
e
c
Identificacin RN: Fin de entrenamientopoca 350
Figura 3.12: Identicaci on de un sistema lineal (entrenamiento). a) Comparacion de la respuesta del sistema y
la RN el principio del entrenamiento. b) Comportamiento en la segunda epoca. c) Comportamiento en la ultima
epoca de entrenamiento
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En la gura 3.12 se presentan algunas gracas del proceso de entrenamiento de la red neuronal. En las primeras tres
gracas se observa la evolucion del sistema en la fase de entrenamiento.
En la gura 3.13 esta la operacion de la red neuronal en la fase de generalizacion, esto es, una vez terminado el
entrenamiento se prueba si la red neuronal ha asimilado la relacion que hay entre las variables de entrada y salida. Para
esto se utiliza como se nal de prueba:
u(k) =
_

_
0.1 sen(4kT
s
) para 0 < kT
s
0.5,
0.05 para 0.5 < kT
s
0.75,
0 para 0.75 < kT
s
1,
0.1 cos(2kT
s
) para 1 < kT
s
2.
64 JMFA
Captulo 3. Identicaci on de Sistemas 3.4. Identicaci on de Sistema Usando Redes Neuronales Est aticas
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
5
4
3
2
1
0
1
2
3
4
5
(a) s
r
a
d
/
s
e
c
Identificacin RN: Generalizacin (Lazo abierto)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
5
4
3
2
1
0
1
2
3
4
5
(b) s
r
a
d
/
s
e
c
Identificacin RN: Generalizacin (Lazo cerrado)
Figura 3.13: Identicaci on de un sistema lineal (generalizaci on). a) Comparacion de las respuestas en la fase de
generalizacion entre el sistema (lnea a trazos) y la RN en lazo abierto (lnea continua). b) Lo mismo, pero la RN
operando en lazo cerrado.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

En la gura 3.13.a se muestra el comportamiento de la red en la fase de generalizacion en lazo abierto, esto es, se
utilizan los retardos de la salida del modelo del motor, y(k i) , en la entrada de la red neuronal. En lazo abierto, la red
neuronal, y, muestra un seguimiento muy cercano a la respuesta del modelo, y.Identicacion serie-paralelo [10].
En la gura 3.13.b se muestra la respuesta de la red en lazo cerrado, es decir, cuando se utilizan los retardos de la
salida de la red, y, en la entrada de la red, de esta forma, no se depende del modelo del motor. Para que la red neuronal
muestre un seguimiento aceptable son necesarias las 350 epocas de entrenamiento. Notar que la red neuronal operando
en lazo cerrado se transforma en una red neuronal recurrente, ya que su salida depende de su respuesta en el pasado
Identicacion paralela [10].
Debido a que una red neuronal puede aproximar la relacion no lineal entre variables se extiende su aplicaci on a los
casos de identicacion de sistemas no lineales de forma directa.
3.4.2. Sistemas No Lineales
En los algoritmos de identicacion clasicos se supone que el sistema a identicar es lneal, o al menos lneal en los
parametros. Por lo que dejan de ser aplicables en problemas donde el sistema se representa en forma general como un
sistema no lineal:
y(k) = F [y(k 1), . . . , y(k n); u(k), . . . , u(k m)] . (3.75)
Por el contrario, las redes neuronales se pueden aun seguir aplicando, debido a que la proposicion (3.1) no se lmita
al caso lineal.
Con el n de utilizar las redes neuronales para la identicacion de sistemas en la referencia [10] se clasican los
sistemas en cuatro modelos. Estos cuatro modelos de identicacion dividen a los sistemas no lineales para utilizar la
informacion estructural que se tenga de ellos. Los modelos son los siguientes:
Modelo I:
y(k + 1) =
n1

i=0

i
y(k i) +G[u(k), . . . , u(k m)] , (3.76)
JMFA 65
3.4. Identicaci on de Sistema Usando Redes Neuronales Estaticas Captulo 3. Identicaci on de Sistemas
Modelo II:
y(k + 1) = F [y(k), . . . , y(k n + 1)] +
m

i=0

i
u(k i), (3.77)
Modelo III:
y(k + 1) = F [y(k), . . . , y(k n + 1)] +G[u(k), . . . , u(k m)] , (3.78)
Modelo IV:
y(k + 1) = F [y(k), . . . , y(k n + 1); u(k), . . . , u(k m)] , (3.79)
en donde las funciones no lineales F y G se suponen desconocidas pero suaves (que tiene al menos primera derivada
continua); los enteros n, m y los coecientes
i
,
i
se presumen conocidos. [10] se propone remplazar las funciones no
lineales desconocidas por redes neuronales estaticas, ver gura 1.13. La red neuronal se entrena utilizando el algoritmo
de retropropagacion estatico. La conguraci on del esquema de identicacion es serie-palalelo. En los modelos I y II,
con una conguraci on de entrenamiento en paralelo, la red neuronal se entrena con el algoritmo de retropropagaci on
dinamico, que consiste en retropropagar los gradientes a traves de las funciones de transferencia de la parte lineal que es
conocida.
Ejemplo 3.8 Este ejemplo corresponde al modelo de identicacion del tipo IV, ver referencia [10], es decir, que se
propone que una sola red neuronal para identicar el mapeo entre las variables del sistema no lineal, este sistema no
lineal es el siguiente:
y
p
(k + 1) =
y
p
(k)y
p
(k 1)y
p
(k 2)u(k 1) [y
p
(k 2) 1]
1 +y
p
(k 2)
2
+y
p
(k 1)
2
, (3.80)
la se nal de entrada utilizada en la fase de entrenamiento es:
u(k) = 0.80 sen(2k/250) + 0.3 cos(2k/25).
El entrenamiento consiste en simular el sistema durante 1000 iteraciones, repetido 30 veces (epocas). La red neuronal
tiene la siguiente conguraci on: 5, 10, 1, los ndices de aprendizaje son: , = 0.04. En la gura 3.14 puede observarse
la evolucion del entrenamiento.
0 100 200 300 400 500 600 700 800 900 1000
1.5
1
0.5
0
0.5
1
1.5
(a)
Identificacin no lineal RN: Principio del entrenamiento
0 100 200 300 400 500 600 700 800 900 1000
1.5
1
0.5
0
0.5
1
1.5
(b)
Identificacin no lineal RN: Fin del entrenamientopoca 30
Figura 3.14: Identicaci on no lineal usando una RN Est atica. a) Principio de entrenamiento. b) Al nal de 30
epocas de entrenamiento. (- -) Planta; () RN.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Para probar la generalizacion de la red neuronal se utiliza como se nal de entrada:
u(k) =
_

_
0.5 sen(2k/50) para 0 < k 150,
0.5 para 150 < k 200,
0.5 para 200 < k 250,
0.4 cos(2k/200) para 250 < k 600.
66 JMFA
Captulo 3. Identicaci on de Sistemas 3.5. Identicaci on de Sistemas Usando Redes Neuronales Din amicas
En la gura 3.15 se presenta la respuesta de la red neuronal en lazo cerrado.

0 100 200 300 400 500 600


1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Identificacin no lineal RN: Generalizacin (Lazo cerrado)
Figura 3.15: Identicaci on no lineal usando una RN
Est atica-Fase de generalizaci on. (- -) Planta; () RN.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Los dos ultimos ejemplos nuestran que una red neuronal de m ultiples capas con el algoritmo de entrenamiento de
retropropagacion del error puede servir como modelo de identicacion para sistemas lineales y no lineales. El entrenamiento
de la red neuronal se realiza en lazo abierto de manera que si el sistema identicado es estable, la operaci on de la red
no afecta su estabilidad. Al termino del entrenamiento se utiliza la salida de la red para formar su entrada, es decir, que
la red opera en lazo cerrado, en los ejemplos, la operacion de la red en lazo cerrado y con una se nal distinta a la usada
en el entrenamiento, proporciona una buena aproximacion de la respuesta del sistema.
3.5. Identicacion de Sistemas Usando Redes Neuronales Dinamicas
En la seccion anterior las redes neuronales estaticas se utilizaron para la identicacion de sistemas dinamicos. En estos
esquemas de identicacion se utiliza la red neuronal para aproximar el mapeo no lineal entre las variables del sistema; la
red neuronal se entrena en una conguraci on serie-paralelo, esto signica que no se utilizan los retardos de la salida de
la red como entradas; se usan los retardos de la salida de la planta, esto hace que la red neuronal unicamente necesite
aproximar la relacion entre las variables.
Al terminar el entrenamiento se prueba el modelo de identicacion con la red neuronal; para esto se utilizan los
retardos de la salida de la red como parte de sus entradas ya no tiene sentido utilizar la salida del sistema. a esto
se deni o como operacion en lazo cerrado, ver gura 3.16. Al operar la red neuronal en lazo cerrado se obtiene una red
neuronal dinamica, debido a que la respuesta de la red ya no depende s olo de las se nal de entrada, sino tambien de la
respuesta en el pasado.
La red neuronal dinamica anterior, las lneas de retroalimentacion se construyen externas a la red. Una de las primeras
redes neuronales dinamicas que incluyen alg un tipo de retroalimentacion interna es la red de Hopeld, en esta red neuronal
se retroalimetan todas las se nales de la red, por esto se clasica como un red neuronal completamente recurrente. Otro
modelo de red neuronal dinamica que se utiliza para tareas de identicacion de sistemas es la red de Elman, esta red
neuronal contiene nodos que realimentan las se nales de salida de una capa oculta, estos nodos son llamados de contexto,
debido a que estos tienen la funci on de que la red tome encuenta las salidas anteriores para evaluar la salida actual de
los nodos en la capa oculta.
De la estructura de una red neuronal estatica y de su conguraci on en lazo cerrado se puede obtener la estructura
modelo para redes neuronales dinamicas.
Una red neuronal estatica esta expresada de la siguiente forma:
x(k) = W
2
(W
1
u(k)), (3.81)
JMFA 67
3.5. Identicaci on de Sistemas Usando Redes Neuronales Din amicas Captulo 3. Identicaci on de Sistemas
y(k)
^

W2
z
-1
z
-1
z
-1
z
-1
u(k)
W1
Figura 3.16: Red neuronal est atica en lazo cerrado. Al
nal del entrenamiento, se toma la salida de la red para
generar los retardos de la entrada y la red opera en lazo
cerrado.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
si se pone a esta red en lazo cerrado, y se divide el vector de entrada, u, en dos partes, una para las entradas independientes,
y la otra para los retardos de las se nales de salida de la red, esto es:
x(k) = W
2
(W
ii
1
x(k 1) +W
i
1
u

(k)), (3.82)
en donde u

es un vector que integra a las se nales independientes; x(k 1) es el vector que agrupa los retardos en la
respuesta de la red neuronal; W
1
se divide en W
i
1
y W
ii
1
para separar los pesos que ponderan a u

y x(k 1). Pero para


simplicar la notacion de (3.82) se propone:
x(k) = W
3
[W
2
x(k 1) +W
1
u(k)] , (3.83)
se pueden hallar semejanzas entre la ecuacion (3.83) y los modelos de red neuronal recurrente de Hopeld y Elman.
Se propone aqu agregar una capa mas a la red neuronal (3.83), esto con el objetivo de que la soluci on considere el
caso de que la dimension del vector x no corresponda a la salida requerida por el problema, o que hay un mapeo entre
la variable x de salida y. Esta nueva capa en la red neuronal es:
y(x) = W
5
(W
4
x(k)), (3.84)
entonces la red neuronal recurrente esta representada por las expresiones:
x(k) = W
3
[W
2
x(k 1) +W
1
u(k)] , (3.85)
y(x) = W
5
[W
4
x(k)] . (3.86)
El esquema general de esta red neuronal se presenta en la gura 3.17.
W1 W4 +
W2
W3 z
-1
W5
Figura 3.17: Modelo general de una red neuro-
nal recurrente. Al dividir el vector de entrada
de la red neuronal en aquellos que dependen
de los valores pasados de salida de la capa in-
termedia y de los que son independientes se
puede obtener un modelo can onico de una red
neuronal recurrente.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Por lo visto en el captulo 2 se puede obtener la ley de actualizacion de pesos de esta red, pero aqu se proponen
algunas simplicaciones para obtener una red neuronal que ademas de ser sencilla, su forma esta muy relacionada con un
sistema representado en variables de estado. La simplicaciones son: la funci on de activacion dentro del lazo de interno
de retroalimentacion de la red se sustituye por la funci on identidad; a la matriz de pesos W
3
(notar que esta matriz es
cuadrada) se le remplaza por una matriz unitaria. Para la segunda capa de la red se simplica sustituyendo a la matriz
de pesos W
4
por una matriz diagonal con 1 en sus componentes. La red neuronal queda de la forma:
x(k) = [W
2
x(k 1) +W
1
u(k)] , (3.87)
y(k) = [W
5
z(k)] , (3.88)
68 JMFA
Captulo 3. Identicaci on de Sistemas 3.5. Identicaci on de Sistemas Usando Redes Neuronales Din amicas
esta red neuronal recurrente que se presenta en la gura 3.18. En la gura se pone agregar una funci on de activaci on a
la salida de la red.
W1 W5 +
W2
z
-1

Figura 3.18: Modelo de red neuronal recu-
rrente simplicada. Para hacer simplicar la
obtenci on del algoritmo de aprendizaje se
proponen algunas simplicaciones del modelo
con onico de la red neuronal recurrente.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Las ecuaciones (3.87-3.87) realizando un cambio en la variable x, considerando la propiedad de linealidad del operador
z y sustituyendo las literales de los pesos, se tiene la expresion:
x(k + 1) = Jx(k) +Bu(k), (3.89)
z(k) = [x(k)] , (3.90)
s
2
(k) = Cz(k), (3.91)
y(k) =
_
s
2
(k)

, (3.92)
que corresponde al modelo de red neuronal que se estudio en el captulo 2.
Al principio de este captulo se establece que una red neuronal recurrente puede utilizarse para aproximar un mapeo
entre las variables. Ahora con la red neuronal recurrente se prueba que es capaz de aproximar un cierto tipo de sistemas
dinamicos. La proposicion 3.2 establece este hecho:
Proposici on 3.2 Considere un sistema no lineal estable denido por las ecuaciones:
x(k + 1) = F [x(k); u(k)] , (3.93)
y(k) = H [x(k)] , (3.94)
en donde x R
n
es el vector de estado; u R
m
; y R
p
; m, n, y p son enteros que denen la dimensi on de los
vectores; F y G son mapeos suaves.
Es posible aproximar el sistema (3.93-3.94) a traves de una red neuronal de la forma:
x(k + 1) = [W
2
x(k) +W
1
u(k)] , (3.95)
y(k) = W
5
[W
4
x(k)] . (3.96)
Prueba: Por la propiedad de aproximacion de funciones, teorema 3.1, el mapeo F se puede aproximar por:
F [x(k), u(k)] W
3
[W
2
x(k) +W
1
u(k)] , (3.97)
utilizando esta aproximacion se tiene:
x(k + 1) = W
3
[W
2
x(k) +W
1
u(k)] , (3.98)
se dene:
x(k) = [W
2
x(k) +W
1
u(k)] , (3.99)
por tanto:
x(k + 1) = W
3
x(k), (3.100)
sustituyendo (3.100) en (3.99), se tiene:
x(k) = [W
2
W
3
x(k 1) +W
1
u(k)] , (3.101)
el producto entre las matrices de pesos W
2
W
3
puede ser representado por una sola matriz, esta es, W
2
:
x(k) = [W
2
x(k 1) +W
1
u(k)] , (3.102)
JMFA 69
3.6. Identicaci on de Sistemas Utilizando RNRE Captulo 3. Identicaci on de Sistemas
Hasta aqu se tiene la primera ecuacion del sistema dinamico, esto es (3.95).
Para la ecuacion de salida (3.96), unicamente se debe utilizar el teorema 3.1 para la sustituir el mapeo H por una
aproximacion lneal:
y(k) = W
5
[W
4
x(k)] . (3.103)

Algo interesante en el modelo neuronal del sistema no lineal (3.93-3.94), es que el estado del sistema , x, y el estado
de la red , x, no tiene que ser el mismo y, por supuesto, no es necesario que tengan la misma dimension.
3.6. Identicacion de Sistemas Utilizando RNRE
La estructura de una Red Neuronal Recurrente Entrenable es un caso especial de la red neuronal dinamica que se
utiliza en la propiedad 3.2. En esta seccion se presentan una serie de ejemplos de Identicacion utilizando RNRE. Los
ejemplos ilustran que el modelo de red y su ley de entrenamiento son adecuados para las tareas de identicaci on de
sistemas dinamicos.
3.6.1. Identicacion del Modelo de Velocidad de un Motor de cc. usando una Red
Neuronal Recurrente Entrenable
En esta seccion se presenta los resultados de identicacion del modelo discreto de velocidad de un motor de cc.
El modelo ya ha sido usado para otros esquemas de identicacion, y; no obstante de su sencilles, se utiliza para tener
diferentes algoritmos de identicacion con el mismo problema. El modelo del motor es el siguiente:

m
(k + 1) = 295.803 10
3

m
(k) + 703.648 10
3

m
(k 1)
+10607.511 10
3
[e
a
(k) +e
a
(k 1)]
[1548.755T
L
(k) + 1548.329T
L
(k 1)] . [rad/s] (3.104)
La red neuronal recurrente propuesta permite que la identicacion se ejecute en paralelo; es decir, que la informaci on
que la red neuronal utiliza es la entrada y la salida actuales al sistema. Por supuesto queda la pregunta sobre la estabilidad
del sistema resultante, se cuida este aspecto por la restriccion en los pesos de la matriz J, que por ser diagonal, esto
implica que los valores propios deben estar en el intervalo (1, 1).
La RNRE que se utiliza en la identicacion tiene la arquitectura 1, 5, 1; es decir, una entrada, cinco nodos ocultos
en la capa de retroalimentacion y una salida. El valor de los parametros del entrenamiento son: para la capa de salida
(pesos C )
1
= 5 10
4
,
1
= 5 10
3
; para los pesos ocultos (pesos J )
2
= 1 10
5
,
2
= 1 10
4
; para los
pesos de entrada (pesos B)
3
= 1 10
4
,
3
= 1 10
3
.
La fase de aprendizaje se realiza en cuatro epocas en donde cada una consiste en cinco segundos de simulaci on del
modelo de la velocidad del motor, la se nal de entrada para exitar al modelo es:
u(k) = cos(kT
s
) + 2 cos(4kT
s
) + 0.5 sen(20kT
s
).
En la gura 3.19.a se presenta la comparaci on entre la salida del modelo del motor (lnea discontinua) y la respuesta
de la RNRE (lnea continua), esta graca es para la cuarta epoca de entrenamiento. En la gura 3.19.b se ve el error
cuadratico medio durante la ultima epoca de entrenamiento. Para este ejemplo particular, n otese que una RNRE, y
arquitectura relativamente simple, se logra que la red siga al modelo del motor.
Una vez cancelado el ajuste de los pesos de la RNRE, se prueba la capacidad de esta red para reproducir el com-
portamiento del modelo para una se nal de entrada diferente a la usada en la fase de entrenamiento, esta nueva se nal
es:
u(k) =
_

_
0.1 sen(4kT
s
) para 0 < kT
s
0.5,
0.05 para 0.5 < kT
s
0.75,
0 para 0.75 < kT
s
1,
0.1 cos(2kT
s
) para 1 < kT
s
2.
,
70 JMFA
Captulo 3. Identicaci on de Sistemas 3.6. Identicaci on de Sistemas Utilizando RNRE
la comparacion entre la respuesta del modelo (lnea discontinua) y la RNRE (lnea continua) gura 3.19.c. Esta fase
tiene una duraci on de dos segundos. A diferencia entre el uso de una red neuronal estatica, la operacion de la RNRE es
en paralelo. En gura 3.19.d se observa el comportamiento de error cuadratico medio en esta fase.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
150
100
50
0
50
100
150
(a) s
r
a
d
/
s
e
g
Identificacin RN: Entrenamiento
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
50
100
150
200
250
300
350
400
(b) s
Identificacin RN: EntrenamientoMSE
MSE=44.9275
0 0.5 1 1.5 2 2.5 3 3.5 4
5
4
3
2
1
0
1
2
3
4
5
(c) s
r
a
d
/
s
e
g
Identificacin RN: Generalizacin
0 0.5 1 1.5 2 2.5 3 3.5 4
0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
(d) s
Identificacin RN: GeneralizacinMSE
MSE=0.036976
Figura 3.19: Identicaci on de la velocidad de un Motor de cc. usando una RNRE a) Comparacion de la respuesta
del sistema (- -) y la salida de la RNRE () durante el entrenamiento. b) Erro medio cuadr atico. c) Comparaci on
de la respuesta del sistema (- -) y la salida de la RNRE () durante la prueba de generalizacion. d) Error medio
cuadr atico.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 71
3.6. Identicaci on de Sistemas Utilizando RNRE Captulo 3. Identicaci on de Sistemas
3.6.2. Identicacion no Lineal Usando RNRE
En la siguiente simulacion se presenta la identicacion del sistema no lineal (3.80) usando una RNRE. El modelo
utilizado se toma de [6]:
y
p
(k + 1) =
y
p
(k)y
p
(k 1)y
p
(k 2)u(k 1) [y
p
(k 2) 1]
1 +y
p
(k 2)
2
+y
p
(k 1)
2
.
En el ejemplo 3.8 se utilizo este sistema para ser identicado por una red neuronal estatica. Para ese caso fue necesario
una red con una arquitectura 5, 10, 1, con un entrenamiento de 30 epocas, y cada epoca con 1000 iteraciones del
sistema no lineal.
La RNRE tiene una arquitectura de 1, 5, 1. Los coecientes de entrenamiento son: para la capa de salida y de
entrada (C y B)
1,3
y
1,3
= 0.05; para la capa oculta (J) y = 0.005.
La fase de entrenamiento consiste en tres epocas, cada una con mil iteraciones del sistema no lineal. La se nal de
entrada es:
u(k) = 0.80 sen(2k/250) + 0.3 cos(2k/25).
En la gura 3.20.a Se puede observar la comparacion de la evolucion del sistema no lineal (lnea discontinua) y la
respuesta de la RNRE (lnea continua) en la fase de entrenamiento. En gura 3.20.b esta la graca de error cuadratico
medio.
Para la fase de generalizacion se utiliza como se nal de entrada:
u(k) =
_

_
0.5 sen(2k/50) para 0 < k 150,
0.5 para 150 < k 200,
0.5 para 200 < k 250,
0.4 cos(2k/200) para 250 < k 600,
esta etapa consiste en 600 iteraciones. En gura 3.20.c se puede comparar el resultado de las salidas de la planta (lnea
discontinua) y de la RNRE (lnea continua).
72 JMFA
Captulo 3. Identicaci on de Sistemas 3.6. Identicaci on de Sistemas Utilizando RNRE
0 100 200 300 400 500 600 700 800 900 1000
1.5
1
0.5
0
0.5
1
1.5
(a)
Identificacin RN: Entrenamiento
0 100 200 300 400 500 600 700 800 900 1000
0
0.001
0.002
0.003
0.004
0.005
0.006
0.007
0.008
0.009
0.01
(b)
Identificacin RN: EntrenamientoMSE
MSE=0.0019961
0 100 200 300 400 500 600
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(c)
Identificacin RN: Generalizacin
0 100 200 300 400 500 600
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
x 10
3
(d)
Identificacin RN: GeneralizacinMSE
MSE=0.00018824
Figura 3.20: Identicaci on de un sistema no lineal usando RNRE. a) Comparacion de la respuesta del sistema (- -)
y la salida de la RNRE () durante el entrenamiento. b) Erro medio cuadr atico. c) Comparacion de la respuesta
del sistema (- -) y la salida de la RNRE () durante la prueba de generalizacion. d) Error medio cuadr atico.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 73
3.6. Identicaci on de Sistemas Utilizando RNRE Captulo 3. Identicaci on de Sistemas
3.6.3. Identicacion de un Sistema no Lineal de dos Entradas dos Salidas
Una de las caractersticas importantes del modelo de RNRE es que de forma natural puede trabajar en sistemas con
m ultiples entradas y m ultiples salidas. Ahora se presenta la identicacion de un sistema no lineal con dos entradas y dos
salidas, en [6] aparece este modelo:
y
1
(k + 1) = 0.5
_
y
1
(k)
1 +y
2
(k)
2
+u
1
(k)
_
, (3.105)
y
2
(k + 1) = 0.5
_
y
1
(k)y
2
(k)
1 +y
2
(k)
2
+u
2
(k)
_
. (3.106)
Para identicar este sistema se utiliza una RNRE con una conguraci on 2, 10, 2. Los coecientes de entrenamiento
son: para la capa de salida y de entrada (C y B)
1,3
y
1,3
= 0.01; para la capa oculta (J)
2
y
2
= 0.001.
La fase de entrenamiento consiste en veinte epocas, cada una con quinientas iteraciones del sistema no lineal. Las
se nales de entradas son:
u
1
(k) = 0.8 sen(2k/100) + 0.3 cos(2k/10),
u
2
(k) = 1.5 cos(2k/200) + 0.3 sen(2k/20).
En la gura 3.21.a se observa la comparaci on entre la salida del subsistema 1 del modelo no lineal (lnea discontinua)
y de la salida 1 de la RNRE (lnea continua), en la graca gura 3.21.b esta lo correspondiente para la salida 2. En
gura 3.21.c se presenta el error cuadratico medio para la salida 1 (lnea discontinua) y 2 (lnea continua).
Para la fase de generalizacion se utiliza como se nal de entrada:
u
1,2
(k) =
_

_
0.5 sen(2k/50) para 0 < k 150,
0.7 para 150 < k 275,
0.7 para 270 < k 400,
0.7 cos(2k/100) para 400 < k 500,
(3.107)
esta etapa consiste en 500 iteraciones. En las guras gura 3.21.d, e, f se pueden ver las respuestas de las salidas 1 y
2, as como el error cuadratico medio de las salidas.
74 JMFA
Captulo 3. Identicaci on de Sistemas 3.6. Identicaci on de Sistemas Utilizando RNRE
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(a)
y
p
1
/
y
n
1
Identificacin RN: Entrenamiento
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(d)
y
p
1
/
y
n
1
Identificacin RN: Generalizacin
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(b)
y
p
2
/
y
n
2
Identificacin RN: Entrenamiento
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(e)
y
p
2
/
y
n
2
Identificacin RN: Generalizacin
0 50 100 150 200 250 300 350 400 450 500
0
0.5
1
1.5
2
2.5
3
3.5
4
x 10
3
(c)
Identificacin RN: EntrenamientoMSE
MSE1=0.0030255
MSE2=0.0013004
0 50 100 150 200 250 300 350 400 450 500
0
0.5
1
1.5
2
2.5
x 10
3
(f)
Identificacin RN: GeneralizacinMSE
MSE1=0.0010879
MSE2=0.0002745
Figura 3.21: Identicaci on de un sistema no lineal MIMO usando RNRE. a) Comparacion de la respuesta de la
salida y
1
del sistema (- -) y la salida y
n1
RN () durante el entrenamiento. b) Comparacion de la respuesta de la
salida y
2
del sistema (- -) y la salida y
n2
RN () durante el entrenamiento. c) Error medio cuadr atico, MSE1 (- -),
MSE2 (), entrenamiento. d) Comparacion de la respuesta de la salida y
1
del sistema (- -) y la salida y
n1
RN ()
durante la fase de generalizacion. e) Comparacion de la respuesta de la salida y
2
del sistema (- -) y la salida y
n2
RN () durante la fase de generalizacion. f ) Error medio cuadr atico, MSE1 (- -), MSE2 (), generalizaci on.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 75
3.6. Identicaci on de Sistemas Utilizando RNRE Captulo 3. Identicaci on de Sistemas
3.6.4. Identicacion M ultimodelo con RNRE
En las referencias [11] y [9] se propone utilizar un arreglo m ultimodelo para la identicacion de sistemas dinamicos.
Considerese el sistema desconocido y = f(x), por medio de mediciones se obtienen los datos y(k), x(k), en los
tiempos k, k 1, . . . . El objetivo es que a traves de estos datos se construya una funci on y = F(x) que sea una
aproximacion razonable de y = f(x), donde x = [x
1
, . . . , x
p
]
T
R
p
y y R. La variable x se conoce como variable
antecedente, y como variable consecuente. En el modelado de sistemas difusos la funci on F(x) se presenta por una
coleccion de reglas IF-THEN del tipo:
IF antecedente THEN consecuente
El modelo de Takagi Sugeno, es una mezcla de modelos ling usticos y numericos. El antecedente, en la regla, describe
las regiones difusas en las cuales esta dividido el espacio de estados, el consecuente es una funci on de las entradas. Esta
funci on puede ser tambien una funci on dinamica dada por un modelo descrito en el espacio de estados en la forma:
Ri:IF x(k) IS Ji AND u(k) IS Bi THEN
xi(k+1)= Ji x(k) + Bi u(k)
yi(k)= Ci x(k)
Se propone que la funci on consecuente sea una RNRE de manera que el sistema difuso tenga la forma:
IF x IS Ji AND u IS Bi THEN
yi = Ni(x),i =1,2,...L
La funci on y
i
= N
i
(x) representa la RNRE. Donde i es el n umero de la funci on de activacion y L es el n umero total
de estas funciones de aproximacion. Los terminos de umbral que se obtienen durante el proceso de aprendizaje, pueden
usarse para formar los centros de las funciones de pertenencia. El n umero de reglas se puede optimizar usando el error
medio cuadratico de la RNRE, que es la medida natural de la precision de aproximacion del submodelo no lineal. La
estructura del sistema de identicacion completo contiene un sistema de coordinacion difuso y un conjunto de RNRE.
Se utiliza el sistema no lineal (3.105-3.106) para probar el metodo de identicacion m ultimodelo. Se utilizan dos
RNRE, una para identicar la parte positiva, y otra RNRE para la parte negativa de las respuesta del sistema no lineal.
As que las reglas que designan la zona de operacion de cada una de las redes son:
---------------Regla 1 ---------------- | ---------------Regla 2 ----------------%
R1:IF yp(k) IS >0 AND u(k) Is >0 THEN | R2: IF yp(k) IS <0 AND u(k) Is <0 THEN %
x1(k+1)=G1[J1*x(k)+B1*u(k)]; | x2(k+1)=G1[J2*x2(k)+B2*u(k)]; %
y1(k)C1*G2(x1(k)). | y2(k)C2*G2(x(k)), %
--------------------------------------- | ---------------------------------------%
Las RNREs tienen la arquitectura: 2, 10, 2. Los coecientes de entrenamiento son los mismos para ambas redes:

1,3
y 1, 3 = 0.01,
2
y 2 = 0.01.
La fase de entrenamiento esta formada por 40 epocas de 500 iteraciones. La se nal de entrada al sistema es:
u
1
(k) = 0.8 sen(2k/100) + 0.3 cos(2k/10), (3.108)
u
2
(k) = 1.5 cos(2k/200) + 0.3 sen(2k/20). (3.109)
En las guras. 3.22, 3.23, 3.24 se puede observar el comportamiento del esquema m ultimodelo para la etapas de
entrenamiento y generalizacion.
En la etapa de generalizacion la se nal es (3.107). Se simula este sistema durante 500 iteraciones.
En guras. 3.24 se suman las respuestas de las dos RNRE que se usaron para identicar la parte positiva y negativa
del sistema con el n de reconstruir la respuesta del esquema de identicacion m ultimodelo.
Una de las ventajas que tiene el modelo de RNRE es que sus ecuaciones de entrenamiento pueden ser implementadas
para trabajar en lnea. En la pr oxima seccion se utiliza el modelo de red neuronal recurrente para identicar un prototipo
de control Ver ape ndice E. de un motor de cc. en tiempo real.
76 JMFA
Captulo 3. Identicaci on de Sistemas 3.6. Identicaci on de Sistemas Utilizando RNRE
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(a)
y
p
1
,
y
n
1
Identificacin RN: EntrenamientoRNRE1
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(d)
y
p
1
,
y
n
1
Identificacin RN: GeneralizacinRNRE1
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(b)
y
p
2
,
y
n
2
Identificacin RN: EntrenamientoRNRE1
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(e)
y
p
2
,
y
n
2
Identificacin RN: GeneralizacinRNRE1
0 50 100 150 200 250 300 350 400 450 500
0
0.5
1
1.5
2
2.5
3
3.5
4
x 10
3
(c)
Identificacin RN: EntrenamientoMSE,RNRE1
MSE1=0.0012572
MSE2=0.001253
0 50 100 150 200 250 300 350 400 450 500
0
0.5
1
1.5
2
2.5
x 10
3
(f)
Identificacin RN: GeneralizacinMSE,RNRE1
MSE1=0.00038358
MSE2=0.00018524
Figura 3.22: Identicaci on M ultimodelo Usando de un sistema no lineal MIMO usando RNRE
+
. a) Comparaci on
de la respuesta de la salida y
1
del sistema (- -) y la salida y
n1
RNRE
+
() durante el entrenamiento. b) Comparaci on
de la respuesta de la salida y
2
del sistema (- -) y la salida y
n2
RNRE
+
() durante el entrenamiento. c) Error medio
cuadr atico, MSE1 (- -), MSE2 (), entrenamiento. d) Comparacion de la respuesta de la salida y
1
del sistema (- -)
y la salida y
n1
RNRE
+
() durante la fase de generalizacion. e) Comparacion de la respuesta de la salida y
2
del
sistema (- -) y la salida y
n2
RNRE
+
() durante la fase de generalizacion. f ) Error medio cuadr atico, MSE1 (- -),
MSE2 (), generalizacion.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 77
3.6. Identicaci on de Sistemas Utilizando RNRE Captulo 3. Identicaci on de Sistemas
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(a)
y
p
1
,
y
n
1
Identificacin RN: EntrenamientoRNRE2
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(d)
y
p
1
,
y
n
1
Identificacin RN: GeneralizacinRNRE2
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(b)
y
p
2
,
y
n
2
Identificacin RN: EntrenamientoRNRE2
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(e)
y
p
2
,
y
n
2
Identificacin RN: GeneralizacinRNRE2
0 50 100 150 200 250 300 350 400 450 500
0
0.5
1
1.5
2
2.5
3
3.5
4
x 10
3
(c)
Identificacin RN: EntrenamientoMSE,RNRE2
MSE1=0.001493
MSE2=0.00075558
0 50 100 150 200 250 300 350 400 450 500
0
0.5
1
1.5
2
2.5
x 10
3
(f)
Identificacin RN: GeneralizacinMSE,RNRE2
MSE1=0.00067194
MSE2=0.00012367
Figura 3.23: Identicaci on M ultimodelo Usando de un sistema no lineal MIMO usando RNRE

. a) Comparaci on
de la respuesta de la salida y
1
del sistema (- -) y la salida y
n1
RNRE

() durante el entrenamiento. b) Comparaci on


de la respuesta de la salida y
2
del sistema (- -) y la salida y
n2
RNRE

() durante el entrenamiento. c) Error medio


cuadr atico, MSE1 (- -), MSE2 (), entrenamiento. d) Comparacion de la respuesta de la salida y
1
del sistema (- -)
y la salida y
n1
RNRE

() durante la fase de generalizacion. e) Comparacion de la respuesta de la salida y


2
del
sistema (- -) y la salida y
n2
RNRE

() durante la fase de generalizacion. f ) Error medio cuadr atico, MSE1 (- -),


MSE2 (), generalizacion.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78 JMFA
Captulo 3. Identicaci on de Sistemas 3.6. Identicaci on de Sistemas Utilizando RNRE
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(a)
y
p
1
,
y
n
1
Identificacin RN: EntrenamientoRNRE1+RNRE2
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(d)
y
p
1
,
y
n
1
Identificacin RN: GeneralizacinRNRE1+RNRE2
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(b)
y
p
2
,
y
n
2
Identificacin RN: EntrenamientoRNRE1+RNRE2
0 50 100 150 200 250 300 350 400 450 500
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
(e)
y
p
2
,
y
n
2
Identificacin RN: GeneralizacinRNRE1+RNRE2
0 50 100 150 200 250 300 350 400 450 500
0
0.5
1
1.5
2
2.5
3
3.5
4
x 10
3
(c)
Identificacin RN: EntrenamientoMSE,RNRE1+RNRE2
MSE1=0.0027401
MSE2=0.0028881
0 50 100 150 200 250 300 350 400 450 500
0
0.5
1
1.5
2
2.5
x 10
3
(f)
Identificacin RN: GeneralizacinMSE,RNRE1+RNRE2
MSE1=0.0010266
MSE2=0.00024382
Figura 3.24: Identicaci on M ultimodelo Usando de un sistema no lineal MIMO usando RNRE

. a) Comparaci on
de la respuesta de la salida y
1
del sistema (- -) y la salida y
n1
RNRE

() durante el entrenamiento. b) Comparaci on


de la respuesta de la salida y
2
del sistema (- -) y la salida y
n2
RNRE

() durante el entrenamiento. c) Error medio


cuadr atico, MSE1 (- -), MSE2 (), entrenamiento. d) Comparacion de la respuesta de la salida y
1
del sistema (- -)
y la salida y
n1
RNRE

() durante la fase de generalizacion. e) Comparacion de la respuesta de la salida y


2
del
sistema (- -) y la salida y
n2
RNRE

() durante la fase de generalizacion. f ) Error medio cuadr atico, MSE1 (- -),


MSE2 (), generalizacion.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 79
3.6. Identicaci on de Sistemas Utilizando RNRE Captulo 3. Identicaci on de Sistemas
3.6.5. Identicacion en Tiempo Real de un Motor de cc.
En esta seccion se describe el uso de una RNRE para la construcci on en tiempo real del modelo de identicaci on de
posicion de un motor de cc. El prototipo utilizado se describe en el apendice E.
Por lo establecido en la proposicion 3.2, se requiere que el modelo no lineal sea estable para poder ser identicado.
Al modelar la descripcion entrada salida de la posicion de un motor cc., se obtiene un sistema no compensado; es decir,
un sistema que al aplicar como entrada una se nal constante, la respuesta de salida es una se nal que se va incrementando
con el tiempo a una tasa proporcional a la magnitud de la se nal de entrada, ver gura E.2.a.
Con el objetivo de compensar la respuesta del motor de cc., se retroalimenta la salida del motor. Utilizando el modelo
matematico de la posicion de un motor de cc. que se encuentra en el apendice C se puede evaluar el efecto de esta
retroalimentacion de la posicion del motor. La funci on de transferencia es:
(z)
E(z)
=
N(z)
D(z)
,
= 53.03810
3
z + 1
z
3
703.92210
3
z
2
999.72510
3
z + 703.64810
3
. (3.110)
Al retroalimentar la salida en posicion del motor a traves de una ganancia constante k
r
, la entrada al sistema es
igual: E(z) = V (z) k
r
(z) y la funci on de transferencia en lazo cerrado es:
(z)
V (z)
=
N(z)
D(z) +k
r
N(z)
. (3.111)
Al ir aumentado el valor de la ganacia k
r
los polos de la funci on de transferencia (3.111) se desplazan en las direcciones
que se muestra en la gura 3.25.
1 0.5 0 0.5 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Lugar de Races: Sistema Realimentado
Figura 3.25: Lugar de las races sistema retroalimenta-
do. Los polos en lazo abierto son: 1, 1, 0.7038. El
sistema tiene un cero nito en 1. En el sistema retro-
alimentado, al ir aumentado la ganacia k
r
, el polo en 1 se
aleja de la fontera de estabilidad marginal hasta que el va-
lor real los dos polos no cancelados coinciden en un punto
equidistante, si k
r
continua aumentado la parte imagina-
ria de estos polos crece, hasta que la magnitud de ambos
polos revaza la zona de estabilidad marginal.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
La funci on de transferencia de lazo cerrado (3.111) tiene un cero nito en 1; polos en: 1, 1, 0.7038. El cero
nito cancela el polo inestable -1. El efecto de la ganancia de retroalimentacion es atrer a los polos localizados en 1 y
0.7038, hasta que ambos toman el valor de 0.8519, al seguir aumentado el valor de k
r
la parte imaginaria de estos polos
crecen de forma simetrica, hasta que su magnitud llega a la zona de estabilidad marginal (fontera del crculo unitario).
De lo anterior se concluye que retroalimentado la salida de posicion del motor se puede compensar el sistema.
El sistema es identicado en lazo cerrado. El valor de constante de retroalimentacion es: k
r
= 1. La red neuronal
utilizada es una RNRE con una entrada, una salida y cinco nodos ocultos (1, 5, 1). La funci on de activaci on en la capa
oculta es la funci on tanh, con una ganancia k
1
= 10, y una pendiente k
1
/k
2
= 1, ver seccion 2.10 . La funci on de
activacion en la capa de salida es la funci on identidad.
Los parametros de aprendizaje de la red neuronal se divide en dos grupos. Para la capa de salida las tasas de
aprendizaje son: y = 0.1. Para la capa de entrada y la capa oculta estos parametros son: y = 0.01.
80 JMFA
Captulo 3. Identicaci on de Sistemas 3.6. Identicaci on de Sistemas Utilizando RNRE
Para lmitar el tiempo de entrenamiento de la red neuronal, se van decreciendo en forma exponencial los parametros
de aprendizaje. El entrenamiento se limita a 60 segundos, para esto, el factor de decrecimiento exponencial es: e
1/8kTs
.
El experimento se realiza con un tiempo de muestreo de T
s
= 0.001s. En la fase de entrenamiento se utiliza como
se nal de entrada al sistema retroalimentado una combinacion de funciones senoidales de diferentes frecuencias:
v(k) = sen(kT
s
) + 1/3 sen(0.5kT
s
) + 1/6 sen(0.25kT
s
). (3.112)
En la gura 3.26 estan las gracas del proceso de identicacion. En gura 3.26.a se muestra la comparaci on
de la respuesta en posicion del sistema en lazo cerrado del motor (lnea discontinua) y la salida de la RNRE (lnea
continua), notar que la respuesta de la RNRE se ajusta desde el principio del entrenamiento a la respuesta del sistema.
En gura 3.26.c estan los parametros de la capa de retroalimentacion, J, de la RNRE, la variacion que se nota en ellos
es por la operacion de la ley de ajuste.
Para probar la operacion de la red neuronal, al nal la fase de entrenamiento, se cambio la se nal de entrada al sistema
despues de terminados los 60 segundos que dura el entrenamiento. De poca utilidad sera la red neuronal si el algoritmo
de entrenamiento no pudiese hallar un conjunto de pesos en la red que reprodujera con cierto grado de precisi on a la
respuesta del sistema. La se nal usada en la fase de generalizacion es:
v(k) =
_

_
9/5 60 < kT
s
65
+2 sen(1/4kT
s
) 65 < kT
s
80
+9/5 80 < kT
s
85
9/5 85 < kT
s
90
+9/5 90 < kT
s
95
(3.113)
En la gura 3.26.b,d se presentan los resultados de la prueba de generalizacion del modelo del motor de cc.
Comparando la respuesta de la red y de la posicion del motor de cc., ver gura 3.26.b, la respuesta de la RNRE es
una buena aproximacion del sistema. Notar en la gura 3.26.b, que en la fase de generalizacion los pesos de la red se
mantienen constantes. El valor de todos los pesos al nal del algoritmo de ajuste se listan en la tabla 3.6.5
B J C
0.207594 0.0171 0.627222
-0.195513 0.0161 -0.590573
-0.292083 0.0343 -0.888135
0.031599 0.0007 0.094925
-0.385518 0.0629 -1.185807
Tabla 3.6: Par ametros de una RNRE-
Identicaci on de un Motor en tiempo real.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 81
3.6. Identicaci on de Sistemas Utilizando RNRE Captulo 3. Identicaci on de Sistemas
0 5 10 15
8
6
4
2
0
2
4
6
8
Identificacin tiempo real Motor de cc (Entrenamiento)
P
o
s
i
c
i

n
(
R
a
d
)
(a) s
60 65 70 75 80 85 90 95 100 105 110
8
6
4
2
0
2
4
6
8
Identificacin tiempo real Motor de cc (Generalizacin)
P
o
s
i
c
i

n
(
R
a
d
)
(b) s
0 5 10 15
0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
Identificacin tiempo real Motor de cc: Parmetros J (Entrenamiento)
(c) s
60 65 70 75 80 85 90 95 100 105 110
0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
Identificacin tiempo real Motor de cc: Parmetros J (Generalizacin)
(d) s
Figura 3.26: Identicaci on en tiempo real de un motor de cc. a) Comparacion de las respuestas en la fase de
generalizacion entre el sistema (lnea discontinua) y la RN en lazo abierto (lnea continua). b) Lo mismo, pero
la RN operando en lazo cerrado. c) Par ametros J en la fase de entrenamiento. d) Par ametros J en la fase de
generalizacion.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En esta seccion se utilizo el prototipo de control de tiempo real del apendice E, este es un ejemplo del uso de una
RNRE para la identicacion en lnea. El algoritmo de entrenamiento de la RNRE, presentado en el captulo 2, no necesita
de demasidos recursos de computo, as que es posible utilizarlo en procesos donde hay una continua actualizaci on de los
datos.
82 JMFA
Captulo 3. Identicaci on de Sistemas 3.6. Identicaci on de Sistemas Utilizando RNRE
Identicaci on M ultimodelo en Tiempo Real de un motor de cc.
El esquema de identicacion m ultimodelo consiste en separar regiones de operacion del sistema y en cada una de
estas utilizar una RNRE para reproducir la respuesta del sistema identicado. En esta seccion se aplica este esquema
m ultimodelo para el prototipo experimental.
La operacion del sistema se divide en dos regiones: una para las se nales positivas; y la otra para las negativas.
---------------Regla 1 ---------------- | ---------------Regla 2 ---------------- %
R1:IF Theta1(k) IS >0 AND v(k) Is >0 THEN | R2: IF Theta2(k) IS <0 AND v(k) Is <0 THEN %
x1(k+1)=G1[J1*x(k)+B1*v(k)]; | x2(k+1)=G1[J2*x2(k)+B2*v(k)]; %
Theta1(k)=C1*G2(x1(k)). | Theta2(k)=C2*G2(x(k)), %
--------------------------------------- | --------------------------------------- %
El sistema es identicado en lazo cerrado. La estructura de ambas redes es la misma. Las redes neuronales tienen
una entrada, una salida y cuatro nodos ocultos: 1, 4, 1.
La funci on de activacion en la capa oculta es tanh; para la salida se usa la funci on identidad.
Los parametros de aprendizaje para la capa oculta son y = 0.01; y para la capa de salida son y = 0.1. El valor
de estos parametros van decreciendo de forma exponencial con el factor e
1/8kTs
. T
s
= 0.001 es el tiempo de muestreo.
La fase de entrenamiento tiene una duraci on de 60 segundos. En las guras 3.27-3.28. Se presentan los resultados
del proceso de identicacion del esquema m ultimodelo. La se nal de entrada es (3.112)
Al terminar el entrenamiento los pesos de las RNRE se mantiene constantes. En la tabla 3.7 se listan los valores de
los pesos para estas redes.
B1 J1 C1 B2 J2 C2
0.057693 0.001541 0.566252 -0.060084 0.002091 -0.596148
0.299623 0.042646 2.976411 -0.176761 0.015958 -1.761057
-0.046639 0.000764 -0.457629 -0.190323 0.019237 -1.898322
-0.056593 0.001891 -0.555556 -0.163603 0.012665 -1.628012
Tabla 3.7: Par ametros de una RNRE-Identicaci on de un Motor en
tiempo real.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En la prueba en la fase de generalizacion de las redes usan la se nal (3.113)
En los experimentos realizados con una y dos RNREs se observa que en la fase de generalizacion la respuesta de
las redes neuronales no reproduce los efectos de alta frecuencia que se generan cuando hay una variaci on rapida de la
entrada. Esto es de esperarse porque en la fase de generalizacion estos modos de alta frecuencia no fueron exitados.
De esto se puede concluir que la seleccion de la se nal de entrenamiento es importante debido a que de esta depende la
informacion que se pueda extraer del sistema y; por tanto, del rango de utilidad del modelo de identicaci on (recordar el
concepto de exitacion persistente).
JMFA 83
3.6. Identicaci on de Sistemas Utilizando RNRE Captulo 3. Identicaci on de Sistemas
0 5 10 15
8
6
4
2
0
2
4
6
8
Identificacin MultiModelo tiempo real (Entrenamiento +)
P
o
s
i
c
i

n
(
R
a
d
)
(a) s
60 65 70 75 80 85 90 95 100 105 110
8
6
4
2
0
2
4
6
8
Identificacin MultiModelo tiempo real (Generalizacin +)
P
o
s
i
c
i

n
(
R
a
d
)
(b) s
0 5 10 15
0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
Identificacin tiempo real Motor de cc: Parmetros J (Entrenamiento +)
(c) s
60 65 70 75 80 85 90 95 100 105 110
0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
Identificacin tiempo real Motor de cc: Parmetros J (Generalizacin +)
(d) s
Figura 3.27: Identicaci on en tiempo real de un motor de cc. a) Comparacion de las respuestas en la fase de
generalizacion entre el sistema (lnea a trazos) y la RNRE
+
en lazo abierto (lnea continua). b) Lo mismo, pero
la RNRE
+
operando en lazo cerrado. c) Par ametros J en la fase de entrenamiento. d) Par ametros J en la fase de
generalizacion.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84 JMFA
Captulo 3. Identicaci on de Sistemas 3.6. Identicaci on de Sistemas Utilizando RNRE
0 5 10 15
8
6
4
2
0
2
4
6
8
Identificacin MultiModelo tiempo real (Entrenamiento )
P
o
s
i
c
i

n
(
R
a
d
)
(a) s
60 65 70 75 80 85 90 95 100 105 110
8
6
4
2
0
2
4
6
8
Identificacin MultiModelo tiempo real (Generalizacin )
P
o
s
i
c
i

n
(
R
a
d
)
(b) s
0 5 10 15
0.01
0.005
0
0.005
0.01
0.015
0.02
0.025
0.03
Identificacin tiempo real Motor de cc: Parmetros J (Entrenamiento )
(c) s
60 65 70 75 80 85 90 95 100 105 110
0.01
0.005
0
0.005
0.01
0.015
0.02
0.025
0.03
Identificacin tiempo real Motor de cc: Parmetros J (Generalizacin )
(d) s
Figura 3.28: Identicaci on en tiempo real de un motor de cc. a) Comparacion de las respuestas en la fase de
generalizacion entre el sistema (lnea a trazos) y la RN

en lazo abierto (lnea continua). b) Lo mismo, pero la


RNRE

operando en lazo cerrado. c) Par ametros J en la fase de entrenamiento. d) Par ametros J en la fase de
generalizacion.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 85
3.7. Complejidad Computacional Captulo 3. Identicaci on de Sistemas
3.7. Complejidad Computacional
Las redes neuronales estan construidas por arreglos de elementos de calculo simples. La capacidad de representaci on de
relaciones entre variables depende de los pesos que interconectan a estos elementos de calculo, as como de la organizaci on
de la transferencia de la informacion interna en la red. La estructura de las redes neuronales tienen como caracterstica
importante de ser estructuras de transferencia de informacion paralela, esto signica que la operacion de cada uno de
los nodos en la red es independiente de todos los demas, en cada instante de tiempo cada nodo o neurona, responde al
grupo de se nales de su entrada, produciendo, en consecuencia, una respuesta. Esta transferencia paralela de informaci on
permite pensar en la implementacion de las redes neuronales por medio de dispositivos de procesamiento individuales,
cada uno siendo un nodo de la red, con sus terminales de entrada y salida. Estos dispositivos no necesitan de una gran
cantidad de memoria, ni de realizar operaciones complejas; es suciente que puedan calcular la suma ponderada de sus
entradas y realizar una transformacion no lineal sobre esta suma. Esta implementacion se beneciara de la transferencia
paralela de informacion en la red.
Sin embargo, todava se utilizan computadoras digitales de un sol o procesador y con una estructura de memoria de
tipo Von Neumann (memoria unicada) o Harvard (memoria de datos e instrucciones independientes). As hay un lmite
en la cantidad de operaciones de punto otante (op: otating operation) se realizan por unidad de tiempo (Notar una
maquina de procesamiento distribuido no tendra este problema). La cantidad de operaciones para la ejecuci on de una
red neuronal sera importante para determinar si la tarea puede resolverse en lnea, o si es mejor que sea un proceso por
lote.
Para una red neuronal de capas m ultiples con n
0
entradas, n
1
nodos en la capa oculta, y n
2
nodos en la salida, es
decir:
y = W
2
[W
1
x] , (3.114)
en donde W
1
R
n1n0
, W
2
R
n2n1
, y R
n2
, x R
n0
y es la funci on de activacion. Si se desprecia el tiempo
para hacer el mapeo , la cantidad de operaciones de punto otante se debe a los productos matriz vector, el n umero
de operaciones es igual a 2n
2
n
1
+ 2n
1
n
0
.
Y en el caso de una RNRE con m entradas, n nodos ocultos y p salidas. Sus ecuaciones son:
x(k + 1) = Jx(k) +Bu(k); (3.115)
z(k) = [x(k)] ; (3.116)
y(k) = Cx(k), (3.117)
en donde B R
nm
, J R
n
, C R
pn
, u R
m
, x R
n
, y R
p
y es la funci on de activacion. La cantidad de
operaciones de punto otante es igual a: 2pn +n + 2nm.
Si se supone que la dimension de la entrada, la capa oculta y la salida en ambas redes es la misma, es claro que
el n umero de operaciones de punto otante para la RNRE es n veces mayor que para el caso de una red neuronal de
m ultiples capas, n umero, que para la mayora de los casos, es despreciable.
Pero como se ha notado en los ejemplos presentados. La redes neuronales de m ultiples capas en tareas de identicaci on
de sistemas se entrenan en una conguraci on serie-paralelo, esto hace que la dimension de entrada es mayor que el
requerido por una RNRE en un esquema de entrenamiento paralelo. Por cada entrada adicional en una red neuronal
recurrente de m ultiples capas el n umero de operaciones de punto otante aumenta en n(2i 1) donde i es la cantidad
de entradas adicionales (n
o
m), y n es el n umero de nodos en las capas ocultas en las dos redes.
Por lo general , el n umero de nodos en la capa oculta es mayor en una red de m ultiples capas que en una RNRE. En
el caso de que la dimension de entrada y salida sea el mismo. Por cada incremento de un nodo en la capa oculta en una
red neuronal de m ultiples capas, la cantidad de operaciones de punto otante es 2pi + 2im n mayor al utilizado por
una RNRE.
Por lo anterior, una RNRE utiliza un menor n umero de recursos en comparacion de una red neuronal de m ultiples
capas.
86 JMFA
Captulo 3. Identicaci on de Sistemas 3.8. Conclusiones
3.8. Conclusiones
Los algoritmos de identicacion de tipo proyeccion o mnimos cuadrados se basan en la suposi on de que el sistema
puede representarse como una estructura lneal en los parametros. Por medio de ciertas condiciones sobre la entrada del
sistema se prueba que los parametros estimados por el algoritmo convergen a los reales. Para el caso de sistemas que no
son de parametros lineales este tipo de algoritmos no son adecuados.
Las redes neuronales son una alternativa para la identicacion de sistema. Aprovechando la informaci on que sobre la
estructura del sistema se tenga, se puede hacer que una red neuronal apr oxime la relaciones no lineales de un sistema y
que forme parte de un esquema de identicacion.
Las redes neuronales se les divide en dos clases: en redes estaticas y dinamicas. Las redes estaticas aproximan relaciones
no lineales entre variables. Las redes neuronales dinamicas son estructuras en donde su respuesta depende de la evoluci on
en el tiempo de variables de estado. De modo que las redes neuronales dinamicas se consideran sistemas dinamicos con
parametros ajustables, y por tanto se utilizan como modelos de identicacion de sistemas.
En este captulo se ha presentado el modelo de RNRE como una alternativa para la identicacion de sistemas no
lineales. En los ejemplos de identicacion dados se han usado RNRE con estructuras mas sencillas en comparaci on a las
que se han necesitado con redes estaticas. La RNRE es una red dinamica esto permite que pueda usarse como un modelo
de identicacion por si mismo, es decir, que no requiere estar incluido dentro de una estructura.
En la tabla 3.8 se comparan las estructuras y desempe nos de una red neuronal estatica y una del tipo RNRE.
Mod. lineal Mod. No lineal Red Neuronal Arquitectura No.

Epocas EMC-Ent EMC-Gen
* Estatica 4, 10, 1 350 0.6 0.0140
* RNRE 1, 5, 1 4 44.9275 0.0369
* Estatica 5, 10, 1 30 0.0002 0.0008
* RNRE 1, 5, 1 3 0.0020 0.0002
Tabla 3.8: Desempe no entre una RN est atica y una RNRE. Se comparan los desempe nos de una red
neuronal estatica y una RNRE en los ejemplos de identicaci on. Con una estructura y un n umero de
epocas de entrenamiento menor la RNRE logran rendimientos similares a los de una red neuronal est atica.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De esta tabla se puede observar que para el mismo problema de identicacion la RNRE tiene una estructura mas
sencilla y menor n umero de epocas de entrenamiento para obtener un desempe no similar a los alcanzados por la red
neuronal estatica.
El modelo de RNRE es una estructura cuasi lineal, en variables de estado. Este modelo de red neuronal es naturalmente
un sistema que puede trabajar con varias entradas y varias salidas. Estas caractersticas lmitan el tipo de sistemas en
donde pueden ser usadas. Por eso se presento un esquema de identicacion m ultimodelo, en donde se propone dividir la
respuesta de un sistema complejo en zonas, y en cada una de ellas utilizar una RNRE, estas zonas deberan poder ser
representadas como sistemas cuasi lineales. La respuesta nal del sistema consiste en una coordinacion de los submodelos
generados.
En los ejemplos de identicacion que se presentaron se noto que en los casos donde se utilizaron redes neuronales,
durante la fase de entrenamiento de la red, se puede lograr que la salida de la red siga a la salida de la planta, pero a un
sucediendo esto, no es suciente para que la red haya asimilado la respuesta del sistema. Se requiere que el entrenamiento
se realize durante mas tiempo para lograr que la red reproduzca la relacion entre las variables del sistema, ademas se
debe tener precaucion con el sobreentrenamiento porque esto provoca una deterioro del desempe no de la red neuronal.
Es importante seleccionar los datos de entrenamiento en funci on del rango de operacion que se desee, debido a que
de este conjunto de datos depende la informaci on que sobre el sistema se le proporcione al modelo de identicaci on.
El modelo de RNRE que se ha presentado muestra que es capaz de servir como modelo de identicaci on de sistemas
no lineales, y con este antecedente en el captulo 4 se mostraran algunos esquemas en donde se puede usar para el control
de sistemas.
JMFA 87
3.8. Conclusiones Captulo 3. Identicaci on de Sistemas
88 JMFA
Captulo 4
Control de Sistemas
Un rasgo que se puede observar en la naturaleza es la tendencia de preservar y dispersar entre las especies aquellas
estructuras que les han sido utiles para conservarlas vivas en su ambiente. Es por esto que desde los insectos hasta la
especie humana la naturaleza se ha encargado de conservar a las neuronas como los elementos basicos que forman al
sistema de procesamiento de la informacion (sistema nervioso central y periferico); por supuesto, que en las especies
menos evolucionadas se utilizan otros tipo de mecanismos para la transmision de informacion, pero estos son menos
ecientes y lmitados; por ejemplo, en los girasoles hay sensores de luz y temperatura que accionan las bras en sus tallos
haciendolas girar en la direccion de la fuente de calor (Heliotropismo), pero este mecanismo difcilmente sera de utilidad
para organismos mas complejos.
Al ser vistas individualmente, las neuronas son elementos simples que resuelven la necesidad que tienen los organismos
de reaccionar a eventos externos por medio de un proceso de transmision de informacion. Las neuronas son el vnculo
entre los elementos sensores y efectores de los organismos. Pero a un mas, las neuronas pueden procesar las se nales y
transformarlas de manera que el efecto de una se nal sobre un sensor produzca una respuesta muy compleja en los efectores
asociados al sistema, por medio de la integracion de otras condiciones para determinar la respuesta mas adecuada al
estmulo.
La forma en que las redes de neuronas responden se puede dividir en dos tipos. En el primero la respuesta esta pre-
determinada, esto es debido a miles de a nos de evolucion, una condici on exterior dispara una bien denida reacci on;
por ejemplo, los actos reejos en los organismos. El otro tipo de reacciones son aquellas que se adquieren por condi-
cionamiento o aprendizaje; por ejemplo, en los experimentos del siologo ruso, Ivan Petrovich Pavlov (1849-1936, premio
Novel de Medicina en 1904) describi o el reejo condicionado, donde en uno de sus experimentos la acci on de salivaci on
de un perro se condiciona al ta nir de una campana.
Es interesante notar que entre mas evolucionado es un organismo, la naturaleza se ha ido hacia aumentar la capacidad
de estos de aprender por ellos mismos las acciones que le son de benecio; dejando las tareas mon otonas de mantenimiento
de la vida (homeostasis) a las acciones aut onomas.
Es sorprendente las capacidades que muestran los seres vivos con sistema nervioso central. Como ejemplo esta la
locomocion (habilidad para transladarse en busca de condiciones adecuadas para la supervivencia). La coordinaci on de
movimiento de las extremidades y su forma de interaccion con el trayecto implica la existencia de un sistema de mando
(control) que supervice la relacion entre la posicion de las extremidades, la condici on del camino y el lugar de destino.
Y todo lo anterior esta concentrado en redes de neuronas. En los insectos esta tarea es realizada por un relativamente
reducido n umero de neuronas, no obstante, resulta una tarea complicada de comprender y de reproducir.
As que las redes neuronales son un medio para generar o resolver los problemas de coordinacion y control de se nales.
Pero a diferencia de los problemas de identicacion, en donde se tiene al menos un conjunto de datos de entrada y salida
para ajustar a la red neuronal; en los problemas de control, por lo general, se desconoce el valor de la se nal de control
por anticipado, s olo se tiene el valor de referencia y la condici on actual del sistema, y el problema consiste en utilizar
la informacion disponible para generar la se nal de control que modique el comportamiento de la planta de la forma
deseada.
Las redes neuronales articiales, como se ha visto, se inspiran en las estructuras biol ogicas. As que resulta un tema
interesante estudiar la utilizacion de las redes neuronales articiales para los problemas de control. Se busca con esto dar
89
4.1. Redes Neuronales en el Control de Sistemas Captulo 4. Control de Sistemas
a los sistemas cierta capacidad de adaptacion y robustes en su operacion. Por supuesto, que muchos de los esquemas
de control tienen como origen la adaptacion de la teora de control a la utilizacion de las redes neuronales articiales,
proceso que puede cuestionar su aplicacion, pero como en toda tecnologa en progreso, a medida que vaya madurando
ira tomando su lugar en el repertorio de herramientas de los tecn ologos.
4.1. Redes Neuronales en el Control de Sistemas
En los problemas de control de sistemas se buscan formas de alterar su comportamiento natural, de manera que su
respuesta cumpla con criterios de desempe no deseados. Por lo general, la soluci on de un problema de control sigue un
proceso de sntesis. Este proceso consiste en el dise no de un subsistema (controlador) que utiliza la informaci on disponible
del sistema controlado (planta) con el objetivo de que el sistema controlador-planta se comporte de la forma deseada. El
proceso de sntesis principia con el analisis de la planta. El objetivo del analisis de la planta es la de obtener un modelo.
Es muy importante este paso debido a que de este modelo del sistema depende el tipo de herramientas de sntesis que
se van a usar para dise nar el controlador.
Por lo presentado en el captulo 3, las redes neuronales son una opcion para generar modelos de sistemas. Desde
el punto de vista termodinamico, un sistema es una coleccion de elementos logicamente interrelacionados por alg un
principio o ley, ver referencia [50]. Los sistemas de interes son los denominados abiertos, es decir, que son aquellos donde
se identica una entrada y una salida, relacionada una a la otra por una ley. En los problemas de control se considera
que el sistema a controlar existe, y se requiere hacer un modelo de el; este modelo debe reejar la relacion que hay entre
sus variables mas signicativas.
Haciendo uso de las estructuras de redes neuronales que se han presentado, se dividen en tres tipos los modelos que
se obtienen por medio de redes neuronales. El primer modelo considera que la relacion entre las variables de entrada
y salida puede ser interpretada por un mapeo lineal, o no lineal, este es un modelo funcional del sistema. Por lo visto
anteriormente, las redes neuronales de m ultiples capas o por funciones radiales basicas son adecuadas para este tipo de
representacion. En el segundo tipo de modelo, la respuesta esta denida por una funci on que depende de los valores
pasados de entrada y de salida (auto-regressive moving average). En las referencias [8, 10] se utiliza la red neuronal
de m ultiples capas para el modelado de sistemas dinamicos, en donde se propone utilizar a las redes neuronales para
aproximar las relaciones no lineales de las variables, separando as la parte lineal que se supone conocida. Para ajustar los
pesos de la red neuronal se utiliza el algoritmo de retropropagacion del error, que en el caso de que exista una dinamica
lineal que siga a la red neuronal, el algoritmo retropropaga el error de modelado a traves de la funci on de transferencia de
la dinamica lineal, esto generaliza el algoritmo de aprendizaje llamandolo de retropropagacion dinamico. El tercer modelo
utiliza la representacion en variables de estado del sistema. En los dos primeros modelos el objetivo de la red neuronal
fue la aproximacion de la relacion funcional entre las variables; pero en la representacion en variables de estado, las redes
neuronales requieren que se incluya un lazo de retroalimentacion de las variables de estado. Como se ha sugerido, la red
neuronal recurrente entrenable (RNRE) es adecuada para este tipo de tareas, ver captulo 2. Otra opcion se presenta en
la referencia [52], en donde se propone utilizar dos redes neuronales de m ultiples capas para el modelado de un sistema
en una representacion de variables de estado, se utiliza una red para modelar la funci on de salida del sistema que recibe
como se nal de entrada la respuesta de otra red que genera los estados del modelo, los estados son retardados para que
en la siguiente iteracion estos formen parte de la entrada de la red de estados, junto con las se nales externas de entrada.
Una vez que se ha obtenido el modelo de la planta, va a depender de este modelo y de los requerimientos de
desempe no, el tipo de esquema que se dise ne para manejar al sistema. Pero en el caso de la aplicaci on de las redes
neuronales tambien tiene importancia la manera en que se utiliza la informacion disponible para modicar los pesos de
la red, es decir, del modelo de aprendizaje usado (ver captulo 1, seccion 1.2.4).
As que hay esquemas de control que utilizan el modelo de aprendizaje supervisado, en el que se supone que hay
un conjunto de datos para entrenar a la red; en otros, se utiliza el modelo no supervisado, en donde de forma indirecta
se obtiene la informacion y para el caso del modelo reforzado, la red neuronal no tiene informacion de su efecto sobre
la planta durante varios perodos, por lo general, s olo se cuenta de una retroalimentacion de tipo existo/falla, as que
es necesario evaluar el efecto retardado de cierta accion para cada estado transcurrido del sistema, y reforzar aquellas
acciones que representan una mejora en el desempe no del sistema, dilatando progresivamente la ocurrencia de falla en
el sistema.
En las siguientes secciones se describen algunos esquemas de control basados en redes neuronales y particularmente
la aplicacion del modelo de RNRE para este tipo de tareas.
90 JMFA
Captulo 4. Control de Sistemas 4.2. Modelado de controlador
4.2. Modelado de controlador
Este esquema de control utiliza el modelo de aprendizaje supervisado. La informacion para el ajuste de los pesos de la
red neuronal se obtiene de un controlador que se supone disponible. El controlador puede ser uno calculado por metodos
clasicos o de un operador humano. Notar que es posible utilizar informacion no convencional en la operaci on de la red
neuronal. En la gura 4.1 puede observarse un esquema de la fase de entrenamiento y de operacion de la red neuronal.
La funci on de la red neuronal es modelar el sistema de control original para sustituirlo.
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
Controlador
r
e
f
e
r
e
n
c
i
a
interface
i
n
t
e
r
f
a
c
e
Planta
Datos
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
Algoritmo
de ajuste
Ajuste
e
r
r
o
r
-
+
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
Planta
Datos
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
(a) (b)
Figura 4.1: Esquema de control por modelado de controlador. (a) Fase de entrenamiento de la red neuronal por
medio de la informacion obtenida por el control existente. (b) Fase de operacion de la red neuronal como controlador.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Para elegir el tipo de red neuronal (estatica o dinamica) se debe estudiar la estructura del controlador existente. Y
tambien es recomendable entrenar a la red con datos del controlador en la zona de operacion en el que vaya a funcionar
la red neuronal.
Ejemplo 4.1 En este ejemplo se utiliza una red neuronal de m ultiples capas para modelar un control de tipo Proporcional
Integral Derivativo (E.4):
u(k) = K
p
[e(k) e(k 1)] +K
i
T
s
e(k) +
K
d
T
s
[e(k) 2e(k 1) +e(k 2)] +u(k 1),
usado para controlar el modelo discreto de un motor de corriente directa (C.54):

m
(k + 1) = 703.922 10
3

m
(k) + 999.725 10
3

m
(k 1) 703.648 10
3

m
(k 2)
+53.038 10
3
[e
a
(k 1) +e
a
(k 2)] [rad].
El programa para el entrenamiento de la red se encuentra en el apendice B, pagina 180 . La red utilizada tiene una
conguraci on de cinco entradas, seis nodos ocultos no lineales (tanh) y una salida, 5, 6, 1. La capa de salida y oculta
tienen entradas independientes, o bias. El algoritmo para ajustar los pesos es de tipo retropropagacion del error. Los
ndices de aprendizaje son: y = 0.0001. Ver el programa B.12.
En este primer esquema de control. Se utiliza la informacion proveniente de un controlador existente para generar
la informacion de entrenamiento de la red neuronal. En la gura 4.2, se observa que para este ejemplo el ujo se
informacion entre el controlador PID y la red neuronal es de tipo serie-paralelo. El vector de entrada esta formardo por:
p(k) = [u(k 1), u(k 2), e(k), e(k 1), e(k 2)]
T
, este vector se selecciona porque se integra de los elementos que
el control PID utiliza (excepto por u(k 2) que no es utilizado en (E.4), pero que bien puede incorporarse como otro
elemento de entrada a la RN). Notar que la entrada a la red neuronal se compone de dos sucesiones dependientes: e
JMFA 91
4.2. Modelado de controlador Captulo 4. Control de Sistemas
y u. De manera que la tarea del algoritmo de aprendizaje es la de ajustar los pesos de la red para que con base en la
informacion de estas dos secesiones se aproxime la salida de la red neuronal al valor siguiente de control u(k).
El entrenamiento debe realizarse expandiendo los datos del controlador PID en el rango de operaci on que se desea
para la red neuronal.
En la gura 4.2 se debe notar que durante el entrenamiento la red neuronal opera en lazo abierto, es decir, que no
hay retroalimentacion de la salida de red hacia las capas interiores. Sin embargo, cuando se sustituye al control PID por
la red neuronal, se cierra el lazo en la red neuronal al momento de retroalimentar los dos primeros retardos del valor
estimado del control actual producido por la red neuronal para completar el vector de entrada. As que la red neuronal
se ha entrenado como un sistema estatico, pero se hace trabajar como un sistema dinamico.
Modelo Motor
( ) k
u(k)

z
-1
z
-1
e(k)
W2 W1
z
-1
z
-1
tanh
tanh
tanh
tanh
tanh
tanh
1

1
1
u(k)
-
+
r( ) k
u(k)

z
-1
z
-1
e(k)
W2 W1
z
-1
z
-1
tanh
tanh
tanh
tanh
tanh
tanh
1

1
1
Controlador
PID
-
+
-
+
r( ) k e( ) k
Modelo Motor
u(k)
^
( ) k
Backpropagation
u(k)
(a) (b)
Figura 4.2: Ejemplo del esquema por modelado de controlador. (a) Entrenamiento de la red neuronal (conguraci on
serie-paralelo). (b) Sustituci on del control convencional por la red neuronal.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En la gura 4.3, se presentan los resultados del entrenamiento de la red neuronal. Para este ejemplo las constantes
del controlador PID son: Kp = 0.4, Kd = 0, y Ki = 0.05. El tiempo de muestreo es Ts = 0.005 Seg. La se nal de
entrenamiento se genera al aplicar como referencia al sistema controlado por el PID una se nal cuadrada con amplitud
variable, que se simula durante 10 segundos, y en cien epocas. Terminado el entrenamiento se sustituye el control PID
por la red neuronal y se cierra el lazo. En la graca de la gura 4.3. a se compara el comportamiento en posici on del
motor controlado por el PID, y por la red neuronal, se observa que en este ejemplo, la red neuronal tiene practicamente
el mismo tiempo de alcance que el obtenido por el controlador PID, s olo hay un retardo de la red neuronal durante el
transitorio. En la gura 4.3. b se comparan los errores de control resultantes del uso de estos dos controladores, su
comportamiento es muy parecido, pero se nota que el error de la red neuronal en la etapa estacionaria es de menor
magnitud. En gura 4.3. c estan las se nales de control generadas por ambos controladores, aqu algo interesante es que
la magnitud del control en el estado transitorio es menos demandante comparada con la del PID. En la gura 4.3. d,
e, f se observa el caso para una referencia sinusoidal.

92 JMFA
Captulo 4. Control de Sistemas 4.2. Modelado de controlador
0 1 2 3 4 5 6
0.2
0
0.2
0.4
0.6
0.8
1
1.2
Seguimiento (a)
Seg.
R
a
d
.
Referencia
PID
RN ..
0 1 2 3 4 5 6
1.5
1
0.5
0
0.5
1
1.5
Seguimiento (d)
Seg.
R
a
d
.
Referencia
PID
RN ..
0 1 2 3 4 5 6
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Error de Control (b)
Seg.
R
a
d
.
PID
RN
0 1 2 3 4 5 6
0.1
0.05
0
0.05
0.1
0.15
Error de Control (e)
Seg.
R
a
d
.
PID
RN
0 1 2 3 4 5 6
0.5
0.4
0.3
0.2
0.1
0
0.1
0.2
0.3
0.4
0.5
Seal de Control (c)
Seg.
V
o
l
t
.
PID
RN
0 1 2 3 4 5 6
0.06
0.04
0.02
0
0.02
0.04
0.06
Seal de Control (f)
Seg.
V
o
l
t
.
PID
RN
Figura 4.3: Resultados del esquema de modelado de controlador. a) Comparacion de la respuesta en posici on del
motor controlado por el PID y por la red neuronal (referencia cuadrada). b) Comparacion entre las se nales de error.
c) Comparacion entre las se nales de control. d) Comparacion de la respuesta en posici on del motor controlado por
el PID y por la red neuronal (referencia sinusoidal). e) Comparacion entre las se nales de error. f ) Comparaci on
entre las se nales de control.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 93
4.3. Control por modelo inverso Captulo 4. Control de Sistemas
La pregunta obvia sobre este esquema de control es:
Por que sustituir al controlador por una red neuronal?
Repuesta:
1. Porque durante el entrenamiento de la red neuronal se puede incorporar informacion no convencional que en los
modelos analticos no es facil de considerar.
2. Porque dado un apropiado conjunto de datos de entrenamiento, la red entrenada no s olo sera capaz de producir
las respuestas adecuadas para los datos de entrenamiento, sino que a un para lo datos fuera del conjunto de
entrenamiento, las procesara correctamente (generalizacion).
3. La red neuronal es tolerante a las perturbaciones, es decir, que si las se nales de la red estan afectadas por
perturbaciones, la respuesta no se ve alterada de forma catastroca.
4. Una vez entrenada la red neuronal, su operacion es muy rapida (estructura paralela), y existen circuitos integrados
disponibles en el mercado; por ejemplo: Siemens MA-16, Hughes M1718, ZISC36, etcetera.
4.3. Control por modelo inverso
Este esquema de control consiste en ajustar los parametros de la red neuronal para que reproduzca el modelo inverso
de la planta, y despues utilizarlo como un precompensador de la misma. De esta forma la relacion funcional entre la
entrada a la red y la salida de la planta es aproximadamente de uno a uno.
Pero antes de abordar el uso de las redes neuronales con este esquema de control se presenta sus bases en general.
Sea el caso de un sistema discreto de entrada y salida escalar. Se modela su comportamiento de la forma siguiente:
y(k) = F
(1)
[y(k 1), . . . , y(k n); u(k 1), . . . , u(k m)], (4.1)
en donde F
(1)
es una funci on suave y n y m son enteros positivos distintos de cero. Por lo general, n m. Entonces
(4.1) considera que el comportamiento actual del sistema depende de la respuesta y entrada en instantes anteriores.
La ventaja de usar la representacion discreta (4.1), es que permite ver la respuesta como una sucesion de datos. Por
lo que es sencillo modicar a (4.1) y obtener su forma predictor (ver la referencia [38], cap.4). La forma predictor de
(4.1) es:
y(k + 1) = F
(2)
[y(k), . . . , y(k n + 1); u(k), . . . , u(k m+ 1)], (4.2)
as que puede evaluarse la respuesta del sistema 1 paso adelante . En (4.2) notar que u(k) esta como argumento.
Identifquese a G como la funci on inversa de F
(2)
con respecto a u(k), es decir:
u(k) = G[y(k + 1), y(k), . . . , y(k n + 1); u(k 1), . . . , u(k m+ 1)]. (4.3)
El objetivo de control solicita que en el tiempo 1 , la respuesta del sistema sea igual a: y

(k + 1), manteniendose
y = y

en lo sucesivo. Esto es posible si en (4.3) se sustituye a y(k +1) por y

(k +1), y se utiliza como se nal de control


para el sistema (4.2).
Pero antes de resumir el control inverso...
94 JMFA
Captulo 4. Control de Sistemas 4.3. Control por modelo inverso
Que signica la invertibilidad del sistema (4.2)?
(Ver referencia [56]). Considerese un sistema gobernado por (4.2):
y(k + 1) = F
(2)
[y(k), . . . , y(k n + 1); u(k), . . . , u(k m+ 1)],
el sistema se dice que es invertible si para la funci on F
2
en [y(k), . . . , y(k n +1); u(k 1), . . . , u(k m+1)]
T
, existe
su funci on inversa con respecto a u(k).
La funci on inversa de F
2
en [y(k), . . . , y(k n + 1); u(k 1), . . . , u(k m+ 1)]
T
con respecto a u(k) existe si hay
un conjunto A R
n+m+1
tal que para todo [y(k), ..., y(k n + 1); u(k 1), . . . , u(k m + 1)]
T
A se cumple que
para cualquier par de entradas diferentes u
(1)
(k) y u
(2)
(k):
F
(2)
[y(k), . . . , y(k n + 1); u
(1)
(k), . . . , u(k m + 1)]
,=
F
(2)
[y(k), . . . , y(k n + 1); u
(2)
(k), . . . , u(k m+ 1)].
(4.4)
Se dice que el sistema (4.2) es singular en [y(k), . . . , y(k n + 1); u(k 1), . . . , u(k m + 1)]
T
A si existe al
menos un par de entradas diferentes u
1
(k) y u
2
(k), de modo que la salida resultante de F
(2)
es la misma:
F
(2)
[y(k), . . . , y(k n + 1); u
(1)
(k), . . . , u(k m + 1)]
=
F
(2)
[y(k), . . . , y(k n + 1); u
(2)
(k), . . . , u(k m+ 1)].
(4.5)
La proposicion 4.1 es de utilidad para determinar la invertibilidad de una funci on.
Proposici on 4.1 [56]. Si la funci on f[y(k), . . . , y(k n+1); u(k), . . . , u(k m+1)] es mon otona con respecto a u(k)
entonces el sistema es invertible en [y(k), . . . , y(k n + 1); u(k 1), . . . , u(k m+ 1)]
T
.
Prueba: Si la funci on f[y(k), . . . , y(k n+1); u(k), . . . , u(k m+1)] es mon otona con respecto a u(k), y u
(1)
(k) >
u
(2)
(k) entonces para el mismo punto [y(k), . . . , y(k n + 1); u(k 1), . . . , u(k m+ 1)]
T
, se cumple:
f[y(k), . . . , y(k n + 1); u
(1)
(k), . . . , u(k m+ 1)]
>
f[y(k), . . . , y(k n + 1); u
(2)
(k), . . . , u(k m + 1)].
Y de forma similiar, si u
(1)
(k) < u
(2)
(k)
f[y(k), . . . , y(k n + 1); u
(1)
(k), . . . , u(k m+ 1)]
<
f[y(k), . . . , y(k n + 1); u
(2)
(k), . . . , u(k m + 1)].
Por tanto el sistema es invertible.

El control inverso queda denido en la proposicion 4.2.


Proposici on 4.2 (Control Inverso One-Step Ahead) Sea el sistema (4.2):
y(k + 1) = F
(2)
[y(k), . . . , y(k n + 1); u(k), . . . , u(k m+ 1)],
en donde F
(2)
es una funci on suave.
Si la funci on F
(2)
tiene la inversa G con respecto a u(k). La ley de control:
u(k) = G[y

(k + 1), y(k), . . . , y(k n + 1); u(k 1), . . . , u(k m+ 1)], (4.6)


es tal que:
y(k) = y

(k) k 1. (4.7)
La ley de control (4.6) hace que en 1 pasos se cumpla con el objetivo de control (4.7).
JMFA 95
4.3. Control por modelo inverso Captulo 4. Control de Sistemas
Prueba: Si F
2
tiene inversa G con respecto a u(k), entonces se sustituye a (4.6) en F
2
:
y(k + 1) = y

(k + 1), (4.8)
as, que y(k) = y

(k) cuando k 1
De esta forma el esquema de control por modelo inverso requiere de la transformacion inversa con respecto a la
se nal de control. Como se ha visto es posible usar a las redes neuronales para sustituir a dicha transformaci on. Para este
objetivo se han propuesto dos metodos para obtener los datos de entrenamiento de la red neuronal.
z
-1
z
-1
z
-1
z
-1
z
-1
z
-1
z
-1
z
-1
z
-1
y(k-1)
y(k-1)
*
y(k)
y(k)
y(k-n+1)
u(k)
y(k) u(k)
u(k -m)
u(k -m)
y(k-n+1)
u(k)
Referencia
F(
.
)
G(
.
)
Figura 4.4: Control por modelo inverso. Esquema general del control por modelo inverso.
Metodo directo: [2]. En este esquema se aplica una se nal de exitacion a la planta. La salida de la planta se usa como
entrada a la red neuronal. La respuesta generada por la red neuronal se compara con la se nal de exitaci on y por
medio del algoritmo de entrenamiento se ajustan los pesos de la red para reducir la diferencia entre estas dos
se nales. Ver gura 4.5. a
El metodo directo tiene algunos inconvenientes:
1. Si la planta es un sistema no causal, o no esta bien denido (que distintas entradas produzcan la mis-
ma respuesta), la mayora de las redes neuronales y algoritmos de entrenamiento generan modelos inversos
incorrectos.
2. El esquema directo necesita que la se nal de exitacion de la planta expanda su respuesta en la zona de operaci on
deseada, pero si no se tiene informacion sobre la forma de responder de la planta, es muy difcil determinar
la se nal adecuada de exitacion para los objetivos de control. A lo anterior se dice que el esquema directo no
es orientado al objetivo.
3. El esquema de control no tiene retroalimentacion, debido a esto, los efectos no contemplados durante el
entrenamiento afectaran en su desempe no.
El primero de los puntos anteriores se relaciona a la existencia del modelo inverso de la planta. Es decir, que la
relacion entre las variables de salida con respecto a las variables de entrada de la planta no tenga ambig uedades.
El segundo punto tiene que ver con el concepto de exitacion persistente (ver seccion 3.3.4). Al no tener informaci on
previa sobre como exitar a la planta para obtener datos de entrenamiento que correspondan a la zona de operaci on
de interes, es necesario probar distintos tipos de se nales con el n de extraer suciente informaci on de la planta
para hallar la relacion entre la entrada y salida.
96 JMFA
Captulo 4. Control de Sistemas 4.3. Control por modelo inverso
Metodo especializado: [2]. La desventaja del metodo directo para obtener el modelo inverso del sistema es que no
puede ser entrenado de forma selectiva para que responda correctamente en la region de salida del sistema que es
de interes, debido a que normalmente no se sabe cual se nal de entrada corresponde a la salida deseada.
El metodo especializado genera los datos de entrenamiento de la red para la region de operacion deseada, esto
porque la red neuronal es alimentada directamente por la se nal de referencia. Ver gura 4.5. d. Entonces el error
se forma por la diferencia entre la se nal deseada y la respuesta de la planta (error de control) y con este se entrena
a la red neuronal para reducir su discrepancia. Por esto el metodo especializado se dice que es orientado al objetivo.
En el metodo especializado opcionalmente se puede utilizar otra red neuronal previamente entrenada para obtener
un modelo de la planta. As que en lugar de utilizar la salida de la planta para calcular el error del modelo inverso,
se utiliza la salida del modelo neuronal para medir este error. Se pueden citar dos razones para optar por usar un
modelo neuronal de la planta:
1. Si no se dispone del modelo matematico de la planta. Se puede utilizar un modelo neuronal y utilizarlo
para retropropagar el error de seguimiento a traves de esta red; y de esta forma, evaluar los gradientes de
salida. Recordar que una caracterstica de las redes neuronales es que son invertibles. Es decir, que dado un
determinado estado de la red (para un estmulo particular) es posible evaluar la sensibilidad entrada/salida, o
lo que es lo mismo hacer un analisis de sensibilidad (ver apendice F).
2. En el caso de que la salida de la planta sea ruidosa, es preferible utilizar la respuesta del modelo directo de
la planta en lugar de su salida real.
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
Algoritmo
de ajuste
Ajuste
e
r
r
o
r
Planta
Datos
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
-
+
s
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
Algoritmo
de ajuste
Ajuste
e
r
r
o
r
Planta
Datos
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s +
-
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
M
y
d
y
m
y
p
y
p
(a) (b)
Figura 4.5: Esquemas para la obtenci on del modelo inverso de un sistema. (a) Metodo directo. (b) Metodo
especializado.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ya que se tiene una buena aproximacion del modelo inverso de la planta, se puede utilizar este modelo neuronal
como controlador. En el metodo directo para la obtenci on del modelo inverso se propone usar a la red neuronal como
un precompensador de la planta, as se obtiene un control en lazo abierto (feedforward). De tal forma que si la planta
es un sistema estable, el modelo inverso tambien lo es, as como el sistema de control compuesto por la red neuronal y
la planta. Pero este esquema de control no compensa los cambios externos que afecten a la planta que no hayan sido
contemplados durante el entrenamiento del modelo inverso.
En el caso del metodo especializado se puede utilizar el mismo esquema de la gura 4.5. b para controlar a la planta.
Si se tiene un modelo de la planta se utiliza esta informacion para calcular la derivada de la salida de la red neuronal de
control con respecto el error de control y utilizar el algoritmo de ajuste para evaluar la correccion de los pesos de la red
neuronal. Si no se tiene el modelo matematico de la planta se utiliza otra red neuronal para modelar su comportamiento,
y durante el entrenamiento de la red de control se retropropaga el error de control a traves de este modelo directo de la
planta hasta la salida de la red de control, y con esta informacion se utiliza el algoritmo de entrenamiento de los pesos
de la red de control. Se puede obtener una version adaptable de este esquema de control si se permite que el algortimo
de ajuste se mantenga en operacion, de esta forma se logra un sistema de lazo cerrado, o retroalimentado, a traves del
algoritmo de aprendizaje.
JMFA 97
4.3. Control por modelo inverso Captulo 4. Control de Sistemas
Ejemplo 4.2 (Metodo directo) En el siguiente ejemplo se muestra el uso del metodo directo para la generar del
modelo inverso de un sistema. Como se ha explicado, el modelo inverso puede utilizarse como un precompensador, de
tal forma que cancela el efecto de la planta obteniendo una relacion aproximada de uno a uno entre la se nal de entrada
del precompensador y la respuesta de la planta. Este esquema carece de retroalimentacion, esto lo hace sensible a las
perturbaciones no consideradas.
Una aplicacion para este esquema se halla en el campo de la rob otica. En una cadena cinematica abierta la relaci on
que existe entre la posicion relativa de los eslabones y la posicion del punto nal en el espacio de trabajo se le conoce
como cinematica directa. En este tipo de cadenas se puede obtener la relacion entre las variables de articulaci on y las
del punto nal en el espacio de trabajo por medio de la geometra del mecanismo. Para la cadena que se muestra en la
gura 4.6 la relacion entre estas variables es la siguiente:
_
x
y
_
=
_
cos(
1
) + cos(
1
+
2
)
sen(
1
) + sen(
1
+
2
)
_
. (4.9)
Es evidente que la relacion entre la posicion de las articulaciones y la posicion del punto nal es no lineal.
Generalmente el objetivo de control de este tipo de mecanismos esta expresado en funci on de la posici on del punto
nal. De tal manera que es necesario determinar las posiciones de las articulaciones que corresponden a un punto en
el espacio de trabajo, es decir, se debe hallar la relacion inversa de (4.9). Puede encontrarse la forma analitica de este
mecanismo en [51]. Aqu se presenta la forma de entrenar una red neuronal de m ultiples capas para modelar la relaci on
inversa de (4.9).
1
2

2
-

1

2
-
Espacio
de
Trabajo
Figura 4.6: Descripci on de un mecanismo de dos eslabones. Izquierda: geometra del mecanismo. Derecha: area
de trabajo del mecanismo.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Para entrenar a la red neuronal primero se generan los datos para tal prop osito. El rango de las variables de articulaci on
es:
1
= 0, ...,
2
3
y
2
= , ..., 0, cada uno de estos conjuntos con 20 elementos. Del producto cartesiano,

1

2
se crean los argumentos de (4.9) y de esta forma se obtienen 400 pares (x, y). Entonces se tienen como datos
de entrenamiento: (
1
(k),
2
(k)) (x(k), y(k)); k = 1, . . . , 400.
Se selecciona como rango de las posiciones de las articulaciones entre:
1
= 0, ...,
2
3
y
2
= , ..., 0, porque de
esta manera se evita que para una misma posicion (x, y) corresponda mas de un par (
1
,
2
), eliminando ambig uedades.
(aun quedan las correspondientes a la posicion (0, 0)
x,y
).
La red usada tiene dos entradas, un primer nivel oculto con 25 nodos (neuronas), una segunda capa oculta de 25 nodos,
y la capa de salida con 2 nodos. La conguraci on es: 2, 25, 25, 2. Las tres capas tienen una entrada independiente. La
funci on de activacion de las capas ocultas es logsig, y en la capa de salida es la funci on identidad.
La relacion inversa entre las variables esta denida por: (x(k), y(k)) (
1
(k),
2
(k)). La red neuronal se entrena con
el algoritmo de retropropagacion del error. El error es igual a la diferencia: e(k) = ([
1
(k)
2
(k)]
T
[y
nn1
(k) y
nn2
(k)]
T
).
La funci on de desempe no es : E(k) =
1
2
e(k)
T
e(k). Los parametros de entrenamiento son: y = 0.01. Ver el programa
B.13, pagina 183.
98 JMFA
Captulo 4. Control de Sistemas 4.3. Control por modelo inverso
0
2
4
6 3
2
1
0
2
1
0
1
2

2
Cinemtica Directa: x

1
x
0
2
4
6 3
2
1
0
2
1
0
1
2

2
Cinemtica Directa: y

1
y
Figura 4.7: Cinem atica directa del mecanismo. Izquierda: coordenada x en funci on de los angulos
1
,
2
. Derecha:
coordenada y en funci on de los angulos
1
,
2
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En la gura 4.8. Se presenta las gracas del resultado del entrenamiento de la red neuronal. Se presenta la respuesta
de la red neuronal para las posiciones: x y, donde x e y = 0.5, . . . , 0.5. El angulo
2
esta relacionado de forma
cuadratica con respecto a (x, y). En tanto que
1
tiene un cambio brusco en donde es ambigua para (x, y).
1
0.5
0
0.5
1
1
0.5
0
0.5
1
5
0
5
10
x
Cinemtica Inversa:
1
y

1
1
0.5
0
0.5
1
1
0.5
0
0.5
1
4
2
0
2
x
Cinemtica Inversa:
2
y

2
Figura 4.8: Cinem atica inversa del mecanismo. Izquierda: angulo
1
en funci on de las coordenadas x e y. Derecha:
angulo
2
en funci on de las coordenadas x e y.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Para evaluar la precision del modelo inverso obtenido, en la tabla.4.1, se comparan los resultados producidos por la
red neuronal con sus valores verdaderos para once puntos de prueba.
De la tabla, el error maximo de (x, y) es de (2.6, 1.1) cm; el error promedio en (x, y) es (0.9, 0.5) mm; la desviaci on
del error es de (1.1, 0.8) cm, respectivamente.
En la gura 4.9, se presenta la trayectoria de calculada por la red neuronal comparandola con la trayectoria deseada.
En la primera, se observan las posiciones de las articulaciones calculadas por la red neuronal para seguir la trayectoria
circular de r = 0.7 m. En la otra graca la trayectoria a seguir es la lnea recta: (0.5, 0.5) m(0.5, 0.5) m.

JMFA 99
4.3. Control por modelo inverso Captulo 4. Control de Sistemas
(x, y) <
m
> (
1
,
2
) <

> ( x, y) <
m
> (e
x
, e
y
) <
m
>
(0.5,-0.5)
(1.0, 0.0)
(0.5, 0.0)
(0.5, 0.5)
(0.0, 0.5)
(0.0, 0.0)
(0.0, 1.0)
(-0.5, 0.5)
(-0.5, 0.0)
(-1.0, 0.0)
(-0.5,-0.5)
( -0.4070, -89.8975)
( 3.0857, -7.4251)
( 59.0749,-119.2062)
( 91.6786, -90.7152)
(149.9147,-120.9133)
(136.8866,-179.6424)
( 94.4242, -10.4733)
(181.1163, -88.1315)
(241.1180,-121.1180)
(182.8110, -4.3217)
(269.8826, -88.6224)
(0.4973,-0.5035)
(0.9978,-0.0109)
(0.5060,-0.0047)
(0.4853, 0.5082)
(0.0047, 0.4931)
(0.0021, 0.0023)
(0.0141, 0.9957)
(-0.5259, 0.4896)
(-0.4915,-0.0071)
(-0.9992,-0.0113)
(-0.5009,-0.5110)
(0.0027, 0.0035)
(0.0022, 0.0109)
(-0.0060, 0.0047)
(0.0147,-0.0082)
(-0.0047, 0.0069)
(-0.0021,-0.0023)
(-0.0141, 0.0043)
(0.0259, 0.0104)
(-0.0085, 0.0071)
(-0.0008, 0.0113)
(0.0009, 0.0110)
max(e
x
, e
y
) <
m
> (0.0259, 0.0113)
ave(e
x
, e
y
) <
m
> (0.0009, 0.0054)

rms
(e
x
, e
y
) <
m
> (0.0111, 0.0084)
Tabla 4.1: Resultados del modelo neuronal inverso. Los puntos de prueba (x, y) son aplicados por la red
neuronal, y se obtienen los angulos (
1
,
2
). Con estos angulos se calculan las posiciones de los eslabones
( x, y). Los errores en el espacio de las articulaciones son (e
x
, e
y
). ave() es el valor promedio de los errores, y

rms
() es la desviaci on del error.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 0.5 0 0.5 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
m
m
Posicin de los eslabones
1 0.5 0 0.5 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
m
m
Posicin de los eslabones
Figura 4.9: Posici on de los eslabones. Izquierda: Utilizando la red neuronal con la din amica inversa se determinan
los angulos:
1
y
2
de los eslabones para seguir una trayectoria circular, r = 0.7 m. Derecha: seguimiento de una
trayectoria recta, (0.5, 0.5) m-(0.5, 0.5) m.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ejemplo 4.3 (Metodo Especializado) En este ejemplo se presenta el control de una planta no lineal usando el metodo
especializado.
El sistema a controlar es un sistema de una entrada y una salida, [8, 56]:
y(k + 1) =
y(k)
1 +y(k)
2
+u(k)
3
, (4.10)
En donde d = 1, F
(2)
(y(k), u(k)) =
y(k)
1+y(k)
2
+u(k)
3
. Notar que el sistema es invertible con respecto a u(k) porque F
(2)
es mon otona funci on c ubica de u(k).
En este ejemplo se va a suponer que no se tiene informacion de la estructura de F
2
. As, el primer paso para
implementar el esquema de control por medio del metodo especializado se necesita calcular el modelo directo del sistema
(4.10). En [8] se supone que se conoce que la estructura de F
2
es: F
2
= F
2
(y) +F
2
(u), teniendo esto como conocido,
100 JMFA
Captulo 4. Control de Sistemas 4.3. Control por modelo inverso
en [8] se entrenan dos redes neuronales de m ultiples capas de estructura 1,20,10,1, cada una de estas redes neuronales
se entrenan para identicar las funciones desconocidas F
2
(y) y F
2
(u). Pero en este ejemplo se va a entrenar una sola
red neuronal para identicar el modelo directo de la planta. La red que se propone tiene una estructura 2, 50, 50, 1. El
vector de entrada de esta red neuronal es [y, u]. El proceso de entrenamiento se detiene cuando el error medio cuadratico
es menor de 10
3
. El programa para el entrenamiento de la red neuronal se localiza en apendice B.15, pagina 189.
Por medio del modelo neuronal de la planta se puede retropropagar el error de control, e
c
(k) = y
d
(k) y(k), a traves
de esta red hasta la entrada de control, u(k) y se obtiene el valor de sensibilidad de la respuesta del modelo neuronal,
y(k) con respecto a la entrada de control,
y(k)
u(k)
. Este valor de sensibilidad se utiliza en lugar de
y(k)
u(k)
porque se hace
la suposicion de que no se conoce su descripcion matematica.

Por
retropropagacin
del error
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
Algoritmo
de ajuste
Ajuste
e
r
r
o
r
Planta
Datos
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
+
-
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
Error
Medio
Cuadrtico
^

=
Figura 4.10: Control inverso especializado. Al suponer que no se cuenta con la descripci on matematica de la planta
se utiliza un modelo neuronal para retropropagar e
c
(k) a traves del modelo neuronal.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Observando la estructura del esquema de control por el metodo especializado que se muestra en la gura 4.10, el
objetivo de control es minimizar el error medio cuadratico entre el valor de referencia, y
d
(k), y la respuesta de la planta,
y(k). Si w es un peso de la red neuronal de control, se puede utilizar algoritmo de retropropagacion del error para evaluar
el gradiente de la funci on de desempe no con respecto al peso w. La cadena de derivadas parciales es la siguiente:
J(k)
w(k)
=
u(k)
w(k)
y(k)
u(k)
e
c
(k)
y(k)
J(k)
e
c
(k)
, (4.11)
en donde:
J(k)
e
c
(k)
= e
c
(k) (4.12)
e
c
(k)
y(k)
= 1 (4.13)
y(k)
u(k)
No es posible calcular. (4.14)
u(k)
w(k)
Se puede evaluar a traves de retropropagaci on. (4.15)
As que si no se cuenta con la descripcion matematica de la planta la derivada parcial (4.14). Para resolver este
problema se propone utilizar el modelo neuronal de la planta y, sobre este retropropagar las derivadas parciales que le
anteceden. De esta forma, la derivada parcial de la funci on de desempe no con respecto al peso de la red de control
(modelo inverso) esta expresado por:
J(k)
w(k)
=
u(k)
w(k)
y(k)
u(k)
e
c
(k)
y(k)
J(k)
e
c
(k)
, (4.16)
en donde:
y(k)
u(k)
Se puede evaluar a traves de retropropagaci on. (4.17)
JMFA 101
4.4. Control Adaptable Captulo 4. Control de Sistemas
u(k)
w(k)
Se puede evaluar a traves de retropropagaci on, (4.18)
y(k) es la salida de la red de identicacion, que debido a que se conoce su estructura y se ha entrenado para ser una
aproximacion de y(k) se utiliza para sustituir la derivada parcial
y(k)
u(k)
.
As que se utiliza el gradiente (4.16) para actualizar los pesos de la red neuronal de control.
La estructura de la red de control es: 2, 50, 50, 1. El vector de entrada esta formado por: [y
d
(k + 1); y
p
(k)] y su
salida es el valor estimado para la se nal de control, u(k).
En la gura 4.11 se presentan las gracas donde se muestra la evolucion del entrenamiento de la red neuronal de
control. En este ejemplo la red neuronal usada para modelar a la planta se entrena antes de la red usada como controlador,
as que el proceso de entrenamiento de la red de control se lleva independientemente de la red de identidicaci on. Si la
zona de operacion de la planta se aleja del usado durante el entrenamiento de la red de identicacion, se puede activar
el entrenamiento para que realize los ajustes para disminuir la diferencia con respecto a la respuesta de la planta. En las
gura 4.11, a y b se presenta el comportamiento del sistema en la primera epoca de entrenamiento de la red de control.
Se observa que la red de control no ha sido a un ajustada para que el sistema (lnea continua) siga la referencia deseada
(lnea por trazos), y en la graca del error cuadratico medio todava es grande. En las gura 4.11, c y d se presenta
la respuesta del sistema una vez completadas 50 epocas de entrenamiento. Notar como el sistema ya puede seguir a la
se nal de reerencia y que el error medio cuadratico ha disminuido. Y en las guras 4.11, e y f estan las gracas de las
se nales para el error y el control.

4.4. Control Adaptable


Los sistemas de control tiene como objetivo alterar el comportamiento de los sistemas para manejar algunas de sus
variables y satisfacer alg un criterio. Los metodos de control se han basado en el analisis del modelo del sistema para
determinar cual debe ser la estructura de control que permita cumplir con las especicaciones requeridas. El controlador
as dise nado tiene un grupo de parametros que deben saleccionarse durante la etapa de dise no. Una vez realizado lo
anterior, resta implementar la estructura del controlador con los parametros obtenidos.
El metodo anterior resulta suciente si los sistemas operan en ambientes estables, en donde las condiciones son
constantes, es decir, que no se espera que vayan a ser afectados de forma brusca o paulatina por cambios no contemplados
durante la fase de dise no del control. Pero como se puede imaginar, es muy difcil asegurar condiciones de operaci on
semejantes para la mayora de los sistemas. Tambien es muy complicado modelar todos los fen omenos que afectan a los
sistemas, debido a que es necesario hacer simplicaciones que permitan obtener modelos que sean manipulables (por lo
general representado por ecuaciones lineales).
De lo anterior, se plantea la necesidad de generar controles que tengan la capacidad de actualizarse en funci on de los
cambios ambientales y de modelado que los sistemas experimentan. Dentro de este tipo de sistemas de control estan los
llamados robusto y adapatable.
Los sistemas de control robusto tienen el enfoque de producir reguladores que operan satisfactoriamente mientras
que un grupo de parametros de la planta esten dentro de un intervalo de condiciones extremas, garantizando un grado de
rechazo de perturbaciones y de desempe no. Un ejemplo de este tipo de tecnicas es el control multivariable o H-innito.
Se conoce como control multivariable porque sigue un metodo de analisis de frecuencia, pero a diferencia de los clasicos
que opera para sistemas escalares, este se aplica a sistemas con mas de una entrada y mas de una salida, y se denomina
como H-innito debido a que se basa en la minimizacion de la norma H-innito de la funci on de transferencia de lazo
cerrado. El control robusto garantiza la estabilidad del sistema dentro de todo el rango de variacion de los parametros.
Otras tecnicas de control robusto son las llamadas: Ganancias programadas (Gain Schedule) y Desigualdades Matriciales
Lineales (Linear Matrix Inequalities).
El control adaptable es otra tecnica que maneja el cambio de las condiciones de operacion y de parametros del sistema
controlado. Pero sigue un camino diferente al del control robusto. El control adaptable aborda el problema buscando
estructuras que modiquen sus variables. As que en los esquemas de control adaptable existen estructuras que con base
en la informacion disponible actualizan un conjunto de parametros.
102 JMFA
Captulo 4. Control de Sistemas 4.4. Control Adaptable
0 500 1000 1500 2000 2500 3000
4
3
2
1
0
1
2
3
4
Control Inverso (Especializado) Seguimiento
poca=2
(a)
0 500 1000 1500 2000 2500 3000
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Control Inverso (Especializado) ECM
poca=2
(b)
0 500 1000 1500 2000 2500 3000
4
3
2
1
0
1
2
3
4
Control Inverso (Especializado) Seguimiento
poca=50
(c)
0 500 1000 1500 2000 2500 3000
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
Control Inverso (Especializado) ECM
(d)
0 500 1000 1500 2000 2500 3000
2
1.5
1
0.5
0
0.5
1
1.5
2
Control Inverso (Especializado) e
c
(k)
poca=50
(e)
0 500 1000 1500 2000 2500 3000
4
3
2
1
0
1
2
3
4
Control Inverso (Especializado) u(k)
poca=50
(f)
Figura 4.11: Control por modelo inverso (Metodo especializado). Se presenta el comportamiento del control inverso
por medio del metodo especializado, el proceso de actualizaci on de los pesos de la red neuronal de control se realiza
de forma iterativa. La lnea discontinua (- - -) representa el valor de referencia deseado y la lnea continua (-)
es la salida del sistema no lineal. En (c) y (d) se estan los resultados de seguimiento completadas 50 epocas de
entrenamiento. En (e) esta el error de control, y en (f ) la se nal de control.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 103
4.4. Control Adaptable Captulo 4. Control de Sistemas
Son dos las estructuras de control adaptable que mas se utilizan. En primer lugar esta el control adaptable indirecto,
que considera que los cambios del sistema controlado pueden ser evaluados a traves de un modelo del sistema o identi-
cador. Este modelo recibe la misma informacion de entrada que el sistema controlado y tiene un conjunto de parametros
que deben ser ajustados para hacer que la respuesta del modelo y de la planta sea el mismo. Una vez alcanzado el empate
de ambos modelos, el controlador utiliza los parametros del modelo para calcular la se nal de control. En este esquema
hay un mecanismo de ajuste de los parametros del modelo.
La otra estructura de control adaptable se conoce como control adaptable directo. En esta estructura los parametros
ajustables son los del controlador. El mecanismo de ajuste utiliza la informacion disponible para calcular la desviaci on
del sistema controlado del desempe no deseado con el prop osito de determinar el grado de correccion de los parametros
del controlador. Notar que el control adaptable indirecto los parametros ajustables son los del modelo de identicaci on,
por otro lado, en el control adaptable directo los parametros ajustables son los del controlador, as que no es necesario
tener un modelo de identicacion. En la gura 4.12 se presentan los esquemas a bloques del control adaptable indirecto
y directo.
Planta Controlador
r u y
Mecanismo
de
adaptacin
Parmetros del
Controlador
Planta
+
-
Controlador
r u y
ei
Identificador
Parmetros del
Sistema
Parmetros del
Controlador
Diseador
de control
(b) (a)
Figura 4.12: Control Adaptable. En los sistemas de control adaptable hay dos estructuras que han dominado. (a) En
el control adaptable directo los par ametros del controlador se obtienen sin necesidad de un sistema de identicaci on
de la planta. (b) El control adaptable indirecto tiene un sistema de identici on de la estructura de la planta.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1. Control Adaptable Indirecto
En la referencia [16] se dan detalles sobre el control adaptable directo e indirecto. En esta seccion se presenta este
material para reunir toda la informacion.
Los sistemas de interes estan descritos por la siguiente expresion:
y(k + 1) = f [v(k), u(k)] , (4.19)
en donde f() es una funci on suave pero desconocida. Los argumentos de la funci on son la entrada u() y la salida y()
que son valores escalares y medibles. . El vector v() es funci on de los valores pasados de u y y:
v(k) = [y(k), y(k 1), . . . , y(k n + 1); u(k 1), u(k 2), . . . , u(k m+ 1)]
T
, (4.20)
en donde las constantes n > 0, m > 0, y por lo general n > m. En lo sigue se supone que las constantes n y m son
conocidas. En la practica algunos elementos del vector v() pueden no estar presentes.
Para el control adaptable indirecto se utiliza la siguiente subclase de sistemas:
y(k + 1) = [v(k)] + [v(k)] u(k), (4.21)
en donde () y () son funciones suaves desconocidas del vector v(). As que se descartan los sistemas no lineales con
respecto a u(k), no obstante, el sistema puede ser no lineal con respecto a los valores pasados de u().
104 JMFA
Captulo 4. Control de Sistemas 4.4. Control Adaptable
Hay otra restriccion que se impone sobre los sistemas del tipo (4.21). Se pide que la funci on () este acotada por
abajo por una constante positiva y lejana de cero. Esta condici on evita que la funci on sea cero para alg un valor del vector
v() y que tenga cambios de signo.
El objetivo de control: Desarrollar un sistema controlador que siga la refencia r(k); en donde [r(k)[ esta acotada
por una constante nita.
El error de control es la diferencia entre el valor de referencia y la salida del sistema:
e(k) = r(k) y(k). (4.22)
En el control adaptable se aplica en sistemas en los que existe un cierto grado de desconocimiento de su representaci on.
En el sistema (4.21), las funciones () y () se dividen en una parte conocida y en otra desconocida. En la practica, la
parte conocida de estas funciones representa la informaci on disponible del sistema, pero puede no existir en el caso de
que se carezca totalmante de informacion. La estructura de estas funciones es la que sigue:
[v(k)] =
desconocido
..

d
[v(k)] +
conocido
..

c
[v(k)] , (4.23)
[v(k)] =
d
[v(k)] +
c
[v(k)] , (4.24)
en donde el subndice d indica la parte desconocida y c la parte conocida.
La funci on () se supone acotada:
0 <
0
[v(k)] , (4.25)
para alg un
0
> 0 y para todo v(k). Pero de igual modo se permite denir una cota por arriba de la funci on () en el
caso de que sea denida negativa.
Controlador por cancelaci on ideal: Debido a que la referencia es conocida, el valor de r(k + 1) esta disponible.
Utilizando la expresion de la planta (4.21). El control ideal u

para este sistema es:


u

(k) =
r(k + 1) [v(k)]
[v(k)]
, (4.26)
usando a u

(k) como se nal de control linealiza la dinamica de (4.21):


y(k + 1) = [v(k)] + [v(k)] u

(k), (4.27)
= [v(k)] + [v(k)]
_
r(k + 1) [v(k)]
[v(k)]
_
, (4.28)
y(k + 1) = r(k + 1). (4.29)
De manera que y(k) = r(k) despues de 1 pasos.
El problema es que para utilizar la ley de control (4.26) se necesita conocer las expresiones exactas de las funciones
() y ().
En el control adaptable indirecto se propone construir un sistema de identicacion de la planta que permita obtener
una aproximacion de la estructura y utilizar esta informacion en la ley de control.
Por lo visto en la seccion 3.3, captulo 3, se puede utilizar la ecuacion (3.5):
y(k) =
T
(k 1),
es decir, se puede utilizar un aproximador lineal en los parametros. As que usando una estructura similar para estimar
las funciones desconocidas de [v(k)] y [v(k)]:

d
[v(k)] =

[v(k)] +

(k + 1), (4.30)

d
[v(k)] =

[v(k)] +

(k + 1), (4.31)
JMFA 105
4.4. Control Adaptable Captulo 4. Control de Sistemas
en donde

son los errores debidos a utilizar un aproximador nito.


Los vectores de parametros

T
y

T
son los ideales para las funciones
d
[v(k)] y
d
[v(k)], tales que:

= arg mn

_
sup
vSv
[

[v(k)]
d
(v)[
_
, (4.32)

= arg mn

_
sup
vSv
[

[v(k)]
d
(v)[
_
, (4.33)
en donde

son conjuntos acotados y conexos que contienen la familia de vectores de parametros

,
respectivamente.
El conjunto S
v
es cerrado y acotado; representa el rango en donde las aproximaciones de las funciones () y () son
validas.
Controlador por cancelaci on aproximada: Usando como ley de control para el sistema (4.21) a la expresi on:
u(k) =
r(k + 1) [v(k)]

[v(k)]
, (4.34)
en donde () y

() son estimaciones de las funciones () y (), respectivamente, y denidas como sigue:
[v(k)] =
T

(k)

(v) +
c
(k), (4.35)

[v(k)] =
T

(k)

(v) +
c
(k). (4.36)
Se pueden utilizar metodos de optimizacion para seleccionar los vectores de parametros

(k) y

(k) para tratar de


minimizar los errores de identicacion (ver las secciones 3.3.1-3.3.3 del captulo 3). Con los algoritmos de proyecci on se
puede garantizar que los vectores de parametros

hallados pertenecen a los conjuntos

, respectivamente;
tambien aseguran que

[v(k)] >
0
y por tanto la se nal de control esta bien denida.

El error de seguimiento es: e(k) = r(k) y(k). Y si se avanzan d pasos, de la forma siguiente:
e(k + 1) = r(k + 1) y(k + 1), (4.37)
sustituyendo a y(k + 1) en la expresion anterior se obtiene:
e(k + 1) = r(k + 1) [v(k)] [v(k)] u(k), (4.38)
y despejando a r(k + 1) de (4.34), para sutituir la en (4.38), se tiene:
e(k + 1) = [v(k)] [v(k)] +
_

[v(k)] [v(k)]
_
u(k). (4.39)
Es interesante notar que al denir como modelo de identicacion a :
y(k + 1) = [v(k)] +

[v(k)] u(k), (4.40)
y haciendo uso de la ley de control (4.34) en la planta (4.21), se obtiene la ecuacion del error de seguimiento.
e(k + 1) = y(k + 1) y(k + 1), (4.41)
que puede interprestarse como el error de identicacion de la planta, es decir, que representa la calidad en que el modelo
se sintoniza para representar la planta.
Los errores en los vectores de parametros quedan denidos como:

, (4.42)

. (4.43)
106 JMFA
Captulo 4. Control de Sistemas 4.4. Control Adaptable
De lo anterior, el error de seguimiento se convierte en la ecuacion:
e(k + 1) =

(k)

[v(k)] +

(k)

[v(k)] u(k)

(k + 1)

(k + 1)u(k), (4.44)
y con esto se puede notar que el error de identicacion afecta al error de seguimiento de la referencia.
Es posible obtener una ecuacion lineal del error de seguimiento, y esta es la que el metodo de optimizaci on minimiza.
Entonces, al considerar los siguientes vectores:

=
_

_
T
, (4.45)
(k) =
_

(k),
T

(k)

T
, (4.46)
[v(k), u(k)] =
_

[v(k)] ,
T

[v(k)] u(k)

T
. (4.47)
El vector que contiene los errores en la aproximacion de las funciones () y () es:
(k) =

(k) +

(k)u(k). (4.48)
Finalmente, la ecuacion lineal del error de seguimiento queda de la forma siguiente:
e(k + 1) =

T
(k)[v(k), u(k)] (k + 1). (4.49)
Y sobre esta ecuacion se aplica alg un metodo de optimizacion.
En la ecuacion (4.48) se pueden denir cotas para los errores de aproximacion de las funciones de la manera siguiente:
0 [

(k)[ < W

, (4.50)
0 [

(k)[ < W

. (4.51)
Y con estas cotas en los errores se obtiene la cota del error de la ecuacion (4.49):
[(k)[ = [

(k) +

(k)u(k 1)[ W

+W

[u(k 1)[. (4.52)


Notar que es una ecuacion variante en el tiempo. En lo anterior se hace la suposi on de que se conocen las cotas W

y
W

, que son las que corresponden a la aproximacion ideal de las funciones () y (), pero en la practica resulta difcil
evaluar el grado se sintonizacion del identicador.
Ejemplo 4.4 (Control Adaptable Indirecto) En este ejemplo se utiliza un par de redes neuronales de multiples capas
para identicar los componentes de un sistema no lineal y con esta informacion se calcula la ley de control para que siga
la se nal de referencia.
El sistema no lineal es el siguiente:
y(k + 1) = 0.5
y(k)
1 +y(k)
2
+ [1 +y(k)] u(k), (4.53)
notar que el sistema (4.53) corresponde a la forma (4.21), en donde:
[v(k)] = 0.5
y(k)
1 +y(k)
2
, (4.54)
[v(k)] = 1 +y(k), (4.55)
son las funciones () y () que describen a la planta. De manera que este sistema es lineal con respecto a la entrada de
control u(k).
La condici on (4.25) para la funci on [v(k)] se cumple si:
1 < y(k), (4.56)
JMFA 107
4.4. Control Adaptable Captulo 4. Control de Sistemas
esta restriccion debe conservarse durante el dise no.
La cancelacion de la dinamica del sistema se logra con la ley de control ideal:
u

(k) =
r(k + 1) [v(k)])
[v(k)]
, (4.57)
=
1
1 +y(k)
_
r(k + 1)
0.5(k)
1 +y(k)
2
_
. (4.58)
Se supone que no se conocen las funciones () y () por lo que no se puede calcular la ley de control u

(4.58).
De manera que se propone usar dos redes neuronales para aproximar las funciones y . Los dos aproximadores son
los siguientes:
[v(k)] =
T

(k)

(v), (4.59)

[v(k)] =
T

(k)

(v), (4.60)
entonces se pueden utilizar dos redes neuronales de multiples capas para aproximar a estas funciones. Se puede interpretar
al producto:
T
(k)(v) como la ultima capa de la red. Y una vez obtenida las aproximaciones, o modelo de identicaci on
de la planta (4.53), se puede construir la ley de control aproximada (4.34).
Antes de calcular la ley de control se realiza una identicacion, en donde se alimenta al sistema con la se nal de
entrada descrita por:
u(k) = 0.5 + 0.25 sen(2k/10) + 0.5 cos(2k/2.5), (4.61)
la identicacion se realiza en cien epocas, constando cada una de cien iteraciones (k = 0, ..., 100). Las dos redes usadas
tienen una entrada, dos capas ocultas de diez neuronas y una capa de salida (1, 10, 10, 1), las constantes de aprendizaje
son: y = 0.1. El programa se encuentra en el apendice B, pagina 194.
Los resultados de la identicacion de la planta estan en la gura1 4.13. En la graca del inciso (a), se muestra la
comparacion de la respuesta de la planta (4.53) marcada por la lnea por trazos, y con una lnea continua la del modelo
de identicacion:
y(k + 1) = [v(k)] +

[v(k)] , (4.62)
en la epoca cien de entrenamiento de las redes. En gura1 4.13. b esta el valor medio cuadratico del error de iden-
ticacion. Las funciones () y

() estan representadas por una red neuronal de multiples capas, y en gura1 4.13. c
y d se muestra la comparacion entre las funciones () y () con la respuesta de las redes neuronales entrenadas para
aproximarlas, en estas gracas las lneas por trazos son las funciones que se desean aproximar y las lneas continuas son
la respuesta de las redes neuronales, se puede observar que en el rango presentado las redes han logrado aproximarse al
comportamiento de las funciones () y ().
Una vez identicado el sistema, y por tanto obtenidas las aproximaciones de las funciones () y (). Se utilizan para
construir la se nal de control, siendo esta la siguiente:
u(k) =
r(k + 1) [v(k)]

[v(k)]
, (4.63)
en donde las aproximaciones son las redes neuronales entrenadas.
La se nal de referencia, r(), es una se nal cuadrada que va de cero a uno, con un perodo de 40 iteraciones. Notar que
no es problema obtener a r(k + 1) debido a que la se nal de referencia es conocida.
En la gura 4.14 se presentan los resultados de control. En la graca 4.14. a estan las curvas de la referencia (lnea
por trazos) y la respuesta del sistema controlado (lnea continua) se puede observar que hay seguimiento de la se nal de
referencia. En la graca 4.14. b, se muestra el error de control. En la graca 4.14. b se presenta la se nal de control
aplicada a la planta, u(). Y en la graca 4.14. d se encuentra el valor medio cuadratico del error de control.
En el esquema de control adaptable indirecto se utiliza un par de aproximadores para las funciones: () y ().
Obteniendose el modelo de identicacion:
y(k + 1) = [v(k)] +

[v(k)] , (4.64)
108 JMFA
Captulo 4. Control de Sistemas 4.4. Control Adaptable
0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
2
2.5
3
Control Adaptable Indirecto
poca=100
(a)
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Control Adaptable Indirecto
(b)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.1
0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
Control Adaptable Indirecto
(c)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.8
1
1.2
1.4
1.6
1.8
2
Control Adaptable Indirecto
(d)
Figura 4.13: Control Adaptable Indirecto Identicaci on. Se presenta los resultados de identicaci on del sistema
(4.53) de la epoca cien de entrenamiento. En la gr aca (a) estan las respuestas de la planta (lnea por trazos) y del
modelo de identicaci on (lnea continua ). En (c) se muestra el valor medio cuadratico del error de identicaci on.
La gr aca (c) presenta la comparacion entre la fuci on [y(k)] = y(k)/
_
1 +y(k)
2

, (lnea a trazos)y la aproximaci on


a traves de la red neuronal (lnea continua). Y en (d) esta la proximaci on para [y(k)] = 1 +y(k), siendo la lnea
por trazos la funci on y la lnea continua la proximaci on por medio de la red neuronal.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
en donde; () y

() son las aproximaciones de las funciones. Notar que el modelo de identicacion es de tipo serie-paralelo,
ya que el vector : v(k) tiene los retardos producidos por la planta, que para el ejemplo es: y(k).
Los resultados de control mostrados en la gura 4.14 son aceptables para el rango de operacion impuesto a la planta,
pero si se requiere modicar la zona de operacion del sistema controlado se debe volver a entrenar a las redes neuronales
para ajustar a los aproximadores de las funciones () y (). Esto puede realizarse sacando de operaci on al sistema y
volviendo a correr una rutina de identicacion. Otra opci on para reentrenar a los aproximadores es dejando la rutina de
ajuste de los pesos operando constantemente, esto hara que el sistema logre ajustarse a los cambios de operaci on o de
dinamica.
En la gura 4.15 se presenta el caso en el que el ajuste de los pesos se mantiene operando mientras que se sigue
controlando del sistema. El programa se puede ver en el apendice B.18, pagina 198. En la primera etapa se identica
al sistema durante veinte epocas, despues se aplica la senal de control y se deja operando el algoritmo de ajuste de los
pesos.
La se nal de referencia utilizada es:
r(k + 1) = 0.5 + 0.25 sen(
2k
50
). (4.65)
JMFA 109
4.4. Control Adaptable Captulo 4. Control de Sistemas
0 10 20 30 40 50 60 70 80 90 100
0.2
0
0.2
0.4
0.6
0.8
1
1.2
Control Adaptable Indirecto
(a)
0 10 20 30 40 50 60 70 80 90 100
4
2
0
2
4
6
8
x 10
3
Control Adaptable Indirecto
(b)
0 10 20 30 40 50 60 70 80 90 100
0.2
0
0.2
0.4
0.6
0.8
1
1.2
Control Adaptable Indirecto
(c)
0 10 20 30 40 50 60 70 80 90 100
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
x 10
5
Control Adaptable Indirecto
(d)
Figura 4.14: Control Adaptable Indirecto Control. Se presenta el comportamiento del control . En (a), la lnea
por trazos es la referencia, r(k) y la lnea continua es la respuesta del sistema controlado, y(k). En (b) es el error
de control, ec(k). En (c) se presenta la se nal de control, uc(k) y en (d) se presenta el valor medio cuadratico del
error de control.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
y se simula durante quinientas iteraciones.
En la gura 4.15. a estan las gracas del seguimiento de la referencia, en donde la lnea por trazos es la referencia,
r(k), y la lnea continua es la respuesta de la planta. La gura 4.15. b es el error de control. En gura 4.15. c se
muestra la se nal de control aplicada al sistema, y en gura 4.15. d es el valor medio cuadratico del error de control.

110 JMFA
Captulo 4. Control de Sistemas 4.4. Control Adaptable
0 50 100 150 200 250 300 350 400 450 500
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Control Adaptable Indirecto
(a)
0 50 100 150 200 250 300 350 400 450 500
0.5
0.4
0.3
0.2
0.1
0
0.1
0.2
Control Adaptable Indirecto
(b)
0 50 100 150 200 250 300 350 400 450 500
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Control Adaptable Indirecto
(c)
0 50 100 150 200 250 300 350 400 450 500
0
0.005
0.01
0.015
0.02
0.025
Control Adaptable Indirecto
(d)
Figura 4.15: Control Adaptable Indirecto En lnea. Se presenta el comportamiento del control . En (a) Se observa
como la respuesta de la planta, y(k), converge con la se nal de referencia, r(k), En (b) esta el error de control, ec(k).
En (c) se presenta el control aplicado al sistema, uc(k), y en (d) es el valor medio cuadratico del error de control.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 111
4.4. Control Adaptable Captulo 4. Control de Sistemas
4.4.2. Control Adaptable Directo, [16]
El control adaptable directo no hace una estimacion de la dinamica de la planta. En vez de esto, se dise na un algoritmo
que busque un controlador que force a un error de seguimiento peque no.
En el disen o se considera un tipo de sistemas mas general que el usado para el control adaptable indirecto. Se conserva
la suposicion de que se conoce a r(k + 1).
Y en lugar de suponer que existe de forma explicita un modelo del sistema no lineal se requiere que exista una se nal
de control: u

[v(k), r(k + 1)] tal que la dinamica del error: e(k +d) = r(k + 1) y(k + 1) pueda expresarse como:
e(k + 1) = [v(k)] [u(k) u

(k)] +(k), (4.66)


en donde () es tal que:
0 <
0
[ [v(k)]
1
, (4.67)
en donde
0
y
1
son constantes conocidas relacionandas a la dinamica de la planta. Y () es una funci on a cotada por
la constante 1:
sup
k
[(k)[ 1. (4.68)
Entonces los sistemas en los cuales su ecuacion de error cumpla con (4.66) entra en los sistemas donde se puede
aplicar el control adaptable directo.
Usando el mismo vector v() (4.20), y el sistema (4.21):
y(k + 1) = [v(k)] + [v(k)] u(k).
Y con la suposicion que la funci on () satisface:
0 <
0
[v(k)]
1
< , (4.69)
se usa:
0
[v(k)] para asegurar la existencia de una ley de control por abajo de la funci on (), y el parametro
1
especica una restriccion sobre el algoritmo de actualizacion de la ganancia de control.
Para esta clase de plantas, la ley de control:
u

[v(k), r(k + 1)] =


r(k + 1) [v(k)]
[v(k)]
, (4.70)
existe si la funci on () es acotada y diferente de cero.
Con esta eleccion para el control y usando u

en la planta:
e(k + 1) = r(k + 1) y(k + 1) (4.71)
= r(k + 1) [v(k)] [v(k)] u(k), (4.72)
= [v(k)] u

(k) [v(k)] u

(k), (4.73)
= [v(k)] [u(k) u

(k)] , (4.74)
de la ecuacion anterior, y considerando la expresion (4.66), en donde: [v(k)] = [v(k)],
0
=
0
,
1
=
1
y (k) = 0;
de lo anterior se concluye que este tipo de plantas admiten un control adaptable directo.
La ecuacion de error e(k +1) ademas de ser una medida del error de seguimento; tambien lo es de la diferencia entre
el control utilizado del ideal: u

.
Para obtener la dinamica del error se expresa el control ideal u

de la siguiente forma:
u

[v(k), r(k + 1)] = u


d
[v(k), r(k + 1)] +u
c
(k), (4.75)
en donde u
c
() y u
d
() representan la parte conocida y desconocida, respectivamente, de la se nal de control ideal. El
componente u
c
() no es indispensable, as que puede prescindirse de el, es decir: u
c
(k) = 0, para todo k 0. Pero en
112 JMFA
Captulo 4. Control de Sistemas 4.4. Control Adaptable
u (k)
c
u (k)
d
u (k) *
Seal de Control
Nominal
Seal de Control
Adaptable
+
+
Figura 4.16: Componentes del control directo. En el con-
trol adaptable directo se puede aprovechar la se nal de con-
trol nominal de un controlador existente y agregar unica-
mente el componente adaptable.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
algunas aplicaciones es conveniente incluir el termino u
c
. De forma que si se conoce que existe un controlador que trabaja
razonablemente bien en la zona de operacion nominal del sistema este puede incluirse como el termino u
c
() y la otra
parte del control puede ser una red neural que se vaya sintonizando para corregir las deciencias del control.
Se puede representar el control u

() como:
u

(k) =

d
T

d
[v(k), r(k + 1)] +u
c
(k) +
d
(k). (4.76)
Donde:

d
= arg mn

d
_
sup
vSx,rSr
[
T
d

d
[v(k), r(k + 1)] u
c
(v, r)[
_
, (4.77)
en donde
d
es el conjunto conexo de los controladores aceptables, o
v
es el espacio en el cual los estados del sistema
estan, y o
r
es el espacio en el cual la se nal de referencia se desenvuelve (se hace la suposicion que la se nal de referencia
r() es acotada).
El control estimado varia del control ideal (4.49), este se representar por la expresion:
u(k) =
T
d
(k)
d
[v(k), r(k + 1)] +u
c
(k), (4.78)
en donde el vector de parametros
d
() es actualizado por el algoritmo y de manera que
d
(k)
d
.
Si se dene el vector de error en los parametros como:

d
(k) =
d
(k)

d
, (4.79)
entonces la dinamica del error: e(k + 1) = r(k + 1) y(k + 1) se expresa como:
e(k + 1) = [v(k)] [u(k) u

(k)] +(k), (4.80)


= [v(l)]
_
[
d
(k)

d
]
T

d
[v(k), r(k + 1)] ,
d
(k)
_
+(k) (4.81)
e(k + 1) = [v(k)]

T
d
(k)
d
[v(k), r(k + 1)] + [v(k)]
d
(k) +(k), (4.82)
en donde 0 [
d
(k)[ < W
d
. Se supone que se puede denir a W
d
, tal que si [

d
[
2
es acotada, y entonces
0 [
d
(k)[ < W
d
para toda k.
JMFA 113
4.4. Control Adaptable Captulo 4. Control de Sistemas
Ejemplo 4.5 (Control Adaptable Directo) En este ejemplo se utiliza en control adaptable directo para manejar el
sistema no lineal (4.53):
y(k + 1) = 0.5
y(k)
1 +y(k)
2
+ [1 +y(k)] u(k). (4.83)
por lo visto en este seccion, este sistema puede ser manejado por una ley de control del tipo (4.75):
u(k) = u
d
[v(k), r(k + 1)] +u
c
(k), (4.84)
en donde u
c
(k) puede tenerse, o no. Y lo que se propone es usar una red neuronal multicapa para el termino:
u
d
[v(k), r(k +d)]. De forma que la ley de control tiene la forma:
u(k) =
T
d

d
[y(k), r(k + 1)] + u
c
(k) +
d
(k), (4.85)
en el primer caso se considera que el termino u
c
(k) es cero. El programa esta en el pendice B.19, pagina 203.
Para este caso se pide que el sistema siga la siguiente se nal de referencia:
r(k + 1) = 0.5 + 0.25 sen(2k/50). (4.86)
La red neuronal es de tipo multicapa y con dos entradas, diez nodos ocultos en una segunda capa, otros diez en otra
capa y un nodo se salida de la red, 2, 10, 10, 1. El vector de entrada es: [y(k), r(k + 1)]. La costantes de aprendizaje
son: = 0.005 y = 0.05. El algoritmo de ajuste de los pesos utiliza la se nal de error: e(k + 1) = r(k + 1) y(k + 1).
El sistema se simula durante 250 repeticiones y 100 epocas. En la gura 4.17 se presentan los resultados en la
primera epoca de entrenamiento.
Los resultados en la primera epoca de entrenamiento sirven para resaltar el comportamiento inicial del control,
observando la forma progresiva en la que trabaja. En la gura 4.17. a se graca la referencia r() (lnea por trazos) y
la respuesta de la planta y() (lnea continua), notar que la planta inicia a seguir a la referencia. En la gura 4.17. b
esta el error de control, en gura 4.17. c esta la se nal de control y la gura 4.17. d muestra el valor medio cuadratico
del error de seguimiento.
Y en la gura 4.18 se muestran los resultados en la epoca cien de entrenamiento. En donde se puede observar como
la red neuronal ha podido controlar al sistema. En la gura 4.18. a esta la graca del seguimiento, se observa que el
sistema se asemeja mucho a su comportamiento deseado. En la gura 4.18. b esta el error de seguimento, la graca de
la se nal de control esta en gura 4.18. c, y su valor medio cuadratico esta en la gura 4.18. d.

114 JMFA
Captulo 4. Control de Sistemas 4.4. Control Adaptable
0 50 100 150 200 250
0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Control Adaptable Directo
poca=1
(a)
0 50 100 150 200 250
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Control Adaptable Directo
poca=1
(b)
0 50 100 150 200 250
0.1
0.05
0
0.05
0.1
0.15
0.2
0.25
Control Adaptable Directo
poca=1
(c)
0 50 100 150 200 250
0
0.05
0.1
0.15
0.2
0.25
Control Adaptable Directo
poca=1
(d)
Figura 4.17: Control Adaptable Indirecto

Epoca 1. Se presenta el comportamiento del Control Adaptable Directo


al inicio del entrenamiento. En (a) Se observa la respuesta de la planta, y(k) comparada con la referencia r, en la
primera epoca de entrenamiento de la red de control, En (b) esta el error de control, e(k). En (c) se presenta el
control aplicado al sistema, u(k), y en (d) es el valor medio cuadratico del error de control.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 115
4.4. Control Adaptable Captulo 4. Control de Sistemas
0 50 100 150 200 250
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Control Adaptable Directo
poca=100
(a)
0 50 100 150 200 250
0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
Control Adaptable Directo
poca=100
(b)
0 50 100 150 200 250
0.1
0.15
0.2
0.25
0.3
0.35
Control Adaptable Directo
poca=100
(c)
0 50 100 150 200 250
0
5
10
15
20
25
30
35
Control Adaptable Directo
poca=100
(d)
Figura 4.18: Control Adaptable Indirecto

Epoca 100. Se presenta el comportamiento del Control Adaptable Directo


al nal del entrenamiento. En (a) Se observa como la respuesta de la planta, y(k), converge con la se nal de referencia,
r(k), En (b) esta el error de control, e(k). En (c) se presenta el control aplicado al sistema, u(k), y en (d) es el
valor medio cuadratico del error de control.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
116 JMFA
Captulo 4. Control de Sistemas 4.5. Control por Modelo de Referencia
4.5. Control por Modelo de Referencia
El esquema de control por modelo de referencia utiliza la salida de un sistema dinamico en vez de una sucesi on de
valores: y

(0), y

(1), ... para establecer el comportamiento que se requiere para el sistema controlado. El sistema de
control tiene el objetivo de hacer que la salida del sistema controlado converja a los valores deseados, pero el control
por modelo de referencia elimina la relativa arbitrariedad de la seleccion de la sucesion de valores y

al establecer que se
produce como respuesta de otro sistema (gura 4.19). Se puede interpretar al modelo de referencia como un preltro
de la se nal de mando y

. Durante el dise no se aprovecha la estructura del modelo de referencia para construir el sistema
de control.
Valores deseados
y*(k)
Sistema de Referencia
r(k) y*(k)
G(k)
Figura 4.19: Control por modelo de Referencia. En el control por modelo de referencia se sustituye la sucesi on de
valores deseados por la respuesta de un sistema din amico conocido.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
El modelo de referencia es un sistema de estructura conocida, al dise narse se toman en cuenta las especicaciones
de comportamiento que se desean para el sistema controlado. Ademas este sistema se considera estable y no debe ser
mas rapido que el sistema controlado, es decir, el modelo de referencia debe a lo mas tener el mismo retardo del sistema
controlado (tener grado relativo igual o mayor).
4.5.1. Control por modelo de referencia: Enfoque neuronal [28]
El tipo de sistemas que se consideran son los representados en variables de estado y de una entrada una salida:
x(k + 1) = f [x(k), u(k)] , (4.87)
y(k) = h[x(k)] , (4.88)
en donde x R
n
es el vector de variables de estado, u R es la entrada al sistema y y R es la variable de salida. Las
funciones f : R
n
R R
n
y h : R
n
R
n
son analiticas.
Un concepto importante en los sistemas de tipo (4.87-4.88) es el llamado grado relativo [41]. En forma basica
corresponde al retardo de la variable de entrada u(k) para que afecte a la salida del sistema.
A modo de ejemplo considerese el sistema (4.87-4.88), entonces al incrementar el ndice de tiempo k, se generan las
siguientes funciones h
l
[x(k)]:
y(k) = h[x(k)] = h
0
[x(k)] , (4.89)
y(k + 1) = h
0
[x(k + 1)] = h
1
[x(k)] , (4.90)
.
.
. (4.91)
y(k +l) = h
l1
[x(k + 1)] = h
l
[x(k)] . (4.92)
entonces si tiene el sistema grado relativo r las funciones anteriores cumplen lo siguiente:
h
0
[x(k)]
u(k)
0, (4.93)
h
1
[x(k)]
u(k)
0, (4.94)
.
.
. (4.95)
JMFA 117
4.5. Control por Modelo de Referencia Captulo 4. Control de Sistemas
h
t1
[f(x, u)]
u(k)
,= 0. (4.96)
(4.97)
As que t es el n umero mas peque no de perodos de muestreo despues de cual la variable manipulable afecta a la
salida y.
Entonces es posible hallar la relacion entre las salidas en el futuro y el estado actual por medio de las expresiones:
y(k) = h
0
[x(k)] , (4.98)
y(k + 1) = h
1
[x(k)] , (4.99)
.
.
. (4.100)
y(k +t 1) = h
t1
[x(k)] . (4.101)
Y en particular, la relacion entre la salida y(k +t), el estado y entrada actuales es:
y(k +t) = h
t1
[f(x(k), u(k))] g [x(k), u(k)] . (4.102)
es decir que existe una funci on g que relaciona al estado actual x(k) y la entrada u(k) para obtener la salida futura
y(k +t).
Se dene la siguiente variable v(k) como:
v(k) = g [x(k), u(k)] . (4.103)
entonces:
y(k +t) = v(k) (4.104)
es decir, que se obtiene una transformacion lineal del sistema original.
g(x,u)
v(k)
x(k)
u(k)
(x,v)
u(k)
x(k)
v(k)
y(k+r)
z
-1
z
-1
y(k)
1' t'
f(x,u) h(x)
z
-1
u(k) x(k+1) x(k) y(k)
(a) (b)
(c)
Figura 4.20: Grado relativo: linealizaci on. a) Sistema en representaci on en variables de estado. b) Transforma-
ci on lineal del sistema. c) A traves del teorema de la funci on implicta se obtiene una soluci on para el sistema
(Controlador).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ademas ya que
g(x,u)
u
,= 0 para todo punto (x, u) en un conjunto abierto y denso del espacio R
n
R. Por el teorema
del la funci on implicita, existe una unica soluci on de la ecuacuacion (4.103):
u(k) = [x(k), v(k)] , (4.105)
en donde

v
,= 0 para todo punto (x, v) del espacio R
n
R. Notar que esta funcin es el control que se aplica al
sistema original.
La implementacion del control por modelo de referencia se basa en un sistema usado como patr on de referencia:
X
m
(k + 1) = Ax
m
(k) +br(k) (4.106)
y
m
(k) = c
T
x
m
(k) (4.107)
118 JMFA
Captulo 4. Control de Sistemas 4.5. Control por Modelo de Referencia
en donde x
m
R
nm
, r R y y R son los estados, la entrada y la salida del modelo.
Ahora bien, el objetivo del control es encontrar una se nal de retroalimentacion que haga que la salida del sistema
y(k) siga de forma asintotica a la del modelo y
m
(k) generada por la entrada r(k).
En la gura 4.20 se pueden ver que es posible transformar al sistema (4.87-4.88) a uno lineal por medio de la funci on
v(k) = g [x(k), u(k)]: el sistema lineal que se obtiene es:
w
1
(k) = y(k) (4.108)
w
2
(k) = y(k + 1) (4.109)
.
.
. (4.110)
w
t
(k) = y(k +t 1) (4.111)
v(k) = y(k +t) (4.112)
Desde este sistema lineal es ya muy sencillo hallar el control para el modelo de referencia, basta con construir la
siguiente funci on de error:
y
m
(k +t) +
t1

i=0

i
[y
m
(k i) y(k i)] = y(k +t) (4.113)
e(k +t) +
t1
e(k +t 1) + +
0
e(k) = 0, (4.114)
en donde los coecientes se seleccionan con tal que las races de (4.113) esten dentro del crculo unitario, es decir que
sea estable. Y por lo tanto e(k)
k
0,
Notar que v(k):
v(k) = y
m
(k +t) +
t1

i=0

i
[y
m
(k i) y(k i)] , (4.115)
de manera que lo que falta es hallar a la funci on de transformacion [x(k), v(k)] que es la que genera la se nal de control
u(k) que es la que se usa para el sistema (4.87-4.88).
Planta
u(k) y(k)
(x,v) g(x,v)
v(k)
Modelo
de
Referencia
r(k)
x (k)
m
x(k)
+
-
e(k)
y (k)
m
Controlador
Figura 4.21: Diagrama a bloques del Control
por Modelo de Referencia. En esta gura se
muestran los bloques componentes del control
por modelo d referencia. La funci on g() es la
que construye la se nal de control v(k) para el
sistema linealizado. La funci on transforma
a la se nal de control para ser aplicada a la
Planta.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En vez de buscar la expresion para la funci on (), es tambien posible obtener a v(k) en terminos de la planta
(4.87-4.88) y del modelo de referencia (4.106-4.106)
Para lo anterior considerese que el grado relativo del modelo de referencia es el mismo que el de la planta. De forma
que al hallar las expresiones para la respuesta en funci on de los estados x
x
(k) y la entrada r(k), estas son:
y
m
(k +i) = c
T
A
i
x
m
(k), para todo 0 i t 1 (4.116)
y
m
(k +t) = c
T
A
t
x
m
(k) +c
T
A
t1
br(k) (4.117)
Entonces al sustituir los los valores para y(k+i) y y
m
(k+i) en (4.115). De modo que la ley de control es la siguiente:
v(k) = y
m
(k +t) +
t1

i=0

i
_
y
m
(k i) h
i
[f(x, u)]
_
(4.118)
JMFA 119
4.5. Control por Modelo de Referencia Captulo 4. Control de Sistemas
= c
T
A
t1
br(k) +c
T
A
t
x
m
(k) +
t1

i=0

i
_
c
T
A
i
x
m
(k) h
i
[f(x, u)]
_
, (4.119)
La tranformacion en la representacion del sistema en la forma adecuada para utilizar lo antes expuesto se explica en el
apendice G.
Por lo visto anteriormente, las funciones g() y () son la base del control por modelo de referencia. Lo siguiente es
establecer el esquema de control utilizando redes neuronales.
La capacidad de las redes neuronales para aproximar funciones ya ha sido comentada. As que las funciones g() y ()
se sustituyen por las siguienres redes neuronales:
u(k) = (x(k), v(k),
1
) (4.120)
y(k +t) = g (x(k), u(k),
2
) (4.121)
en donde
1
y
2
son los pesos de las redes neuronales. La primer red neuronal aproxima a la funci on y esta aproximaci on
se llama ; la segunda red neuronal aproxima la funci on g y se le llama g.
Planta
u(k)
Modelo
de
Referencia
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
RN
s
a
l
i
d
a
s
pesos
r(k)
x(k) x(k)
x (k)
m
x(k)
e
n
t
r
a
d
a
s
p
e
s
o
s
Ajuste
e
n
t
r
a
d
a
s
y(k)
y (k) *
e (k)
1
e
n
t
r
a
d
a
s
p
e
s
o
s
Ajuste
+
-
+
-
y (k)
m
y(k)
y (k) *
e (k)
2
Control
Identificador
Figura 4.22: Diagrama a bloques del Control por Modelo de Referencia -Redes Neuronales. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Las variables de entrada a la redes neuronales se pueden obtener al observar la ecuacion 4.119. De manera que las
redes neuronales usan los siguientes argumentos:
u(k) = (x(k), x
m
(k), r(k),
1
) (4.122)
y(k) = g (x(k t), u(k t),
2
) , (4.123)
notar que la primera red neuronal es quien genera la se nal de control, mientras que la segunda red es un modelo de
indenticacion.
Los errores usados para el ajuste de la red neuronal son:
e
1
(k) = y

(k) y
m
(k) Error de Control (4.124)
e
2
(k) = y

(k) y(k) Error de Identicaci on (4.125)


La convergencia de entre las variables de salida de planta y(k) y del modelo de referencia y
m
(s) se obtiene cuando:
lm
k
e
1
(k) = 0 (4.126)
y
lm
k
e
2
(k) = 0, (4.127)
120 JMFA
Captulo 4. Control de Sistemas 4.5. Control por Modelo de Referencia
y al considerar la siguiente desigualdad:
[y(k) y
m
(k)[ [y

(k) y
m
(k)[ +[y

(k) y(k)[ = [e
1
(k)[ +[e
2
(k)[, (4.128)
cuando se cumplen (4.124) y (4.125), entonces lm
k
(y(k) y
m
(k)) = 0.
4.5.2. Control por modelo de referencia: Sistemas lineales
El control por modelo de referencia para sistemas discretos lineales de una entrada y una salida se detalla en [38].
Sea el sistema lineal discreto a controlar:
A(q
1
)y(k) = B(q
1
)u(k), (4.129)
en donde las funciones A(q
1
) y B(q
1
) estan denidas como los polinomios:
A(q
1
) = 1 +a
1
q
1
+a
2
q
2
+ +a
n
q
n
(4.130)
B(q
1
) = q
t
(b
0
+b
1
q
1
+b
2
q
2
+ +b
n
q
n1
) (4.131)
= q
t
B

(q
1
). (4.132)
El sistema (4.129) puede expresarse en su forma predictor, es decir, con la estructura:
y(k +t) = (q
1
)y(k) + (q
1
)u(k), (4.133)
en donde:
(q
1
) =
0
+
1
q
1
+ +
n1
q
(n1)
(4.134)
(q
1
) =
0
+
1
q
1
+ +
n1+t1
q
(n1+t1)
. (4.135)
Para pasar de la forma (4.129) a la forma predictor (4.133), se debe hallar un polinomio F(q
1
) tal que permita factorizar
el operador retardo q
t
. Para factorizar el retardo se necesita que el producto: F(q
1
)A(q
1
) = I q
t
G(q
1
), en
donde G(q
1
) es otro polinomio. De la forma siguiente:
F(q
1
)A(q
1
)y(k) = q
t
F(q
1
)B

(q
1
)u(k), (4.136)
_
I q
t
G(q
1
)y(k)

= q
t
F(q
1
)B

(q
1
)u(k) (4.137)
y(k) = q
t
_
G(q
1
)y(k) +F(q
1
)B

(q
1
)u(k)

(4.138)
y(k +t) = G(q
1
)y(k) +F(q
1
)B

(q
1
)u(k) (4.139)
y(k +t) = (q
1
)y(k) +(q
1
)u(k). (4.140)
Es claro que el producto F(q
1
)A(q
1
) es de orden (n+t 1), as que el polinomio F(q
1
) debe tener orden t +1:
F(q
1
) = I +f
1
q
1
+ +f
t1
q
t+1
. (4.141)
Y el polinomio G(q
1
) es de orden n + 1:
G(q
1
) = G
0
+G
1
q
1
+ +G
n1
q
n+1
. (4.142)
Ejemplo 4.6 (Llevar el sistema a su forma predictor) Considere el sistema lineal discreto:
_
1 + 0.9q
1
+ 0.8q
2
+ 0.7q
3
+
_
y(k) = q
2
_
1 + 0.9q
1
_
u(k), (4.143)
es decir, es un sistema lineal de orden n = 3 y con un retardo en la entrada t = 2.
Para llevarlo a su forma predictor se necesitan hallar los polinomios:
F(q
1
) = 1 +f
1
q
1
, (4.144)
G(q
1
) = g
0
+g
1
q
1
+g
2
q
2
. (4.145)
JMFA 121
4.5. Control por Modelo de Referencia Captulo 4. Control de Sistemas
Multiplicando a (4.143) por F(q
1
):
_
1 +f
1
q
1
_ _
1 + 0.9q
1
+ 0.8q
2
+ 0.7q
3
+
_
y(k) = q
2
F(q
1
)
_
1 + 0.9q
1
_
u(k) (4.146)
1 + (0.9 +f
1
)q
1
+ (0.8 + 0.9f
1
)q
2
+ (0.7 + 0.8f
1
)q
3
+ 0.7f
1
q
1
= (4.147)
La forma factorizada de (4.147) debe ser:
_
1 +q
2
_
g
0
+g
1
q
1
+g
2
q
2
_
y(k) = q
2
F(q
1
)
_
1 + 0.9q
1
_
u(k) (4.148)
Basta ahora igualar los coecientes de las potencias para encontrar su valor:
0.9 +f
1
= 0 (4.149)
0.8 + 0.9f
1
= g
0
(4.150)
0.7 + 0.8f
1
= g
1
(4.151)
0.7f
1
= g
2
. (4.152)
Por lo tanto:
f
1
= 0.9 (4.153)
g
0
= 0.8 + 0.9f
1
= 0.01 (4.154)
g
1
= 0.7 + 0.8f
1
= 0.02 (4.155)
g
2
= 0.7f
1
= 0.63. (4.156)
Entonces el sistema (4.147) en su forma predictor es:
y(k) = q
2
_
G(q
1
)y(k) +F(q
1
)B

(q
1
)u(k)

, (4.157)
y(k + 2) =
_
0.01 0.02q
1
0.63q
2
_
y(k) + (1 0.81q
1
)u(k). (4.158)

Para deducir el control para seguir el modelo de referencia se utiliza el hecho de que el sistema puede expresarse en
su forma predictor. Se dene primero la forma del modelo de referencia.
La funci on de transferencia del modelo de referencia es conocida, su estructura general es la siguiente:
E(q
1
)y

(k) = q
tm
gH(q
1
)r(k), (4.159)
la funci on de transferencia del sistema es: G(z) = z
tm
gH(z
1
)/E(z
1
), donde g es una ganancia y las funciones
H(z
1
) y E(z
1
) son:
H(z
1
) = h
0
+h
1
z
1
+ +h
l
z
l
; h
0
= 1, (4.160)
E(z
1
) = e
0
+e
1
z
1
+ +e
l
z
l
; e
0
= 1. (4.161)
Se imponen las siguientes restricciones sobre el modelo de referencia (4.159):
1. E(z
1
) es estable (sin ceros en [z[ 1)
2. El retardo del modelo de referencia t
m
debe ser mayor o igual al retardo del sistema (para simplicar se pueden
considerar iguales).
El control por modelo de referencia en principio puede verse como un sistema que es manejado con el n de seguir
el comportamiento de un sistema modelo. La informacion disponible para realizar el control es la se nal externa r(k) y
una secuencia hist orica de valores de salida del sistema y(k), y(k 1), . . .. En este punto el problema se reduce a
hallar el control que lleve a la salida del sistema y(k) a ser igual a y(k)

que es la salida del modelo de referencia. (ver


gura 4.23. Izq.) Visto as, se puede usar el valor de la se nal del modelo y

(k) para evaluar el error se seguimiento del


modelo e(k) = y(k) y

(k), y utilizar el control inverso (ver seccion 4.3). Sin embargo, esto no aprovecha la funci on
122 JMFA
Captulo 4. Control de Sistemas 4.5. Control por Modelo de Referencia
Planta Controlador
u(k) y(k)
Modelo de Referencia
r(k)
y*(k)
G(k)
+
-
e (k) i
(a)
Planta Controlador
u(k) y(k)
Modelo de Referencia
r(k)
y*(k+d)
G'(k)
+
-
e (k) i
z
-d
y*(k)
(b)
Figura 4.23: Control por modelo de Referencia. Dos esquemas de control por modelo de referencia. (a) Modelo de
referencia en paralelo al sistema de control. (b) Modelo de referencia en serie al sistema de control.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
de transferencia del modelo en el dise no del controlador. Para ello se toma la se nal y

(k + t) del modelo en su forma


predictor para alimentar al controlador (ver gura 4.23. Der.) Notar que ahora el modelo queda en serie con el sistema
de control.
Partiendo de que es posible expresar el sistema (4.129) a su forma predictor (4.133), se puede modicar un poco y
establecer que el sistema se transforma de la siguiente forma:
E(q
1
)y(k +t) = (q
1
)y(t) +(q
1
)u(k), (4.162)
en donde:
(q
1
) = G(q
1
), (q
1
) = F(q
1
)B

(q
1
). (4.163)
Siendo F(q
1
) y G(q
1
) son polinomios de orden t 1, n 1, respectivamente que satisfacen:
E(q
1
) q
t
G(q
1
) = F(q
1
)A(q
1
). (4.164)
Al transformar el sistema (4.129) a la forma (4.162). Esposible hallar el control por modelo de referencia:
Proposici on 4.3 (Control por modelo de referencia) Sea el sistema:
A(q
1
)y(k) = B(q
1
)u(k). (4.165)
Y el modelo de referencia:
E(q
1
)y

(k) = q
tm
gH(q
1
)r(k). (4.166)
El sistema (4.165) puede transformarse en la forma:
E(q
1
)y(k +t) = (q
1
)y(k) +(q
1
)u(k). (4.167)
Entonces con la ley de control:
(q
1
)y(k) +(q
1
)u(k) = gH(q
1
)r(k) (4.168)
el sistema de lazo cerrado es:
E(q
1
)y(k +t) = gH(q
1
)r(k) (4.169)

JMFA 123
4.5. Control por Modelo de Referencia Captulo 4. Control de Sistemas
Ejemplo 4.7 (Control por modelo de referencia de un motor de CD.) Considere que el motor esta regido por la
siguiente expresion:

m
(k + 1) = 295.803 10
3

m
(k) + 703.648 10
3

m
(k 1)
+10607.511 10
3
[e
a
(k) +e
a
(k 1)] . [rad/s] (4.170)
Reacomodando:
_
1 + 295.803 10
3
q
1
703.648 10
3
q
2
_

m
(k) = (4.171)
q
1
10607.511 10
3
_
1 +q
1

e
a
(k), [rad/s] (4.172)
es decir, es un sistema lineal discreto de orden n = 2 y con un retardo en la entrada t = 1.
El objetivo de control es que el sistema (4.172) siga el comportamiento del siguiente modelo de referencia:
y

(z) =
H(z)
E(z)
=
0.9754
z 0.9512
. (4.173)
reacomodando y usando el operador retardo q
1
:
y

(q
1
) =
0.9754q
1
1 0.9512q
1
(4.174)
as que el modelo de referencia es de orden n
m
= 1, y retardo t
m
= 1. El modelo es estable y tiene el mismo retardo
que el sistema a controlar (t = t
m
= 1) de modo que cumple las dos condiciones solicitadas para el dise no del control
por modelo de referencia.
Entonces se necesita hallar el polinomio F(q
1
) tal que:
F(q
1
)
_
1 + 295.803 10
3
q
1
703.648 10
3
q
2
_

m
= q
1
F(q
1
)10607.511 10
3
_
1 +q
1

e
a
(k)
f
0
_
1 + 295.803 10
3
q
1
703.648 10
3
q
2
_

m
=
_
E(q
1
) q
1
G(q
1
)

m
=
_
(1 0.9512q
1
) q
1
(g
0
+g
1
q
1
)

m
=
_
(1 (0.9512 +g
0
)q
1
g
1
q
2

m
=
(4.175)
Por lo tanto:
f
0
= 1, (4.176)
0.9512 +g
0
= 295.803 10
3
f
0
, (4.177)
g
1
= 703.648 10
3
f
0
, (4.178)
de modo que: f
0
= 1, g
0
= 1.2470,g
1
= 703.648 10
3
.
Usando lo dicho en la Propocision.4.3, la ley de control por modelo de referencia es:
G(q
1
)(k) +F(q
1
)B

(q
1
)e
a
(k) = E(q
1
)r(q
1
) (4.179)
es decir:
e
a
(k) =
0.9754
10607.511 10
3
[1 +q
1
]
r(k)
1.2470 + 703.648 10
3
q
1
10607.511 10
3
[1 +q
1
]
(k) (4.180)
En la gura 4.24, pueden verse las respuestas del motor sin control, con el control (4.180) comparandolo con el
modelo de referencia (Programa B.20, p gina 205) .

124 JMFA
Captulo 4. Control de Sistemas 4.5. Control por Modelo de Referencia
0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
5
0
5
10
15
20
25
30
35
40
Comportamiento libre del Motor
e(k)=1 [Volt]
(k) [rad/seg]
Seg.
(a)
0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
5
0
5
10
15
20
25
30
35
40
Comportamiento del Modelo de Referencia
u(k)=1
r(k)
Seg.
(b)
0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
5
0
5
10
15
20
25
30
35
40
Control por Modelo de Referencia
r(k),(k)
Seg.
(c)
0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Seal de Control
u(k)
(c)
Figura 4.24: Control por Modelo de Referencia Motor de CC.. Se presenta el comportamiento del Control por
Modelo de Referencia para un motor de CC. En (a) se presenta el comportamiento del modelo del motor para una
entrada constante. En (b) Se presenta el comportamiento deseado o modelo de referencia. En (c) es la gr aca de
comparacion entre la respuesta del modelo y la del motor de CC. controlado. (d) Es la se nal de control aplicada al
motor.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 125
4.6. Control por Modelo Interno, [58] Captulo 4. Control de Sistemas
4.6. Control por Modelo Interno, [58]
El control por modelo interno se ha convertido en una alternativa en los sistemas de control de procesos debido a su
relativamente facil dise no, su capacidad para el rechazo de perturbaciones y sus caractersticas de robustes. Al obtener
un modelo del sistema a controlar se puede aprovechar este para incluirlo dentro del sistema de control. Es decir: que el
control puede lograrse al incluir dentro del sistema de control la representacion del sistema a ser controlado, lo anterior
se conoce como el principio del modelo interno
En principio si se tiene un sistema y
p
(z) = P(z)u(z) que se desea controlar, se considera que puede existir un
controlador de la forma u(z) = C(z)r(z) tal que la respuesta del sistema y(z) siga a la se nal de referencia r(z):
y
p
(z) = P(z)u(z) Planta (4.181)
u(z) = C(z)r(z) Controlador (4.182)
y
p
(z) = P(z)C(z)r(z) Sistema de Control (4.183)
Para que el sistema de control cumpla con el objetivo bastara que el Controlador sea igual al modelo inverso de la
planta, esto es: C(z) = P
1
(z). Sin embargo, para que esto funcione requiere de dos condiciones: que el modelo del
sistema y
p
(z) = P(z)u(z) sea tan exacto como la precision solicitada y que contemple todos los efectos que intervienen
durante su operacion. Y la otra, es que el modelo inverso del sistema P
1
(z) sea un sistema estable, propio y causal,
para que sea realizable su dise no como controlador. Estas dos condiciones muchas veces se oponen, ya que al hacer
el modelo del sistema mas complejo, hara al mismo tiempo a su modelo inverso mucho mas complicado y con gran
posibilidad de que no sea realizable. Notar tambien que el sistema de control (4.183) es de lazo abierto, esto signica
que se confa en la precision del modelo, y por lo tanto no se necesita de una se nal de retroalimentacion.
La dicultad de cumplir con las condiciones para que un sistema de lazo abierto pueda ser realizable o que tenga el
grado de desempe no solicitado hace que un esquema retroalimentado sea una alternativa. Para esto se lleva la respuesta
del sistema hacia el controlador, de manera que se forma una se nal de error que es igual a la diferencia entre el valor de
referencia y la respuesta del sistema.
y
d
(z) = y
p
(z) +d(z) Planta mas perturbacion (4.184)
y
p
(z) = P(z)u(z) Planta (4.185)
e(z) = r(z) y
d
(z) Error (4.186)
u(z) = C(z)e(z) Controlador (4.187)
y
d
(z) =
P(z)C(z)
1 +P(z)C(z)
r(z) +
1
1 +P(z)C(z)
d(z) Sistema de Control (4.188)
en donde d(z) es una entrada de perturbacion en la salida del sistema. En el sistema de control (4.188) se incluye la
entrada de perturbacion d(z) debido a que ahora ya no se exige que el modelo de la planta y
p
(z) = P(z)u(z) sea exacto.
Notar que en el sistema (4.188) la condici on para obtener un grado adecuado de rechazo de la perturbaci on d(z) es que
la magnitud de P(z)C(z) sea mucho mayor que uno ([P(z)C(z)[ >> 1) y la misma condici on ayuda a que la salida
del sistema y
d
siga la referencia r(k). Las tecnicas para calcular el controlador u(z) = C(z)e(z) son diversas y entre las
mas usadas en la industria son el control Proporcional (P), Proporcional e Integral (PI), Proporcional Derivativo (PD) y
Proporcional Integral Derivativo (PID), as como compensadores de adelanto-retrazo.
Sin embargo, en este tipo de controladores, aunque es muy util el modelo del sistema P(z) para sintonizar, el modelo
no se integra en el dise no del controlador. Esto es precisamente lo que el control por modelo interno aprovecha. Utiliza
la informacion del modelo de la planta, llamese a este: y
m
(z) = M(z)u(z) en el dise no del controlador. Pero antes,
considere que el sistema de control por modelo interno como una transformacion del sistema de control retroalimentado
(ver gura 4.25.a).
Como primer cambio al sistema retroalimentado convencional se alimentan un par de modelos y
m
(z) = M(z)u(z)
de la planta y
p
(z) = P(z)u(z) y se restan sus respuestas antes de insertarlas en el lazo de retroalimentaci on (ver gura
4.25.b), lo anterior no implica ninguna alteracion en el comportamiento del sistema de control. El siguiente paso es llevar
la respuestas de uno de los modelos de la planta hasta la posicion de la se nal de error. (ver gura 4.25.c). En el ultimo
paso se combinan los bloques del lazo formado por C(z) y M(z) llamandole Q(z). El esquema del control por modelo
interno es el de la gura 4.25.d.
126 JMFA
Captulo 4. Control de Sistemas 4.6. Control por Modelo Interno, [58]
Planta Controlador
r(z)
C(z) P(z)
+
-
e(z) y(z)
d u(z)
+
+
d(z)
Modelo
M(z)
Planta Controlador
r(z)
C(z) P(z)
+
-
e(z)
y(z)
d u(z)
+
+
d(z)
Modelo
M(z)
Modelo
M(z)
+
- +
+
Modelo
M(z)
Planta Controlador
r(z)
C(z) P(z)
y(z)
d u(z)
+
+
d(z)
Modelo
M(z)
Modelo
M(z) -
+
+
-
+
-
Planta Compensador
r(z)
Q(z) P(z)
y(z)
d u(z)
+
+
d(z)
Modelo
M(z) -
+
+
-
y(z)
p
y(z)
d
y(z)
p
y(z)
d
y(z)
d
y (z)
m
y (z)
m
y(z)
p
y (z)
m
y (z)
m
e(z)
y(z)
p
d(z)
^
(a) (b)
(c) (d)
Figura 4.25: Control por Modelo Interno. Transformacion de un sistema de control retroalimentado convencional
a un sistema de control por Modelo Interno. (a) Sistema de control retroalimentado convencional. (b) Inserci on del
modelo de la Planta M(z) en el lazo de retroalimentaci on. (c) La respuesta de uno de los modelos de la planta
M(z) se lleva a la entrada del controlador C(z). (d) Simplicaci on del Controlador y del Modelo para formar el
controlador Q(z), este es el esquema del control por modelo interno.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De modo que las se nales que forman al control por modelo interno son:
y
p
(z) = P(z)u(z) Planta (4.189)
y
m
(z) = M(z)u(z) Modelo de Planta (4.190)
u(z) = Q(z)e(z) Controlador (4.191)
e(z) = r(z)

d(z) Error (4.192)

d(z) = y
d
(z) y
m
(z) Error2 (4.193)
y
d
(z) = y
p
(z) +d(z) Salida del Sistema (4.194)
Para hallar la funci on de transferencia del control por modelo interno primero se toma la ecuaci on (4.194) y se
sustituye en la ecuacion (4.189):
y
d
(z) = P(z)u(z) +d(z). (4.195)
Entonces es necesario hallar la relacion para u(z) en funci on de r(z) y d(z). Para esto se usa la ecuaci on (4.191) y
en ella se sustituyen las ecuaciones (4.192) , (4.193) y (4.190)
u(z) = Q(z)
_
r(z)

d(z)
_
, (4.196)
u(z) = Q(z) [r(z) y
d
(z) +M(z)u(z)] , (4.197)
ahora se utiliza la ecuacion (4.195) en la ecuacion (4.197):
u(z) = Q(z) [r(z) P(z)u(z) d(z) +M(z)u(z)] , (4.198)
al factorizar y despejar con respecto a u(z):
u(z) =
Q(z)
1 +Q(z) [P(z) M(z)]
r(z)
Q(z)
1 +Q(z) [P(z) M(z)]
d(z). (4.199)
JMFA 127
4.6. Control por Modelo Interno, [58] Captulo 4. Control de Sistemas
Finalmente se utiliza la ecuacion (4.199) en la ecuacion (4.195) y reduciendo:
y
d
(z) =
P(z)Q(z)
1 +Q(z) [P(z) M(z)]
r(z) +
1 Q(z)M(z)
1 +Q(z) [P(z) M(z)]
d(z), (4.200)
y
d
(z) = r(z) + d(z).
Se suelen llamar a los terminos y como sensitividad y sensitividad complementaria.
Analizando la ecuacion (4.200) cuando ocurre que el modelo implcito es identico a la Planta, es decir:
M(z) = P(z) (4.201)
Entonces la funci on de transferencia (4.200) es la siguiente:
y
d
(z) = P(z)Q(z)r(z) + [1 Q(z)M(z)] d(z), (4.202)
y basta con tomar al control Q(z) como igual al inverso del modelo interno M(z) para que el sistema siga a la
referencia y rechace las pertubaciones (Q(z) = M
1
(z)). (Notar que para eliminar las perturbacion s olo se necesita que
Q(z) = M
1
(z)) De aqu que el control por modelo interno puede considerarse un caso intermedio con el control de
lazo abierto (4.183) y el control en lazo cerrado (4.188), ya que en el control por lazo abierto requiere que el controlador
sea el modelo inverso de la planta P(z) con las dicultades que esto implica y que ya se han comentado; y en el caso
del control en lazo cerrado, el controlador debe ser tal que la magnitud de P(z)C(z) sea mucho mayor que uno para las
frecuencias de operacion del sistema de control, pero ya no tiene que estar necesariamente relacionado con el modelo de
la planta.
Es posible hallar el equivalente en lazo cerrado del control por modelo interno. (ver gura 4.26). El controlador
equivalente se obtiene a juntar los bloques que corresponden al controlador Q(z) y del modelo interno M(z). Haciendo
esto es facil obtener el control equivalente:
u(z) = Q(z) [r(z) +y
m
(z)] , (4.203)
= Q(z) [r(z) +M(z)u(z)] , (4.204)
= Q(z) [r(z) +M(z)u(z)] , (4.205)
u(z) =
Q(z)
1 Q(z)M(z)
r(z). (4.206)
De modo que el control equivalente en lazo cerrado es:
C
eq
(z) =
Q(z)
1 C(z)M(z)
. (4.207)
as mismo de la ecuacion (4.207) se puede hallar la relaci on entre C
eq
(z)
Q(z) =
C
eq
(z)
1 +M(z)C
eq
(z)
. (4.208)
Cuando se cumple la condici on del modelado perfecto de la planta (M(z) = P(z)). Se pueden establecer dos
condiciones para la estabilidad del control por modelo interno:
1. El sistema (4.202) es estable si y s olo si la planta P(z) y el Controlador Q(z) son tambien estables.
2. Si P(z) es estable y Q(z) = P(z). Entonces el sistema retroalimentado convencional equivalente (4.207) es
tambien estable.
El control por modelo interno ofrece los siguientes benecios con respecto a la retroalimentacion clasica.
1. No se necesita resolver las races del polinomio caracterstico 1 + P(z)Q(z), s olo es necesario examinar los
polos de Q(z).
2. Durante el dise no del control por modelo interno es unicamente necesario hallar el controlador Q(z) en vez
de C(z).
128 JMFA
Captulo 4. Control de Sistemas 4.6. Control por Modelo Interno, [58]
Planta Compensador
r(z)
Q(z) P(z)
y(z)
d u(z)
+
+
d(z)
Modelo
M(z) -
+
+
-
y(z)
p
d(z)
^
Planta Controlador
r(z)
C (z)
eq
P(z)
+
-
e(z) y(z)
d u(z)
+
+
d(z)
y(z)
p
y(z)
d
(a) (b)
Figura 4.26: Control por Modelo Interno Eq. Lazo cerrado Es posible deducir el equivalente entre un sistema de
control por modelo interno y el sistema convencional de lazo cerrado. a) Se marca los bloques que integran al control
por modelo interno. b) Es el sistema de lazo cerrado equivalente.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
La condici on de que Q(z) = M
1
(z) signica que el controlador utiliza la informacion disponible como modelo de la
planta P(z). La condici on para el seguimiento perfecto de la referencia es que el modelo de la planta M(z) sea igual a la
planta P(z); pero garantizar esto para todo el rango de operacion de la planta es por lo general muy difcil de alcanzar,
esto se acent ua en las frecuencias altas de operacion. Una forma para contrarestar el efecto de la dinamica no modelada
de alta frecuencia es usar un ltro pasa bajas en serie con el controlador Q(z) esto ayuda a aumentar el grado de robustes
del sistema de control. As que el controlador por modelo interno suele integrarse de la forma: Q(z)F(z) donde F(z) es
un ltro pasa bajas.
El dise no de Q(z) se realiza en tres pasos:
1. El modelo del sistema M(z) se factoriza en dos componentes
M(z) = M
+
(z)M

(z) (4.209)
en donde M
+
(z) reune los componentes de M(z) que no son invertibles, o que causaran problemas al
incluirlos en el control, y M

(z) contiene los componentes restantes de M(z).


2. Se usa como parte del controlador Q

(z) = (M

(z))
1
.
3. Y nalmente se utiliza como control por modelo interno a:
Q(z) = Q

(z)F(z) (4.210)
siendo F(z) un ltro pasa bajos.
4.6.1. Control por Modelo Interno Redes Neuronales
Por sus caractersticas de robustes el control por modelo interno es muy atractivo de implementar por medio de redes
neuronales. La capacidad de una red neuronal para representar funciones ya ha sido comentada, de modo que se pueden
utilizar redes neuronales en los componentes del control por modelo interno.
En la gura 4.27. a se presenta el esquema de control por modelo interno. En primer lugar el control por modelo
interno aprovecha el conocimiento de la planta para incorporarlo en el control. En el caso de que el modelo empate con el
comportamiento de la planta, el control por modelo interno asegura un seguimiento exacto de la referencia por la planta.
Y para el rechazo de perturbaciones, es suciente que el controlador sea el modelo inverso de la planta para asegurar su
cancelacion a la salida. En la gura 4.27. b esta el esquema de control por modelo interno usando redes neuronales,
en el esquema se propone usar dos redes neuronales, una que se entrena para reproducir el modelo de la planta, y la
segunda para generar la se nal de control. El ltro que se pone es para aumentar la robustes del sistema de control al
atenuar la accion de control cuando el sistema trabaja a altas frecuencias donde se presentan diferencias de modelado.
Algo importante que destacar es que al utilizar redes neuronales posibilita que el sistema a controlar sea no lineal, debido
a que las redes pueden reproducir las relaciones no lineales que en los sistemas se presentan.
JMFA 129
4.6. Control por Modelo Interno, [58] Captulo 4. Control de Sistemas
De manera que se requiere entrenar las redes para sustituir el modelo del sistema y el controlador. En la gura 4.28.
a esta el esquema general para el entrenamiento del modelo de la planta, se utiliza el error de modelado y se retropropaga
atraves de la red para ajustar sus pesos y minimizar el error.
La red que hace de controlador se entrena utilizando la red del modelo de la planta (ver gura 4.28. a) y se obtiene
su modelo inverso. Notar que en realidad el controlador es el modelo inverso de la red de identicacion.
Planta Control
r(z) y(z)
d u(z)
+
+
d(z)
Modelo
-
+
+
-
y(z)
p
d(z)
^
Filtro Planta
r(z) y(z)
d u(z)
+
+
d(z)
-
+
+
-
y(z)
p
d(z)
^
Filtro
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
Control
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
Modelo
y (z)
m
y (z)
m
(a) (b)
Figura 4.27: Control por Modelo Interno Redes Neuronales. El esquema de control por modelo interno puede ser
implementado por medio de redes neuronales. En a) Se presenta el esquema general del control por modelo interno.
b) Se usan dos redes neuronales, una para identicar el modelo inverso de la planta, y la otra es el controlador.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Planta
y(z)
d
+
+
d(z)
-
+
y(z)
p
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
e
n
t
r
a
d
a
s
p
e
s
o
s
Ajuste
e (z)
m
Modelo
y (z)
m
Planta
r(z) y(z)
d u(z)
+
+
d(z)
y(z)
p
Control
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
Modelo
y (z)
m
e
n
t
r
a
d
a
s
p
e
s
o
s
Ajuste
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
+
-
e (z)
c
(a) (b)
Figura 4.28: Control por Modelo Interno Entrenamiento. Las redes neuronales para el control por modelo interno
se entrenan fuera de lnea. En a) Se entrena a la red neuronal para reproducir el comportamiento de la plata a
controlar, el error e
m
(k) se retropropaga a traves de la red. b) El controlador es en principio el modelo inverso de
la planta, el error e
c
(k).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
130 JMFA
Captulo 4. Control de Sistemas 4.7. Control de Sistemas por medio de RNRE.
4.7. Control de Sistemas por medio de RNRE.
Una RNRE es una red neuronal dinamica (ver seccion 2) su ley de aprendizaje se obtiene a traves del algoritmo de
retropropagacion del error. Ademas se ha demostrado que tiene la capacidad identicar sistemas no lineales (ver secci on
3.4.1).
Ahora se presenta el caso del uso de una RNRE para el control de sistemas no lineales. El problema que se presenta es
como hallar un esquema en donde se aproveche las estructura de la RNRE y su algoritmo de aprendizaje con el objetivo
de modicar el comportamiento de un sistema dinamico.
4.7.1. Sistemas de Control Adaptable Indirecto Usando los Parametros Obtenidos
por la RNRE
Esta fue la primera soluci on en la que se experimento. La idea se basa en utilizar los parametros generados por una
RNRE que identica el comportamiento del sistema a controlar, y dado que estos parametros sintetizan la dinamica
aproximada del sistema se usan para construir un control de tipo indirecto.
Planta
y(z)
d
+
+
d(z)
-
+
y(z)
p
RNRE
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
e
n
t
r
a
d
a
s
p
e
s
o
s
Ajuste
e (z)
m
Modelo
y (z)
m
Parmetros
Control
Parmetros
r
e
f
e
r
e
n
c
i
a
r(z)
Figura 4.29: Control Adaptable Indirec-
to RNRE. Se puede utilizar una Red
Neuronal Recurrente Entrenable para
identicar a un sistema o planta y luego
usar los par ametros de la RNRE para
calcular la ley de control.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control Proporcional:
Considerese el modelo linealizado de una RNRE de la forma:
x(k + 1) = Jx(k) +Bu(k), (4.211)
y(k) = Cx(k), (4.212)
en donde J R
nn
, B R
nm
y C R
pn
, es posible hallar matrices de transformacion T y H, tales que:
J

= T
1
JT, (4.213)
B

= T
1
BH, (4.214)
C

= CT, (4.215)
que llevan al sistema (4.211-4.212) a la forma canonica de Luenberger:
v(k + 1) = J

v(k) +B

w(k) (4.216)
y(k) = C

v(k) (4.217)
(4.218)
JMFA 131
4.7. Control de Sistemas por medio de RNRE. Captulo 4. Control de Sistemas
T es una matriz de transformacion, las matrices J

, B

, y C

, son las siguientes:


J

=
_
_
_
_
_
J

11
J

12
J

1m
J

21
J

22
J

2m
.
.
.
.
.
.
.
.
.
.
.
.
J

m1
J

m2
J

mm
_
_
_
_
_
; J

ii
=
_
0 I

ii
_
; J

ij
=
_
0

ij
_
; (4.219)
B

=
_
_
_
_
_
B

11
B

12
.
.
.
B

1m
_
_
_
_
_
; B

ii
=
_
0
b

i
_
; H =
_
_
_
_
_
1 b
12
b
1m
0 1 b
2m
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1
_
_
_
_
_
; (4.220)
en donde
ii
=
_

i1+1
, . . . ,
i

;
ij
_

j1+1
, . . . ,
j

; b

i
=
_
0 0 1 0 0

, es decir, un 1 en al posici on i.
Las matrices por bloques que se usan tiene las dimensiones siguientes:
J

ii
R
ii
; J

ij
R
ij
; B

ij
R
im
(4.221)

ii
R
1i
;
ij
R
ij
; b

i
R
1m
; H R
mm
. (4.222)
Los ndices de controlabilidad
i
estan determinados a partir del n umero de columnas linealmente independientes de
la matriz de controlabilidad =
_
B, JB, J
2
B, . . . , J
n
B

.
Es posible dise nar una retroalimentacion de los estados usando los metodos explicados en [59].
De forma que la ley de control es:
w(k) = Gv(k); (4.223)
en donde G es una matriz de ganancia mn. Aplicando esta retroalimentacion el sistema en lazo cerrado es:
v(k + 1) = (J

G)v(k) = A
c
v(k), (4.224)
en donde A
c
es una matriz de transicion de estados en lazo cerrado.
Por la estructura de la matriz B

, se puede escribir una expresion para la matriz de ganancia G:


G = ; g
ii
=
ii
ii; g
ij
=
ij
. (4.225)
Usando las matrices de transformacion se puede obtener la ley de control expresada en coordenadas originales del
sistema:
u(k) = Kx(k) =; K = H
1
GT, (4.226)
en particular en el caso del control dead-beat (Polos controlables en el origen) se requiere que: = 0, de manera que
G = .
Control Proporcional-Integral:
Otro metodo de dise no es la sintesis de controladores de tipo P, PD, PI y PID. Ahora se trata el caso del dise no de
un controlador tipo PI. Se utiliza el mismo metodo de retroalimentacion que para el caso proporcional, s olo se agrega
otro termino a la ecuacion (4.211). Esta ecuaci on es la integral de la salida del sistema (4.212), esto es:
x
I
(k + 1) = T
s
y(k) + x(k) (4.227)
en donde x
I
(k) es un vector de terminos integrales, y T
s
es el perodo de discretizacion. Al sustituir (4.212) en (4.227),
produce:
x
I
(k + 1) = T
s
Cy(k) +x
I
(k) (4.228)
132 JMFA
Captulo 4. Control de Sistemas 4.7. Control de Sistemas por medio de RNRE.
Combinado la ecuacion (4.227) con (4.228) obtenemos el sistema aumentado:
x
a
(k + 1) = J
I
x
a
(k) +B
I
u(k), (4.229)
en donde x
a
(k) es un vector de estados aumentado. El sistema se transforma en el siguiente:
J
I
=
_
J 0
T
s
C I
I
_
; B
I
=
_
B
0
I
_
(4.230)
en donde I
I
es una matriz unitaria y 0
I
es una matriz de componentes cero. Y sobre este sistema se aplica la retroali-
mentacion de estados.
Es interesante hablar del caso de un sistema de una entrada y una salida; el sistema tiene la siguientes matrices:
J = Diag (j
ii
) ; B =
_
b
1
, b
2
, b
m
_
T
; C =
_
c
1
, c
2
, c
p
_
; (4.231)
Las matrices del estado y del control del sistema transformado, se representa en la forma canonica:
A =
_
0 I
n1

_
; B

=
_
0
n1
1
_
; H = b, (4.232)
en donde es un vector la de coecientes; I
n1
es una matriz unitaria (n 1) (n 1); 0
n1
es una matriz de
componentes cero (n 1) (n 1). La transformacion T puede obtenerse a partir de las siguientes relaciones:
TB

= B; TA = JT, (4.233)
Entonces es posible dise nar un control usando las ecuaciones (4.223) y (4.225).
Ejemplo 4.8 (Control Adaptable Indirecto Control Proporcional, Proporcional-Integral.) Considere que el sis-
tema esta regido por la siguientes expresiones:
x
1
(k + 1) = g (x(k), u(k)) ; (4.234)
x
2
(k + 1) = x
1
(k) (4.235)
x
3
(k + 1) = x
2
(k) (4.236)
x
4
(k + 1) = u(k) (4.237)
y(k) = x
1
(k); (4.238)
g (x(k), u(k)) =
x
1
x
2
x
3
1 +x
2
1
+x
2
2
+x
2
3
+ 0.5x
4
+ 2u, (4.239)
Los resultados obtenidos utilizando una retroalimentaci on de estados de tipo proporcional y proporcional-Integral se
presentan el las guras 4.27. a-d. Los estados y los parametros de la planta se obtienen usando una identicaci on en
lnea a traves de una RNRE. Notar que existe un sobre impulso al principio del proceso, esto es provocado por el tiempo
que necesita la RNRE para ajustar sus parametros y mejorar su identicacion.

En el ejemplo 4.8 se utiza una RNRE para identicar el sistema y se usan sus parametros para calcular la ley de
control, este esquema de control es de tipo indirecto. La dicultad que presenta es la necesidad de ejecutar una fase de
identicacion antes de iniciar con el control, a unque en este ejemplo se calcula la se nal de control al mismo tiempo que
se identica, esto provoca se produzcan fallas al inicio y que no se pueda controlar al sistema. As que es recomendable
que exista una fase previa de identicacion del sistema. Los resultados de la gura 4.30, dan prueba de que una RNRE
es lo sucientemente rapida para lograr buenos resultados durante su operacion.
JMFA 133
4.7. Control de Sistemas por medio de RNRE. Captulo 4. Control de Sistemas
0 2 4 6 8 10 12 14 16 18 20
-5
-4
-3
-2
-1
0
1
2
3
4
(a)
0 2 4 6 8 10 12 14 16 18 20
0
2
4
6
8
10
12
(b)
0 5 10 15 20 25
-40
-20
0
20
40
60
80
100
120
140
160
(c)
0 5 10 15 20 25
0
100
200
300
400
500
600
700
800
900
1000
(d)
Figura 4.30: Control Adaptable Indirecto P, PI. Control Proporcional: Par ametros de la red: = 0.1, = 0.1,
Orden de la Red Neuronal n = 2, Periodo de muestreo T
s
= 0.01 seg. La referencia es un tren de pulsos de frecuencia
1/5 Hz, amplitud=3 y ciclo de trabajo de 50. a) Lnea por puntos es la salida del la RNRE, lnea continua es la
salida del sistema; b) Es el error cuadratico medio (MSE).
Control Proporcional Integral: Paremetros de la red: = 0.5, = 0.5, Orden de la red neuronal n = 1, perodo de
muestreo To = 0.01 seg., La referencia es un tren de pulsos de frecuencia 1/8 Hz, amplitud=100 y ciclo de trabajo
de 50. c) Lnea por puntos es la salida de la RNRE, lnea continua es la salida del sistema; d) Es el error cuadratico
medio.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control Adaptivo para Seguimiento de Trayectoria Caso escalar:
El problema de seguimiento consiste en el dise no de un controlador que de manera asintotica reduce el error entre la
salida de la planta y la se nal de referencia. Aqu se trata el caso escalar.
Con una RNRE se logra identicar a sistemas y produce un modelo lineal y controlable del mismo. Este modelo es
mejorado continuamente durante el entrenamiento y este mismo puede ser usado en el dise no del sistema de control. En
esta seccion se propone utilizar el metodo presentado en [41].
Entre una de las caractersticas de una RNRE es que presenta un comportamiento no lineal global, pero localmente
puede aproximarse por una red lineal. Aprovechando esta estructura se aplican algunos de los metodos conocidos para
los sistemas representados en variables de estado. Aqu se propone utilizar los parametros de la red para aplicar un
control adaptable de seguimiento de trayectoria. Durante el proceso de aprendizaje la red ajusta sus pesos J, B, y C.
La aproximacion lineal que la red forma del sistema queda expresado como:
x(k + 1) = Jx(k) +Bu(k); (4.240)
134 JMFA
Captulo 4. Control de Sistemas 4.7. Control de Sistemas por medio de RNRE.
y(k) = Cx(k); (4.241)
Arreglando la ecuacion de la salida (4.241) para k +1 sustituyendo en esta ecuacion para el estado siguiente (4.240), se
tiene:
y(k + 1) = Cx(k + 1); (4.242)
y(k + 1) = CJx(k + 1) +CBu(k), (4.243)
al sacar la derivada de (4.242) y (4.243) con respecto a u(k):
y(k)
u(k)
= C
x(k)
u(k)
; (4.244)
y(k + 1)
u(k)
= C
(Jx(k + 1) +Bu(k))
u(k)
, (4.245)
recordar el concepto de grado relativo. Si se supone que el sistema tiene grado relativo igual a uno las expresiones (4.246)
y (4.247) son tales que:
y(k)
u(k)
= C
x(k)
u(k)
0; (4.246)
y(k + 1)
u(k)
= C
(Jx(k + 1) + Bu(k))
u(k)
,= 0, (4.247)
es decir que la salida del sistema y(k) no se ve afectada por la entrada u(k), mientras que y(k +1) s. De modo que de
la ecuacion (4.243) se obtiene la ley de control:
CJx(k + 1) +CBu(k) = y

(k + 1), (4.248)
en donde y

() es la referencia deseada (Notar que por ser una se nal conocida no hay problema para obtener cualquiera de
sus adelantos) con esta ley de control se obliga que el sistema alcance la referencia en un s olo paso, es decir que el control
(4.249) es de tipo dead-beat. De este modo la ley de control (4.249) es muy demandante, para darle un comportamiento
asintotico se propone construir la siguiente funci on de error, en donde: e(k) = y

(k) y(k):
CJx(k + 1) +CBu(k) = y

(k + 1) + [y(k)

y(k)] , (4.249)
y es un parametro contante y que tiene como requisito que [[ < 1 para no perder estabilidad.
Ejemplo 4.9 (Control Adaptable Indirecto Seguimiento de Trayectoria.) Considere que el sistema esta regido
por la siguientes expresiones:
x(k + 2) = 0.8x(k + 1) 0.15x(k) +h(u(k)); (4.250)
y(k) = f (x(k)) ; (4.251)
h(u(k)) =
[1.9u(k)]
3
1 [1.9u(k)]
2
+ 1
; (4.252)
f (x(k)) =
_
x(k + 2) + 0.3x(k + 1)
3.5
_
3
. (4.253)
La se nal de referencia se selecciona como: r(k) = sen(2T
s
k) + 2 sen(2 T
s
k).
Los datos de la red son: = 0.001, = 0.04, n umero de estados de la red n = 10, Periodo de muestreo T
s
= 0.01Seg..
El valor del parametro de control es = 0.1. Ver los resultados de la simulacion en la gura 4.9.

JMFA 135
4.7. Control de Sistemas por medio de RNRE. Captulo 4. Control de Sistemas
0 1 2 3 4 5 6 7 8 9 10
-5
-4
-3
-2
-1
0
1
2
3
4
5
Seg. .
0 1 2 3 4 5 6 7 8 9 10
-5
-4
-3
-2
-1
0
1
2
3
4
5
Seg
.
0 1 2 3 4 5 6 7 8 9 10
-5
-4
-3
-2
-1
0
1
2
3
4
5
Seg
.
Figura 4.31: Control Adaptable Indirecto
Seguimiento de Trayectoria.
Comparacion entre la respuesta del sistema y
la referencia deseada. La lnea continua es la
salida del sistema y(k) y la lnea por trazos es
la referencia.
Comparacion entre la salida del modelo no li-
neal, lnea continua. y la respuesta del la
RNRE, lnea por trazos. que se entrena co-
mo identicador.
Se muestra el error de seguimiento que se ob-
tiene al usar los par ametros de una RNRE y
el control (4.249)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7.2. Sistemas de Control Adaptable Directo Usando RNRE
Ya que las redes tienen la capacidad de generar modelos que se ajustan a las relaciones entre las variables de entrada y
salida, uno de los esquemas basicos para el control que se han propuesto es el llamado por modelo inverso. En este lo que
se busca es que la red neuronal aprenda la relacion inversa que existe entre las variables de entrada y salida del sistema a
controlar. Y despues usar esta red como un precompensador del sistema. Al hacer esto la relacion referencia-salida tiene
ganancia unitaria. Lo anterior implica que la salida del sistema y() sigue a la se nal de comando r().
Control por modelo Inverso
Ya en la seccion 4.3 se comenta el problema del control por modelo inverso. Ahora se utiliza una RNRE para controlar
el modelo de un sistema. El objetivo es obtener un esquema adaptable que usa una RNRE para identicar el modelo
136 JMFA
Captulo 4. Control de Sistemas 4.7. Control de Sistemas por medio de RNRE.
inverso del sistema a controlar.
El metodo de entrenamiento es el de tipo especializado, debido a que permite concentrarse la zona de operaci on o
de trabajo.
Planta
Datos
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
y(z)
p
RNRE
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
r(z)
- +
e
n
t
r
a
d
a
s
p
e
s
o
s
Ajuste
Controlador
e (z)
c
u(z)
Error
Medio
Cuadrtico

J(k)
e (k)
c
=
e (k)
c
J(k)

e (k)
c
y(k)
=
-1

y(k)
u(k)

w(k)
u(k)
(a)
Planta
Datos
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
y(z)
p
RNRE
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
r(z)
- +
e
n
t
r
a
d
a
s
p
e
s
o
s
Ajuste
Controlador
e (z)
c
u(z)
Error
Medio
Cuadrtico

J(k)
e (k)
c
=
e (k)
c
J(k)

e (k)
c
y(k)
=
-1

w(k)
u(k)
RN
e
n
t
r
a
d
a
s
s
a
l
i
d
a
s
pesos
y(k)
^

u(k)
y(k)
^
(b)
Identificador
Figura 4.32: Control Adaptable Directo Modelo Inverso. Por medio de una RNRE que se entrena para reproducir
el modelo inverso de un sistema se puede construir un sistema de control. a) El error debe retropropagarse en por
el modelo de sensibilidad de la planta para generar los gradientes para ajustar los pesos. d) Si no se dispone de un
modelo de la planta, se puede sustituir por una RNRE y retropropagar la se nal por ella.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Si se representa a la red neuronal y el sistema a controlar por las relaciones:
u(k) = R(r(k)) (4.254)
y(k) = P (u(k)) (4.255)
en donde u(k) es la se nal de control; y(k) es la respuesta del sistema.
Ademas el objetivo de control es la minimizacion del error medio cuadratico:
J(k) =
e
T
c
(k)e
c
(k)
2
(4.256)
Los gradientes que para el entrenamiento de la red neuronal se obtienen del modelo de sensitividad de la red y del
sistema, quedando expresados como:
J(k)
(k)
=
u(k)
(k)
y(k)
u(k)
e
c
(k)
y(k)
J(k)
e
c
(k)
(4.257)
=
u(k)
(k)
y(k)
u(k)
(1) e
c
(k). (4.258)
JMFA 137
4.7. Control de Sistemas por medio de RNRE. Captulo 4. Control de Sistemas
De la ecuacion (4.258) notar lo siguiente. El gradiente
u(k)
(k)
se puede obtener atraves de retropropagaci on y
y(k)
u(k)
corresponde al modelo de sensibilidad de la planta, si se tiene el modelo puede usarse y calcularse.
Sin embargo, en los casos que no se tenga un modelo preciso de la planta se puede usar una RNRE para identicar
al sistema y a traves de este retropropagar la se nal de error. Si la salida de la red es: y(k) entonces la expresi on (4.258)
quedara:
J(k)
(k)
=
u(k)
(k)
y(k)
u(k)
(1) e
c
(k). (4.259)
En la gura 4.32. Se muestra los casos de como retropropagar la se nal de error, esto depende de si se tiene un modelo
del sistema bajo control, o si se usa un red neuronal para identicarlo.
Ejemplo 4.10 (Control Adaptable Directo Modelo Inverso.) Considere que el sistema esta regido por la sigu-
ientes expresiones:
x
1
(k + 1) = x
2
(k) (4.260)
x
2
(k + 1) = x
3
(k) (4.261)
x
3
(k + 1) = 0.6x
1
(k) + 0.3x
2
(k) +h(u(k)) (4.262)
h(u(k)) = 0.4u(k) + 0.3u
2
(k) +u
3
(k) (4.263)
La se nal de referencia se selecciona como: r(k) = 0.5 sen().
Los datos de la red son: = 0.001, = 0.05, n umero de estados de la red n = 5, Periodo de muestreo T
s
= 0.01Seg.
Ver los resultados de la simulacion en la gura 4.33.

138 JMFA
Captulo 4. Control de Sistemas 4.7. Control de Sistemas por medio de RNRE.
0 5 10 15
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Control por Modelo Inverso
(a) t (seg)
0 5 10 15
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
Control por Modelo Inverso
(b) t (seg)
0 5 10 15
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Control por Modelo Inverso
(c) t (seg)
0 5 10 15
0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Control por Modelo Inverso
(d) t (seg)
Figura 4.33: Control Adaptable Directo Modelo Inverso. (a) Comparacion entre la respuesta del sistema y la
referencia deseada. La lnea continua es la salida del sistema y(k) y la lnea por trazos es la referencia. (b) Criterio
a minimizar J(k) Error medio cuadr atico. (c) Error de seguimiento e
c
(k). (d) Se nal de control u(k).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 139
4.7. Control de Sistemas por medio de RNRE. Captulo 4. Control de Sistemas
4.7.3. Control en Tiempo Real de un Motor de Corriente Continua
Debido a las pruebas en simulacion mostraron que los esquemas de control que se idearon entregaban buenos resultados
se realizaron experimentos en la plataforma descrita en el apendice E.
Se usa un motor de 24 voltios, y de aproximadamente de 8 amperes de corriente maxima. El motor esta conectado
a un amplicardor de potencia que es controlado por una tarjeta de acquisicion de datos. La programaci on se realiza en
Matlab-Simulink.
En los experimentos de control se llevaron asignando una referencia para la posicion y velocidad de motor. Debido
a que la informacion de retroalimentacion es la posicion del motor dada en las cuentas de un codicador optico, la
velocidad se estima por medio del uso de un ltro.
Figura 4.34: Plataforma experimental El mo-
tor de corriente continua es impulsado por un
amplicador de potencia que esta conectado a
una tarjeta electronica de acquisici on de datos.
Dos computadoras se hacen cargo de la pro-
gramacion y la supervici on del sistema.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
El esquema de control consiste tres redes neuronales. Una de ellas opera como control, se entrena para reproducir el
modelo inverso del sistema, para ello utiliza el error formado por la diferencia entre la se nal de referencia y la respuesta
del motor, e
c
= r(k) y(k). Otra de las redes neuronales es un identicador del motor, se entrena con la diferencia entre
la respuesta del motor y su salida, e
i
= y
n2
(k) y(k). Los estados de la red de identicacion se usan para formar una
retroalimentacion, de manera que se llevan los estados de la red de identicacion a la tercera red que se entrena con el
error de control.
Los datos de las redes son los siguientes: = 0.005 y = 0.005, el perodo de muestreo es T
s
= 0.001 Seg. La
redes uno y dos tienen una entrada, cuatro nodos internos y una salida. La tercera red neuronal tiene tres entradas, y la
misma conguraci on interna.
La se nal de referencia es la siguiente:
r(k) = G
1
Sat
_
G
2
sen(2

P
)
_
. (4.264)
en donde Sat() es la funci on de saturacion.
Se realizan dos experimentos de control, uno para controlar la posicion del motor y el otro para controlar la velocidad.
Para el experimento de posicion la referencia es:
r(k) = 1.5Sat
_
3 sen(2

4
)
_
. (4.265)
En la gura 4.7.3. En la primera graca se muestran la respuesta del motor comparada con la referencia deseada, notar
como al inicio hay una gran diferencia que se va reduciendo conforme se entrena la red neuronal. La graca del error
traza la forma en que se va disminuyendo. Y en la tercera graca esta el control producido por la red y que se aplica al
motor.
140 JMFA
Captulo 4. Control de Sistemas 4.7. Control de Sistemas por medio de RNRE.
Para el experimento de posicion la referencia es:
r(k) = 15Sat
_
20 sen(2

10
)
_
, (4.266)
y (4.267)
r(k) = 10 sen
_
2

2
_
(4.268)
En la gura 4.7.3. se presentan sus resultados.
e c
e i
+
+
xnn
uf f
u f b
+
xnn
yp
e c
e c
+
Seal de
Referencia
Planta
RNRE-1
RNRE-2
RNRE-3
Figura 4.35: Esquema de control en tiempo re-
al de un Motor CC. El esquema de control usa
tres redes neuronales. Una de control, se entrena
para reproducir el modelo inverso del sistema.
Otra red neuronal es un identicador del motor.
Los estados de la red de identicaci on se usan
para formar una retroalimentaci on, se llevan a
la tercera red que se entrena con el error de con-
trol.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 141
4.7. Control de Sistemas por medio de RNRE. Captulo 4. Control de Sistemas
0 2 4 6 8 10 12 14 16 18
2
1.5
1
0.5
0
0.5
1
1.5
2
Control Tiempo Real de un Motor de CC


(
r
a
d
)
(a) t (seg)
0 2 4 6 8 10 12 14 16 18
1
0.5
0
0.5
1
1.5
2
Control Tiempo Real de un Motor de CC
e
c
(
k
)

(
r
a
d
)
(b) t (seg)
0 2 4 6 8 10 12 14 16 18
0.1
0.08
0.06
0.04
0.02
0
0.02
0.04
0.06
0.08
0.1
Control Tiempo Real de un Motor de CC
u
(
k
)
(c) t (seg)
Figura 4.36: Control en Tiempo Real de
un Motor de CC Posici on.
(a) Comparacion entre la respuesta del
Motor y la referencia deseada. La lnea
continua es la salida de posici on del Mo-
tor (k) y la lnea por trazos es la refer-
encia.
(b) Error de seguimiento e
c
(k).
(c) Se nal de control u(k).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
142 JMFA
Captulo 4. Control de Sistemas 4.7. Control de Sistemas por medio de RNRE.
0 10 20 30 40 50 60
20
15
10
5
0
5
10
15
20
Control Tiempo Real de un Motor de CC

(
k
)
(c) t (seg)
0 10 20 30 40 50 60
20
15
10
5
0
5
10
15
20
Control Tiempo Real de un Motor de CC
e
c
(
k
)
(b) t (seg)
0 10 20 30 40 50 60
0.1
0.08
0.06
0.04
0.02
0
0.02
0.04
0.06
0.08
0.1
Control Tiempo Real de un Motor de CC
u
(
k
)
(c) t (seg)
Figura 4.37: Control en Tiempo Real de
un Motor de CC Velocidad.
(a) Comparacion entre la respuesta del
Motor y la referencia deseada. La lnea
continua es la salida de velocidad del
Motor (k) y la lnea por trazos es la
referencia.
(b) Error de seguimiento e
c
(k).
(c) Se nal de control u(k).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 143
4.8. Conclusiones Captulo 4. Control de Sistemas
4.8. Conclusiones
El objetivo de este captulo es reexionar de la necesidad del control, o lo que es lo mismo, del manejo de las variables
de interes de los sistemas, tambien se resumen algunas de las metodologas usadas para controlar sistemas a traves de
redes neuronales y, nalmente, se presentas los resultados en simulacion y en tiempo real de las aplicaciones de control
por medio de una Red Neuronal Recurrente Entrenable (RNRE).
Los casos de control por medio de redes neuronales estaticas han mostrado cierto grado de efectividad. La caracterstica
mas util es que una red neuronal es que puede aproximar funciones no lineales. Generalmente se utilizan para reproducir
la relacion funcional entre variables, una vez alcanzada la precision necesaria se utiliza la red neuronal como parte del
sistema de control. As hay esquemas que utilizan una red neuronal para reproducir la relacion funcional entre las variables
de un controlador convencional para que se sustituya a este control por la red. Otro enfoque es el control inverso, que
ajusta los pesos de la red neuronal para reproducir la relacion inversa del sistema, de modo que al poner a la red como
precompensador cancele la dinamica de la planta.
Pero por en los ejemplos que se realizaron se encuentra que la dicultad principal de las redes neuronales estaticas es
la relativa lentitud para su entrenamiento. Por lo general, los esquemas que utilizan redes neuronales se entrenan primero
con una serie de datos y s olo despues de lograr la precision establecida, se utiliza dentro del sistema de control.
Por ello el interes de aplicar una Red Neuronal Recurrente y Entrenable. Por el contrario de una red estatica, una red
dinamica es un sistema que responde a la se nal de entrada y a su estado interno. De manera que se espera que una red
dinamica no requiera gran n umero nodos ocultos (estados) y que esto permita que el ajuste de sus pesos sea mas rapido
comparado con una red estatica.
En los ejemplos de la aplicacion de la Red Neronal Recurrente pudieron comprobarse los benecios de usar una de
este tipo. Una RNRE no requiere de un gran n umero de nodos ocultos para lograr sus objetivos. Lo anterior hace menos
demandante de poder de calculo al sistema para entrenar la red. En los ejemplos de simulacion s olo el control Proporcional
y el Proporcional-Integral necesitan de que la red tenga un perodo de entrenamiento antes de iniciar a general la se nal
de control. El control por modelo inverso mostro mejores caractersticas, ya se podia iniciarse al calculo del control junto
con el entrenamiento de la red recurrente.
En los problemas de tiempo real se concluye que una RNRE puede controlar sistemas dinamicos sin requerir de un
perodo previo de entrenamiento, la red neuronal de manera progresiva iba mejorando su desempe no.
Pero quedan algunas cosas por resolver. Por ejemplo, si la red debe estar contantemente actualizando sus pesos.
En algunos experimentos se noto que una vez alcanzada la referencia se produce un ciclo lmite, es decir una oscilaci on
alrededor del la referencia, esta oscilacion es producida por la alta ganancia que la red tiene. La manera en la que se redujo
esta oscilacion es poniendo un lmite a los pesos de la red, principalmente a los pesos de la capa de retroalimentaci on de
la red. Al parecer es necesario poder ajustar los parametros de la red con el n de atenuarlos y reducir as su ganancia.
Otra interrogante es como evitar sobreentrenamiento de la red, ya que causa que en ciertas condiciones el sistema se
inestabilice. Todas estas cuestiones deberan irse resolviendo en el futuro.
144 JMFA
Conclusiones Generales y Perspectivas
Conclusiones Generales
El objetivo de todas estas paginas es dar un panorama general del uso de las redes neuronales en las tareas de
identicacion y control de sistemas. Desde el primer capitulo se presentaron los conceptos fundamentales, dando sus
modelos y principios de operacion, destacando los terminos de entrenamiento y generalizacion y de su capacidad de
aproximacion.
El trabajo de investigacion se enfoco en el uso de una estructura de red neuronal di namica que se llam o Red Neuronal
Recuerrente Entrenable, o por sus siglas RNRE. Esta red tiene una estructura que resulta interesante explotar. Es una
red neuronal dinamica, es decir que su respuesta depende de la se nal de entrada y de su variables internas. Es una red
que globalmente es un sistema no lineal, pero en su aproximacion, es una red localmente lineal. Su estructura es muy
semejante a una representacion de un sistema en variables de estado. El algoritmo de entrenamiento se deduce a partir
del algortimo de retropropagacion del error, para simplicar este algoritmo se restringen los pesos internos a formar una
matriz diagonal, durante el desarrollo de las ecuaciones de aprendizaje se supone que la relacion entre las variables es
estatica. Ambas consideraciones simplican y hacen que el entrenamiento se realice con poca complejidad.
La identicacion se entiende como la capacidad de construir modelo de los sistemas a partir de la informaci on
disponible. Se presentan algunos de los metodos convencionales para realizar identicacion. Se vera que la mayora de
estos metodos son aplicables a sistemas que se modelan como lineales en sus parametros. Antes de tratar la identicaci on
usando la RNRE, se presenta el porque una red neuronal de este tipo podra ser adecuada para esta tarea. A diferencia
de una red neuronal estatica, una RNRE es un sistema dinamico en si, de manera que no requiere de otros componentes
para servir como un modelo de identicacion. En esta seccion se presentan varios ejemplos se identicacion con la RNRE.
El control es otro aspecto que se trato. Pero este representa un reto de mayor complejidad. El algoritmo de entrena-
miento que se desarrollo es de tipo aprendizaje supervizado, y como los problemas de control requieren que se genere la
se nal de control correcta para que el sistema cumpla con lo que se le demanda, y como en principo no se conoce cual es
esta se nal correcta, esto hace dcil reconocer como utilizar una red neuronal como controlador. La RNRE puede actuar
como controlador situandola como un controlador por modelo inverso, para entrenarla se utiliza es esquema especializado
de entrenamiento. Esta fue la forma mas exitosa de usar a la RNRE como controlador. Los otros esquemas de control, por
ejemplo el control adaptable indirecto que utiliza los parametros de una RNRE usada para identicar al sistema, requiere
de un perodo de entrenamiento antes de que sean utiles los parametros para calcular la ley de control. El metodo por
modelo inverso sustituye la retroalimentacion del sistema al controlador, por la retropropagacion de la se nal de error a
traves de la red.
Finalmente, en los experimentos con el motor de cc. se conrma que una RNRE puede ser usada para controlar
sistemas. Anotando que una de las condiciones para que esto sea posible es que el sistema sea estable, o que tenga un
buen grado de amortiguamiento, en caso contrario se produce un ciclo lmite en las cercanias de la referencia.
145
4.8. Conclusiones Captulo 4. Control de Sistemas
Perspectivas
Por supuesto que hay temas que no se han tratado con la profundida debida, pero que podran irse resolviendo en
con trabajo futuro:
En el trabajo se han utilizado ecuaciones de entrenamiento estaticas, se debe considerar el caso dinamico.
Lo anterior abre la posibilidad de modicar la leyes de ajuste de los pesos, por lo visto en los experimentos, sera
interesante hacer que la ley de entrenamiento dependa tambien de la se nal de entrada.
Estos cambios deben analizarse para ver su efecto con la estabilidad del entrenamiento mismo y de la red.
Se debe buscar la posibilidad de aplicar a la RNRE en problemas de control en tiempo real de sistemas mas
complejos para evaluar con mayor rgidez su capacidad.
En algunos experimentos realizados ha resultado interesante hacer que el control neuronal colabore con un control
convencional, lo anterior hace mas conable al sistema.
146 JMFA
Bibliografa
[1] Philippe De Wilde. Neural Networks Models. Lecture Notes in Control and Information Science 210, Springer.
[2] K. J. Hunt, D. Barbaro, R. Zbikowski and P. J. Gawthrop. Neural Networks for Control SystemsA Survey.
Automatica, Vol. 28, No. 6, pp. 1083-1112, 1992
[3] Kurkt Hornik. Multilayer Feedforward Networks are Universal Approximators. Neural Networks, Vol. 2, pp. 359-366,
1989
[4] Kurkt Hornik. Approximation Capabilities of Multilayer Feedforward Networks. Neural Networks, Vol. 4, pp. 251-
257, 1991
[5] Ken-Ichi Funahashi. On the Approximate realization of Continuos Mappings by Neural Networks. Neural Networks,
Vol. 2, pp. 183-192, 1989
[6] P. S. Sastry, G. Santharam, K. P. Unnikrishnan Memory Neuron networks for Identication and Control of Dy-
namical Systems. IEEE Trans. on Neural Networks, Vol. 5, No. 2, March, 1994.
[7] Ah Chung Tsoi, S. Andrew D. Back. Locally Recurrent Globally Feedforward Networks: A Critical Review of
Architectures. IEEE Trans. on Neural Networks, Vol. 5, No. 2, pp . 229-239 March, 1994
[8] K. S. Narendra and K. Parthasarathy. Identication and Control of Dynamical Systems Using Neural Networks.,
IEEE Trans. on Neural Networks, Vol. 1, No. 1, March, 1990
[9] K. S. Narendra. Neural Network for Control Theory and Practice. Proceedings of the IEEE, vol. 84, No. 10,
October, 1996
[10] Kumpati S. Narendra, Kannan Parthasarathy. Gradient Methods for the Optimization of Dynamical Systems Con-
taining Neural Networks. IEEE Trans. on Neural Networks, Vol. 2, No. 2, March, 1991
[11] I. Baruch, E. Gorcheva, F. Thomas, R. Garrido. A neuro-fuzzy model for nonlinear for nonlinear plants identication.
Proc. of IASTED Int. Conf. of Modelling and Simulation, May 5-8, 1999, Philadelphia, PA, USA, pp. 219-221
[12] I. Baruch, R. Garrido, A. Mitev and B. Nenkova. A Neural Network Approach for Stick-Slip Friction Model Identi-
cation. Proc. of the 5
th
Int. conf. On Enginnering Applications of NNs (EANN99), Sept. 13-15, 1999, Warsaw,
Poland.
[13] Francesca Albertini, Eduado D. Sontag. State Observability in Recurrente neural Networks. Systems & Control
Letters, Vol. 22, pp. 235-244, 1994
[14] Eduardo D. Sontag, Hector Sussman. Complete Controllability of Continuous-time Recurrent Networks. Systems
& Control Letters, Vol. 30, pp. 177-183, 1997
[15] Simon Hayking. Neural Networks, A comprehensive Foundation, prentice Hall, second edition, 1999
[16] Kevin M. Passino. Intelligent Control: A Tutorial. IEEE Joint Int. Conf. on Control Applications & Int. Symp. on
Intelligent Control (CCAISIC2001), Sept. 5-7, 2001, Mexico, D.F, Mexico.
[17] K. J Hunt, G. R Irwin, K. Warwick. Neural Network Engineering in Dynamic Control Systems. Advanced In
Industrial Control, Springer, 1995.
147
4.8. Conclusiones Captulo 4. Control de Sistemas
[18] Patrick K. Simpson. Fundation of Neural Networks
[19] P. J. Werbos. Backpropagation Through Time: What It Does and How to do it.Proc. of the IEEE, Vol. 78, No. 10,
Oct, 1990.
[20] S. Mark Halpin, Reuben F. Burch. Applicability of Neural Networks to Industrial and Commercial Power Systems:
A Tutorial Overview. IEEE Trans. on Industrial Applications, Vol. 33, No. 5, September/October, 1997
[21] D. H. Rao, H. C. Wood, M. M. Gupta. Control of Nonlinear Multivariable Systems Using a Dynamic Neural
Network.
[22] M. S. Ahmed, M. A. Al-Dajani. Neural Regulator Desing. Neural Networks. Vol.11,pp. 1695-1709, 1998
[23] Kumpati S. Narendra, Snehasis Murkhopadhyay. Adaptive Control of Nonlinear Multivariable Systems Using Neural
Networks. Neural Networks, Vol. 7, No. 5, pp. 735-752, 1994
[24] Gitaras V. Puskorius, Lee A. Feldkamp. Neuro Control of Nonlinear Dynamic Systems with Kalman Filter Trained
Recurrent Networks. IEEE trans, on Neural Networks, vol. 5, No. 2, March, 1994
[25] Pramod Gupta, Naresh K. Sinka. Intelligent Control of RObotics Manipulator: Experimental Study using Neural
Networks. Mechatronics, vol. 10, pp. 289-305, 2000
[26] M. S. Ahmed, Block Partial Derivative and Its Applications to Neural-Net-based Direct-Model-Reference Adaptive
Control. IEE Proc. Control Theory Appl. Vol. 141, No. 5, September, 1994
[27] George A. Rubithakis, Manolis A. Chirstodoulou. Direct Adaptive Regulator of Unknow Nonlinear Dynamic Systems
Via Dynamic Neural Networks. IEEE Trans. on Systems, Man and Cybernetics, vol. 25, No. 12, December 1995
[28] L. Jin, P. N. Nikiforuk, M. M. Gupta. Adaptive Model Reference Control of Discrete-Time Nonlinear Systems Using
Neural Networks. Control-Theory and Advanced Tecnology, Vol. 10, No. 4, Part 3, pp. 1379-1399, September,
1995
[29] O. Nerrand, P. Roussel-Ragot, D. Urbani, L. Personnaz, G. Dreyfus. Training Recurrent Neural Networks: Why
and How? An Illustrative in Dynamical Process Modelling. IEEE Trans. on Neural Networks, Vol. 5, No. 2, March,
1994
[30] Lot A. Zadeh. Fuzzy Logic. IEEE Computer Magazine, pp. 83-93. April, 1988
[31] Charles W. Anderson. Learning to Control and Inverted Pendulum Using Neural Networks. IEEE Control Systems
Magazine, April, 1989
[32] Andrew G. Barto, Richard S. Sutton, Charles W. Anderson. Neuronlike Adaptive Elements That Can Solve Dicult
Learning Control Probles. IEEE Trans. on Syst. Man and Cibernetics, Vol. SMC-13, No.5, Sep./Oct. 1983.
[33] Richard S. Sutton, and Paul J. Werbos. Neural Networks for Control. W. The MIT Press, Cambridge Massachus-
setts, London, England edition, 1990
[34] F. L. Lewis, S. Jagannathan, A. Yesildirek. Neural Network Control of Robot Manipulators and Nonlinear Systems.
Taylor and Francis Ltd. 1999
[35] F. Chen. Backpropagation Neural Networks for Nonlinear Self-Tuning Adaptive Control. IEEE control System
Magazine, April, 1990
[36] Bernard Widrow, Michael A. Lehr. 30 Years of Adaptive Neural Networks: Perceptron, Madaline, and Backpropa-
gation.
[37] I. D. Landau, R. Lozano and M. M. Saud. Adaptive Control. Springer, 1998.
[38] Graham C. Goodwin and Kwai Sang Sin Adaptive Filtering Prediction and Control. Prentice-Hall, 1984.
[39] Kumpati S.

Narendra and Anaradha M. Annaswamy Stable Adaptive Systems Prentice-Hall, 1989.


[40] W. Murray Wonham Linear Multivariable Control-A Geometric Approach. Springer-Verlag, 1985.
148 JMFA
Captulo 4. Control de Sistemas 4.8. Conclusiones
[41] Arberto Isidori Nonlinear Control Systems. Springer-Verlag, 1995.
[42] Neural Networks for Optimization and Signal Processing. John Wiley & Sons, 1992.
[43] Benjamin C. Kuo Automatic Control Systems. Prentice Hall, 1995.
[44] D. P. Kwok, P. Wang and K. Zhou. Process Identication Using a Modied Elman Neural Net. Int. Symposium
on Speach, Image Processing and NN, Hong Kong, 13-16 April, 1994.
[45] Roland E. Thomas, Albert J. Rosa. The Analisys and Design of Linear Circuits. Prentice Hall, 1998
[46] http://www.mathworks.com
[47] http://www.quanser.com
[48] http://www.miktex.org
[49] http://www.winedt.org
[50] Mauricio Russek, Michael Cabanac. Regulacion y Control en Biologa. Ed. Instituto Politecnico Nacional. 1990.
[51] Mark W. Spong, M. Vidyasagar. Robot Dynamics and Control. Ed. John Wiley & Sons. 1989.
[52] Julio Tanumaru, Yoshizo Takahashi. A General Structure for Neurocontrol of Dynamical Systems. Proc. of the
IECON93, International Conference on Industrial Electronics and Instrumentation, pp.304-309, Vol.1, IEE, New
York, USA 1993.
[53] Tariq Samad. Neurocontrol: Concepts and Applications. ISA/91, Advances in Instrumentation and Control, Vol.46,
Instrument Society of America, 1991.
[54] Oceano Uno Color Diccionario Enciclopedico, 1995
[55] Eric A. Wan, Fran coise Beaufays. Diagrammatic Methods for Deriving and Relating Temporal Neural Network
Algorithms. Neural Computation, pp. 182-201. Vol.8, No.1, 1996
[56] K.J. Hunt, D.Sbarbaro. Neural Networks for Nonlinear Internal Model. IEE Proceedings-D, Vol.138, No.5, Septem-
ber, 1991
[57] K.J.

Astr om. Theory and Applications of Adaptive ControlA Survey. Automatica, Vol.19, No.5, pp.471-486, 1983
[58] Ming T. Tham. Internal Model Control. Parts of a set of lecture notes on Introduction to Robust Control, 2002
http://lorien.ncl.ac.uk/ming/
[59] I.Baruch Use of the Luenberguer Canonical Form in the Synthesis of Multivariable Control Sistems. Problems of
Engineering Cybernetics,Bas, Soa, Vol.6, 1977, pp.35-39.
JMFA 149
4.8. Conclusiones Captulo 4. Control de Sistemas
150 JMFA
Apendice A
Artculos Publicados
A.1. Congresos Nacionales
[a.i] I. Baruch, J. Marti n Flores, Implementacion de un Multi-Modelo Neuronal para la Identicacion de Sistemas No
lineales, CIE99, 8-10 Sept. 1999, CINVESTAV-IPN, Mexico D.F.
[a.ii] J. Martn Flores, I. Baruch, Aplicacion de Una Red Neuronal Recurrente para el Control de Sistemas Discretos,
Memorias del Congreso de Ingeniera Electrica CIE2000, 8-10 Sept. 2000, CINVESTAV-IPN, Mexico D.F.
[a.ii] I. Baruch, J. Martn Flores, Real-Time Identication and Control of Mechanical Systems by Neural Networks,
AAPR2000 Taller en Avances en la Percepcion Articial y Rob otica, 23-25 de Oct. 2000, CIMAT, Guanajuato,
Mexico, pp. 107-114
A.2. Congresos Internacionales
[b.i] Baruch, J. Martn Flores, Adaptive Control of Nonlinear Systems, (M.H. Hamza) Proc. of the IASTED Int.
Conference Control and Applications (CA2000), 24-27 May 2000, Canc un, Mexico, pp. 230-236.
[b.ii] I. Baruch, J. Martn Flores Albino, R. Garrido, E. Gortcheva, An Indirect Adaptive Neural Control of Nonlinear
Plants, Proc. of the International Joint Conference on Neural Networks, IJCNN2000, 24-27 July 2000, Como,
Italy.
[b.iii] I. Barouh, J. Martn Flores, J. C. Martnez, B. Nenkova, Fuzzy-Neural Models for Real-Time Identication and
Control of Mechanical Systems, (St. Cerri, D. Dochev-Eds) Proc. of the ECCAI International Conference AIM-
SA2000, 27-30 September 2000, Varna, Bulgaria, Lectures Notes in Articial Intelligence 1904, Springer, Berling,
pp.292-300
[b.iv] I. Baruch, J. Martn Flores, J. C. Martnez, R. Garrido, A Multi-Model Parameter and State Estimation of
Mechanical Systems, Proc. of the IEEE International Symposium ISIE2000, 4-8 December 2000, Puebla, Mexico,
vol.2, pp. 700-705
[b.v] I. Baruch, J. Martn Flores, Boyka Nenkova, A Neural Network Composite Model for Nonlinear System Identica-
tion and Control, Proc. Os the Intern. Conf. On Automation and Informatics (Symposium on Intelligent Control),
24-26 October, Soa, Bulgaria, pp. 115-119
[b.vi] I. Baruch, J. Martn Flores, R. Garrido, A Fuzzy-Neural Recurrent Multi-model for Systems Identication and
Control, Proc. of the European Control Conference, ECC2001, Portugal, Sept, 4-7, 2001, pp. 3540-3545.
[b.vii] I. Baruch, J. M. Flores, F. Thomas, E. Gorcheva, A Multimodel Recurrent Neural Network for Systems Identication
and Control, Proc. of the International Joint Conference on Neural Networks, IJCNN2001, Washington, USA,
July 14-19, 2001, pp. 1291-1296
151
A.3. Revistas Nacionales Captulo A. Artculos Publicados
[b.viii] M. M. Goire, J. M. Flores, M. Bonilla, I. Baruch, Model Reference Neural Control of a Variable Structure System
by Output Feedback, Proc. of the International Joint Conference on Neural Networks, IJCNN2001, Washington,
USA, July 14-19, 2001, pp.532-537
[b.ix] I. Baruch, J. Martn Flores, R. Garido, A. Del Pozo, Red Neuronal Recurrente para Identicaci on y Control de
Sistemas No Lineales, Memorias del III Simposio de Control Automatico, CIMAF2001, La Habana, Cuba, Marzo
19-23, 2001, pags. 175-182
[b.x] Ieroham Baruch, Jose Martn Flores, R uben Garrido, J. C. Martnez G. An Adaptive Neural Control of a DC Motor,
Proceedings of the IEEE Joint International Conference on Control Applications and Int. Symp. On Intelligent
Control, CCA/ISIC2001, Mexico D. F., Mexico, Sept. 5-7, 2001, pp.121-126
[b.xi] Ieroham Baruch, Jose Martn Flores, Boyka Nenkova, Application of the RTNN Model for a System Identication,
Prediction and Control, 2nd IFAC DECOM-TT, Ohrid, Macedonia, 24-30 May, 2001, pp. 351-357
A.3. Revistas Nacionales
[c.i] I. Baruch, J. Martn Flores, R. Garrido, E. Gortcheva, Identicacion de Sistemas No Lineales Complejos Usando
Multi-Modelo Neuronal, Revista Cientca, ESIME-IPN, No.19, enero-febrero, 2000, Mexico D.F, pp. 29-38
[c.ii] Jose Martn Flores Albino, Ieroham Baruch, R uben Garrido. Red Neuronal Recurrente para Identicaci on y Control
de Sistemas No lineales. Revista Cientca, ESIME-IPN, Vol.5, No.1, enero-marzo, 2001, pp. 11-20, 2001
[c.iii] M. Margarita Goire C., Jose Martn Flores A., Moises Bonilla, Ieroham S. Baruch. Control Neuronal por Modelo
de Referencia para un Sistema de Estructura Variable. Revista: Computacion y Sistemas, CIC-IPN, Vol.6, No.4,
2003, pp. 284-292, ISSN 1405-5546
A.4. Anexos en Libros
[d.i] Ierohan Baruch, Jose Martn Flores, Federico Thomas, R uben Garrido, Adaptive Neural Control of Nonlinear
Systems, (Georg Dorner, Horst Bischof, Kurt Hornik-Eds) Articial Neural Networks-ICANN 2001, Lecture Notes
in Computer Sciencien 2130, Springer, Berling, 2001, ISBN 3-540-42486-5, pp. 930-936
[d.ii] I. Baruch, J. M. Flores, R. Garrido, B. Nenkova, Real-Time Identication and Control of a DC Motor Using
Recurrent Neural Networks, (vara Kurkova, Nigel Steele, Roman Neruda, Miroslav Karny-Eds.) Articial Neural
Networks and genetic Algorithms, Springer-Verlag, Wien, New York, 2001, ISBN 3-211-83651-9, pp. 165-169
152 JMFA
Apendice B
Programas de Computo
B.1. Aproximacion de una Funcion No Lineal por Medio de una RN-
MC
% DICIEMBRE,2001
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB VER.5.0
%
% IMPLEMENTA UNA RED NEURONAL(RN) MULTI-CAPA PARA LA APROXIMACION DE UNA FUNCION NO LINEAL
% SE UTILIZA EL ALGORITMO DE ENTRENAMIENTO DEL TIPO RETRO-PROPAGACION DEL ERROR
% LA RN TIENE UNA ENTRADA, DOS CAPAS OCULTAS Y UNA SALIDA
% INICIO PROGRAMA: MLNN2P%%%%%%%%%%%
clear all close all
step=100; % Paso de graficacion
num_ep=800; % Numero de epocas
no=1; % No. de entradas.
n1=4; % No. de Nodos, primer capa oculta.
n2=4; % No. de Nodos, Segunda capa oculta.
n3=1; % No. de Nodos, Salidas
etha=0.15; %Constante de aprendizaje
% Pesos iniciales(incluye bias)
W1=0.1*rand(n1,no+1); W2=0.1*rand(n2,n1+1); W3=0.1*rand(n3,n2+1);
X=(-1:0.1:1); % Entradas
X_max=max(X);
num_data=size(X,1); %Numero de datos
Yd=1*sin((pi/1)*X); % Valor deseado (Funcion)
Yd_max=max(Yd);
% Inicializaciones
153
B.1. Aproximaci on de una Funci on No Lineal por Medio de una RNMC Captulo B. Programas de C omputo
Ec=0; MSE=[];
hfig1=figure(1); set(hfig1,position, [0 460 672 504]);
figure(hfig1); plot(X,Yd,o); axis([min(X)*1.1 max(X)*1.1
min(Yd)*1.1 max(Yd)*1.1]); drawnow; hold on;
for data=1:num_data
%Paso hacia adelante
S1=W1*[1;X(data)];
O1=tanh(S1);
S2=W2*[1;O1];
O2=tanh(S2);
S3=W3*[1;O2];
Y(data)=S3;
end
figure(hfig1); if (exist(id) & exist(idplot)),
delete(id);delete(idplot);end
id=text(X_max*0.5,Yd_max*0.8,0,num2str(0));
set(id,FontWeight,bold,color,black) idplot=plot(X,Y,-);
drawnow;
for ep=1:num_ep; % Por cada epoca
for data=1:num_data; % Para cada dato
% Paso hacia adelante
S1=W1*[1; X(data)];
O1=tanh(S1); % Salida de la primera capa
S2=W2*[1; O1];
O2=tanh(S2); % Salida de la segunda capa
S3=W3*[1; O2];
Y=S3; % Salida (lineal) de la RN
E=Yd(data)-Y; % Error
Ec=Ec+(E^2); % Suma de E^2
% paso hacia atras
grad1_local=-E; % Gradiente local de salida.
grad1=grad1_local*([1; O2]); % Gradiente de salida.
grad2_local=(1-O2.^2).*((W3(:,2:n2+1))*(grad1_local)); % Gradiente local capa oculta 2
grad2=grad2_local*([1; O1]); % Gradiente capa oculta 2
grad3_local=(1-O1.^2).*((W2(:,2:n1+1))*(grad2_local)); % Gradiente local capa oculta 1
grad3=grad3_local*([1; X(data)]); % Gradiente capa oculta 1
% Actualizacion de Pesos
W3=W3-etha*exp(-ep/num_ep)*grad1;
W2=W2-etha*exp(-ep/num_ep)*grad2;
W1=W1-etha*exp(-ep/num_ep)*grad3;
154 JMFA
Captulo B. Programas de C omputo B.2. Aproximaci on de una Funci on No Lineal por Medio de una RNFRB
end
MSE=[MSE Ec/2];
Ec=0;
if rem(ep,step)==0
for data=1:num_data
%Paso hacia adelante
S1=W1*[1;X(data)];
O1=tanh(S1);
S2=W2*[1;O1];
O2=tanh(S2);
S3=W3*[1;O2];
Y(data)=S3;
end
figure(hfig1);
if (exist(id) & exist(idplot)), delete(id);delete(idplot);end
id=text(X_max*0.5,Yd_max*0.1,0,[Ep= num2str(ep)]);
hold on
set(id,FontWeight,bold,color,black)
idplot=plot(X,Y,-);
plot(X,Yd,o)
axis([min(X)*1.1 max(X)*1.1 min(Yd)*1.1 max(Yd)*1.1]);
drawnow;
end
end
hfig2=figure(2); set(hfig2,position, [620 460 672 504]);
figure(hfig2); plot(1:num_ep,MSE);
id2=text(num_ep*0.5,max(MSE)*0.5,0,[MSE=,num2str(MSE(max(size(MSE,2))))]);
set(id2,FontWeight,bold,color,black)
% FIN PROGRAMA: MLNN2P%%%%%%%%%%%
B.2. Aproximacion de una Funcion No Lineal por Medio de una RN-
FRB
% ENERO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.0
%
% IMPLEMENTA UNA RED NEURONAL(RN) DE FRB PARA LA APROXIMACION DE UNA FUNCION NO LINEAL
% INICIO PROGRAMA: RBF2.m%%%%%%%%%%%
X=(-1:0.1:1); %Datos de entrenamiento(entradas)
num_data=size(X,1); %numero de datos de entrenamiento
Yd=1*sin((pi/1)*X); %Datos de entrenamiento(Salidas)
JMFA 155
B.3. Algoritmo de Proyeccion Captulo B. Programas de C omputo
Xc=(-1:0.2:1); %Centros de las FRB
num_data1=size(Xc,1); Yc=1*sin((pi/1)*Xc);
s=0.5;
R1=[]; for i=1:num_data;
for j=1:num_data1;
R1(i,j)=gaus(X(i)-Xc(j),s);
end
end
W=(inv(R1*R1)*(R1))*Yd; %Calculo de Pesos
Yp=R1*W;
figure(1); plot(X,Yd,-) hold on plot(X,Yp,x) hold on
plot(Xc,Yc,+) hold off axis([-1.1 1.1 -1.1 1.1])
% FIN PROGRAMA: RBF2.m %%%%%%%%%%%
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Funcion gaussiana
% r expansion
% Inicia Funcion gaus %%%%%%%%%%%
function y=gaus(x,r)
y=exp(-0.5*(x/r)^2); %
% Termina funcion gaus %%%%%%%%%%%
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
B.3. Algoritmo de Proyeccion
% MAYO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.0
%
% ALGORITMO DE PROYECCION
%
% INICIO PROGRAMA: proyec.m%%%%%%%%%%%
clear close all
%TIEMPOS
Tf=2; Ts=0.01; t=0:Ts:Tf;
156 JMFA
Captulo B. Programas de C omputo B.3. Algoritmo de Proyecci on
%FRECUENCIAS
f1=1/1; f2=10;
%CONSTANTES
a=0.1; c=0.001;
%PARAMETROS
par=[-295.803E-3; 703.648E-3; 10607.511E-3; 10607.511E-3];
%ESTIMADO INICIAL
pe(:,1:2)=[0 0;0 0;0 0;0 0];
%SALIDA INICIAL
y(1:2)=[0;0];
%ENTRADA INICIAL
u(1:2)=[0;0];
for k=3:(Tf/Ts)+1;
%REGRESOR
reg=[y(k-1);y(k-2);u(k-1);u(k-1)];
%SALIDA DEL SISTEMA
y(k)=(reg)*par;
%MODELO
ye(k)=(reg)*pe(:,k-1);
%ERROR DE SALIDA
e(k)=y(k)-ye(k);
%ALGORITMO DE PROYECCION
g=reg/(reg*reg+ c);
%ACTUALIZACION DE LA ESTIMACION
pe(:,k)=pe(:,k-1)+a*g*e(k);
%ENTRADA
u(k)=1*sin(2*pi*f1*(k-1)*Ts)+1*sin(2*pi*f2*(k-1)*Ts);
end
Tf2=(1/2)*Tf; t2=0:Ts:Tf2; r=size(t2,2); plot(t2,[y(1:r);
ye(1:r)]);
figure line([0 0 0 0;Tf Tf Tf Tf],[par; par]); hold on
plot(t,pe) hold off
figure
subplot(4,1,1) plot(t,e)%
subplot(4,1,2) plot(t,pe(1,:)-par(1))%
subplot(4,1,3) plot(t,pe(2,:)-par(2))%
subplot(4,1,4) plot(t,pe(3,:)-par(3))%
% TERMINA PROGRAMA: proyec.m%%%%%%%%%%%
JMFA 157
B.4. Algoritmo de Proyeccion Ortogonal Captulo B. Programas de C omputo
----------------------------------------
B.4. Algoritmo de Proyeccion Ortogonal
% MAYO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.0
%
% ALGORITMO DE PROYECCION ORTOGONAL
%
% INICIO PROGRAMA: porto.m%%%%%%%%%%%
clear close all
%TIEMPOS
Tf=2; Ts=0.005; t=0:Ts:Tf
%FRECUENCIAS
f1=1; f2=10;
%CONSTANTES
c=0.001;
par=[-295.803E-3; 703.648E-3; 10607.511E-3; 10607.511E-3];
%ESTIMADO INICIAL
pe(:,1:2)=[0 0;0 0;0 0;0 0];
%SALIDA INICIAL
y(1:2)=[0;0];
%ENTRADA INICIAL
u(1:2)=0;
P=eye(4);
for k=3:(Tf/Ts)+1;
%REGRESOR
reg=[y(k-1);y(k-2);u(k-1);u(k-1)];
y(k)=(reg)*par;
%MODELO
ye(k)=(reg)*pe(:,k-1);
%ERROR DE SALIDA
e(k)=y(k)-ye(k);
%ALGORITMO DE PROYECCION ORTOGONAL
g=P*reg/(c+reg*P*reg);
158 JMFA
Captulo B. Programas de C omputo B.5. Algoritmo de Mnimos Cuadrados
pe(:,k)=pe(:,k-1)+g*e(k);
P=P-P*reg*reg*P/(c+reg*P*reg);
%ENTRADA
u(k)=1*sin(2*pi*f1*(k-1)*Ts)+1*sin(2*pi*f2*(k-1)*Ts);
end
Tf2=1; t2=0:Ts:Tf2; r=size(t2,2); plot(t2,[y(1:r); ye(1:r)]);
figure line([0 0 0 0;Tf Tf Tf Tf],[par; par]); hold on
plot(t,pe) hold off
figure subplot(4,1,1) plot(t,e)
subplot(4,1,2) plot(t,pe(1,:)-par(1))
subplot(4,1,3) plot(t,pe(2,:)-par(2))
subplot(4,1,4) plot(t,pe(3,:)-par(3))
% FIN PROGRAMA: porto.m%%%%%%%%%%%
----------------------------------------
B.5. Algoritmo de Mnimos Cuadrados
% MAYO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.0
%
% ALGORITMO MINIMOS CUADRADOS
%
% INICIO PROGRAMA: lms.m%%%%%%%%%%%
clear close all
%TIEMPOS
Tf=2; Ts=0.01; t=0:Ts:Tf;
%FRECUENCIAS
f1=1; f2=10;
%CONSTANTES
c=1;
par=[-295.803E-3; 703.648E-3; 10607.511E-3; 10607.511E-3];
%ESTIMADO INICIAL
pe(:,1:2)=[0 0;0 0;0 0;0 0];
%SALIDA INICIAL
y(1:2)=[0;0];
JMFA 159
B.6. Ident. Vel. Motor cc. con RN Estatica Captulo B. Programas de C omputo
%ENTRADA INICIAL
u(1:2)=0;
P=1*eye(4);
for k=3:(Tf/Ts)+1;
%REGRESOR
reg=[y(k-1);y(k-2);u(k-1);u(k-1)];
y(k)=(reg)*par;
%MODELO
ye(k)=(reg)*pe(:,k-1);
%ERROR DE SALIDA
e(k)=y(k)-ye(k);
%ALGORITMO MINIMOS CUADRADOS
g=P*reg/(1+reg*P*reg);
pe(:,k)=pe(:,k-1)+g*e(k);
P=P-P*reg*reg*P/(1+reg*P*reg);
%ENTRADA
u(k)=1*sin(2*pi*f1*(k-1)*Ts)+1*sin(2*pi*f2*(k-1)*Ts);
end
Tf2=1; t2=0:Ts:Tf2; r=size(t2,2); plot(t2,[y(1:r); ye(1:r)]);
figure line([0 0 0 0;Tf Tf Tf Tf],[par; par]); hold on
plot(t,pe) hold off
figure subplot(4,1,1) plot(t,e)
subplot(4,1,2) plot(t,pe(1,:)-par(1))
subplot(4,1,3) plot(t,pe(2,:)-par(2))
subplot(4,1,4) plot(t,pe(3,:)-par(3))
% FIN PROGRAMA: lms.m%%%%%%%%%%%
----------------------------------------
B.6. Identicacion de la velocidad de un Motor de cc. usando una RN
Estatica
% JUNIO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
160 JMFA
Captulo B. Programas de C omputo B.6. Ident. Vel. Motor cc. con RN Est atica
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% IDENTIFICACION DEL MODELO DE VELOCIDAD DE UN MOTOR DE CD
% USANDO UNA RED NEURONAL ESTATICA
%
% INICIO PROGRAMA: nn_mot.m%%%%%%%%%%%
clear all close all
%TIEMPOS
Tf=5; Ts=0.005; t=0:Ts:Tf;
% # Numero de Epocas
epf=350;
% Parametros de entrenamiento
eta=0.00007; alfa=0.00001;
%# de entradas;# nodos ocultos;# salidas
no=4;n1=10; n2=1;
%g escala para Tanh
g=200;
%Bias
bias1=0; bias2=0;
%Pesos iniciales
W1=0.001*rand(n1,1+no); DW1=zeros(n1,1+no);
W2=0.001*rand(n2,n1+1); DW2=zeros(n2,n1+1);
%Parametros del Motor (velocidad)
par=[-295.803E-3; 703.648E-3; 10607.511E-3; 10607.511E-3];
%SALIDA INICIAL
y(1:2)=zeros(1,2); yg(1:2)=zeros(1,2); ynng(1:2)=zeros(1,2);
%ENTRADA INICIAL
u(1:2)=zeros(1,2); ug(1:2)=zeros(1,2);
%FRECUENCIAS
f1=0.5; f2=2; f3=10;
%Inicializaciones
Ec=0;
Tf2=2;
t1=0:Ts:Tf; t2=0:Ts:Tf2;
for ep=1:epf, % EPOCAS
for k=3:(Tf/Ts)+1, %SIMULACION
%REGRESOR
JMFA 161
B.6. Ident. Vel. Motor cc. con RN Estatica Captulo B. Programas de C omputo
reg=[y(k-1);y(k-2);u(k-1);u(k-2)];
%Velocidad Motor
y(k)=(reg)*par;
% Paso hacia adelante
S1=W1*[bias1;reg];
O1=g*tanh(S1/g);
S2=W2*[bias2;O1];
ynn(k)=S2; % Salida de la RN
% paso hacia atras
e=y(k)-ynn(k); % Error
Ec=Ec+(e^2); % Suma de e^2
E1(k)=(0.5/k)*Ec;
grad1=-e; % Gradiente de salida.
grad2=(1-(O1/g).^2).*W2(1,2:n1+1)*grad1; % Gradiente2.
% Actualizacion de Pesos
tmp2=W2;
W2=W2-eta*grad1*[bias2;O1]+alfa*DW2;%*exp(-k*Ts/1);
DW2=W2-tmp2;
tmp1=W1;
W1=W1-eta*grad2*[bias1;reg]+alfa*DW1;%*exp(-k*Ts/1);
DW1=W1-tmp1;
%ENTRADA
u(k)=1*cos(2*pi*f1*k*Ts)+2*cos(2*pi*f2*k*Ts)...
+0.5*sin(2*pi*f3*k*Ts);
end
ep
figure(1)
subplot(2,1,1)
plot(t1,[y; ynn])
subplot(2,1,2)
plot(t1,E1)
drawnow
Ec=0;
% Generalizacion
for k=3:(Tf2/Ts)+1,
%REGRESOR
reg=[yg(k-1);yg(k-2);ug(k-1);ug(k-2)];
%Velocidad Motor
yg(k)=(reg)*par;
reg2=[ynng(k-1);ynng(k-2);ug(k-1);ug(k-2)];
% Paso hacia adelante
S1=W1*[bias1;reg2];
162 JMFA
Captulo B. Programas de C omputo B.7. Ident. No lineal con RN Est atica
O1=g*tanh(S1/g);
S2=W2*[bias2;O1];
ynng(k)=S2; % Salida de la RN
%Error
e=yg(k)-ynng(k); % Error
Ec=Ec+(e^2); % Suma de e^2
E2(k)=(0.5/k)*Ec;
%ENTRADA
if k*Ts<0.5
ug(k)=0.1*sin(2*pi*2*k*Ts);
elseif k*Ts<0.75
ug(k)=0.05;
elseif k*Ts<1
ug(k)=0;
elseif k*Ts<=2
ug(k)=0.1*cos(2*pi*1*k*Ts);
end
end
figure(2)
subplot(2,1,1);
plot(t2,[yg; ynng])
subplot(2,1,2);
plot(t2,E2)
drawnow
Ec=0;
end
% FIN PROGRAMA: nn_mot.m%%%%%%%%%%%
B.7. Identicacion de un Sistema No Lineal Usando una RN Estatica
% JUNIO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% IDENTIFICACION DEL MODELO DE UN SISTEMA NO LINEAL
% USANDO UNA RED NEURONAL ESTATICA
%
% INICIO PROGRAMA: nn_id.m%%%%%%%%%%%
clear all close all
% # Numero de Epocas
epf=30;
% Parametros de entrenamiento
eta=0.04; alfa=0.04;
JMFA 163
B.7. Ident. No lineal con RN Estatica Captulo B. Programas de C omputo
%# de entradas;# nodos ocultos;# salidas
no=5;n1=10; n2=1;
%g escala para Tanh
g=0.5;
%Bias
bias1=0; bias2=0;
%Pesos iniciales
W1=0.001*rand(n1,1+no); DW1=zeros(n1,1+no);
W2=0.001*rand(n2,n1+1); DW2=zeros(n2,n1+1);
%SALIDA INICIAL
yp(1:3)=zeros(1,3); yn(1:3)=zeros(1,3); ypg(1:3)=zeros(1,3);
yng(1:3)=zeros(1,3);
%ENTRADA INICIAL
u(1:2)=zeros(1,2); ug(1:2)=zeros(1,2);
%Inicializaciones
Ec=0;
for ep=1:epf, % EPOCAS
for k=3:999, %SIMULACION
%ENTRADA
u(k)=0.80*sin(2*pi*k/250)+0.3*cos(2*pi*k/25);
%MODELO NO LINEAL
Num=yp(k)*yp(k-1)*yp(k-2)*u(k-1)*(yp(k-2)-1)+u(k);
Den=1+yp(k-2)^2+yp(k-1)^2;
yp(k+1)=Num/Den;
in1=[yp(k);yp(k-1);yp(k-2);u(k);u(k-1)];
% Paso hacia adelante
S1=W1*[bias1;in1];
O1=g*tanh(S1/g);
S2=W2*[bias2;O1];
yn(k+1)=S2; % Salida de la RN
% paso hacia atras
e=yp(k+1)-yn(k+1); % Error
Ec=Ec+(e^2); % Suma de e^2
E1(k)=(0.5/k)*Ec;
grad1=-e; % Gradiente de salida.
grad2=(1-(O1/g).^2).*W2(1,2:n1+1)*grad1; % Gradiente2.
% Actualizacion de Pesos
tmp2=W2;
W2=W2-eta*grad1*[bias2;O1]+alfa*DW2;%*exp(-k*Ts/1);
DW2=W2-tmp2;
164 JMFA
Captulo B. Programas de C omputo B.7. Ident. No lineal con RN Est atica
tmp1=W1;
W1=W1-eta*grad2*[bias1;in1]+alfa*DW1;%*exp(-k*Ts/1);
DW1=W1-tmp1;
end
ep
figure(1)
subplot(2,1,1)
plot(0:999,[yp; yn])
subplot(2,1,2)
plot(0:998,E1)
drawnow
Ec=0;
% Generalizacion
for k=3:599,
%ENTRADA
if k<150,
ug(k)=0.5*sin(2*pi*k/50);
elseif k<200
ug(k)=0.5;
elseif k<250
ug(k)=-0.5;
elseif k<=600
ug(k)=0.4*cos(2*pi*k/200);
end
%MODELO NO LINEAL
Num=ypg(k)*ypg(k-1)*ypg(k-2)*ug(k-1)*(ypg(k-2)-1)+ug(k);
Den=1+ypg(k-2)^2+ypg(k-1)^2;
ypg(k+1)=Num/Den;
in2=[yng(k);yng(k-1);yng(k-2);ug(k);ug(k-1)];
% Paso hacia adelante
S1=W1*[bias1;in2];
O1=g*tanh(S1/g);
S2=W2*[bias2;O1];
yng(k+1)=S2; % Salida de la RN
%Error
e=ypg(k+1)-yng(k+1); % Error
Ec=Ec+(e^2); % Suma de e^2
E2(k)=(0.5/k)*Ec;
end
figure(2)
subplot(2,1,1);
plot(0:599,[ypg; yng])
subplot(2,1,2);
JMFA 165
B.8. Ident. Vel. Motor cc. con RNRE Captulo B. Programas de C omputo
plot(0:598,E2)
drawnow
Ec=0;
end
% FIN PROGRAMA: nn_id.m%%%%%%%%%%%
B.8. Identicacion de la Velocidad de un Motor de CC. Usando una
Red Neuronal Recurrente Entrenable
% JUNIO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% IDENTIFICACION DEL MODELO DE VELOCIDAD DE UN MOTOR DE CD
% USANDO UNA RED NEURONAL RECURRENTE ENTRENABLE
%
% INICIO PROGRAMA: rnre_id1.m%%%%%%%%%%%
clear all clc clear
%Tiempos
Ts=0.005; % Tiempo de muestreo
Tf=5; % Tiempo de Entrenamiento
Tf2=4; % Tiempo de Generalizacin
%epoca
epf=5;
%Razon de aprendizaje
eta1=0.0005; alfa1=0.005;
eta2=0.00001; alfa2=0.0001;
eta3=0.0001; alfa3=0.001;
%escala para tanh
Sc1=20;
%Definicion de bias
biasc=0; %biasc=0;
biasb=0; %biasb=0;
%Dimensiones de la RN
ni=1; %# Entradas
n=5; %# Nodos
no=1; %# Salidas
%Inicializacion de pesos
B=0.001*randn(n,ni+1); DB=zeros(n,ni+1);
166 JMFA
Captulo B. Programas de C omputo B.8. Ident. Vel. Motor cc. con RNRE
J=0.001*randn(n,3); DJ=zeros(n,1);
C=0.001*randn(no,n+1); DC=zeros(no,n+1);
x=0.001*randn(n,3);
%Inicializacion sistema
w=zeros(1:2); wg=zeros(1:2); u=zeros(1:2); ug=zeros(1:2);
for ep=1:epf
for k=3:(Tf/Ts)+3,
%Referencia de entrada
u(k)=0.5*cos(pi*k*Ts)+...
1*cos(4*pi*k*Ts);%+...
%0.25*sin(20*pi*k*Ts);
%Sistema a identificar
%"Modelo de la Velocidad de un Motor de CD"
w(k)=-295.803E-3*w(k-1)+...
703.648E-3*w(k-2)+...
10607.511E-3*(u(k-1)+u(k-2));
%Paso hacia adelante
s1=B*[biasb; u(:,k)];
x(:,k+1)=J(:,k).*x(:,k)+s1;
z=Sc1*tanh(x(:,k)/Sc1);
s2=C*[biasc; z];
y(:,k)=1*(s2);
%Error
yd(:,k)=w(k);
e=yd(:,k)-y(:,k);
%Paso Hacia atras
%Entrenamiento
lgrad1=e*1;
lgradx=(((lgrad1)*C(:,2:n+1))).*(1-(z/Sc1).^2);
%Actualizacion de pesos
Ctemp=C;
C=C+eta1*(lgrad1*[biasc; z])+alfa1*DC;
DC=C-Ctemp;
Jtemp=J(:,k);
J(:,k+1)=J(:,k)+eta2*(lgradx.*x(:,k-1))+alfa2*DJ;
ji=find(abs(J(:,k+1))>0.9);
if ~isempty(ji),
J(ji,k+1)=0.8*sign(J(ji,k+1));
end
DJ=J(:,k+1)-Jtemp;
JMFA 167
B.8. Ident. Vel. Motor cc. con RNRE Captulo B. Programas de C omputo
Btemp=B;
B=B+eta3*(lgradx*[biasb; u(:,k-1)])+alfa3*DB;
DB=B-Btemp;
end
t=0:Ts:Tf;
figure(1)
plot(t,[yd(3:size(yd,2));y(3:size(y,2))]);
title(Identificacin-Entrenamiento) drawnow
t2=0:Ts:Tf2;%
JJ=J(:,k);
% Generalizacion
for k=3:(Tf2/Ts)+3,
%ENTRADA
if k*Ts<1,
ug(k)=0.1*sin(4*pi*k*Ts);
elseif k*Ts<1.5
ug(k)=0.05;
elseif k*Ts<2
ug(k)=0;
elseif k*Ts<=(Tf2/Ts)+3
ug(k)=0.1*cos(2*pi*k*Ts);
end
%Sistema a identificar
%"Modelo de la Velocidad de un Motor de CD"
wg(k)=-295.803E-3*wg(k-1)+...
703.648E-3*wg(k-2)+...
10607.511E-3*(ug(k-1)+ug(k-2));
%Paso hacia adelante
s1=B*[biasb; ug(:,k)];
x(:,k+1)=JJ.*x(:,k)+s1;
z=Sc1*tanh(x(:,k)/Sc1);
s2=C*[biasc; z];
yng(:,k)=1*(s2);
ydg(:,k)=wg(k);
end
ep
figure(2) plot(t2,[ydg(3:size(ydg,2)); yng(3:size(yng,2))])
title(Identificacin-Generalizacin) drawnow
end
% FIN PROGRAMA: rnre_id1.m%%%%%%%%%%%
168 JMFA
Captulo B. Programas de C omputo B.9. Ident. No Lineal con RNRE
B.9. Identicacion de un Sistema No Lineal Usando una Red Neuronal
Recurrente Entrenable
% JUNIO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% IDENTIFICACION DE UN SISTEMA NO LINEAL
% USANDO UNA RED NEURONAL RECURRENTE ENTRENABLE
%
% INICIO PROGRAMA: rnre_id2.m%%%%%%%%%%%
clear all clc clear
%epoca
epf=3;
%Razon de aprendizaje
eta1=0.05; alfa1=0.05;
eta2=0.005; alfa2=0.005;
eta3=0.05; alfa3=0.05;
%escala para tanh
Sc1=0.5;
%Definicion de bias
biasc=-1; %biasc=0;
biasb=-1; %biasb=0;
%Dimensiones de la RN
ni=1; %# Entradas
n=5; %# Nodos
no=1; %# Salidas
%Inicializacion de pesos
B=0.001*randn(n,ni+1); DB=zeros(n,ni+1);
J=0.001*randn(n,3); DJ=zeros(n,1);
C=0.001*randn(no,n+1); DC=zeros(no,n+1);
x=0.001*randn(n,3);
%Inicializacion sistema
yp(1:3)=zeros(1,3); yn(1:3)=zeros(1,3); ypg(1:3)=zeros(1,3);
yng(1:3)=zeros(1,3); u=zeros(1:2); ug=zeros(1:2);
for ep=1:epf
JMFA 169
B.9. Ident. No Lineal con RNRE Captulo B. Programas de C omputo
EC1=0;
for k=3:999,
%Referencia de entrada
u(k)=0.80*sin(2*pi*k/250)+...
0.3*cos(2*pi*k/25);
%MODELO NO LINEAL
Num=yp(k)*yp(k-1)*yp(k-2)*u(k-1)*(yp(k-2)-1)+u(k);
Den=1+yp(k-2)^2+yp(k-1)^2;
yp(k+1)=Num/Den;
%Paso hacia adelante
s1=B*[biasb; u(:,k)];
x(:,k+1)=J(:,k).*x(:,k)+s1;
z=Sc1*tanh(x(:,k)/Sc1);
s2=C*[biasc; z];
yn(:,k)=1*(s2);
%Error
e=yp(:,k)-yn(:,k);
EC1=EC1+e^2;
MSE1(k)=(0.5/k)*EC1;
%Paso Hacia atras
%Entrenamiento
lgrad1=e*1;
lgradx=(((lgrad1)*C(:,2:n+1))).*(1-(z/Sc1).^2);
%Actualizacion de pesos
Ctemp=C;
C=C+eta1*(lgrad1*[biasc; z])+alfa1*DC;
DC=C-Ctemp;
Jtemp=J(:,k);
J(:,k+1)=J(:,k)+eta2*(lgradx.*x(:,k-1))+alfa2*DJ;
ji=find(abs(J(:,k+1))>0.9);
if ~isempty(ji),
J(ji,k+1)=0.8*sign(J(ji,k+1));
end
DJ=J(:,k+1)-Jtemp;
Btemp=B;
B=B+eta3*(lgradx*[biasb; u(:,k-1)])+alfa3*DB;
DB=B-Btemp;
end
figure(1)
subplot(2,1,1)
plot(0:998,[yp(2:size(yp,2)); yn]);
170 JMFA
Captulo B. Programas de C omputo B.10. Ident. No Lineal MIMO con RNRE
title(Identificacin-Entrenamiento)
subplot(2,1,2)
plot(0:998,MSE1)
drawnow
EC2=0;
JJ=J(:,k);
% Generalizacion
for k=3:599,
%ENTRADA
if k<150,
ug(k)=0.5*sin(2*pi*k/50);
elseif k<200
ug(k)=0.5;
elseif k<250
ug(k)=-0.5;
elseif k<=600
ug(k)=0.4*cos(2*pi*k/200);
end
%MODELO NO LINEAL
Num=ypg(k)*ypg(k-1)*ypg(k-2)*ug(k-1)*(ypg(k-2)-1)+ug(k);
Den=1+ypg(k-2)^2+ypg(k-1)^2;
ypg(k+1)=Num/Den;
%Paso hacia adelante
s1=B*[biasb; ug(:,k)];
x(:,k+1)=JJ.*x(:,k)+s1;
z=Sc1*tanh(x(:,k)/Sc1);
s2=C*[biasc; z];
yng(:,k)=1*(s2);
%Error
e=ypg(:,k)-yng(:,k);
EC2=EC2+e^2;
MSE2(k)=(0.5/k)*EC2;
end
ep
figure(2) subplot(2,1,1); plot(0:598,[ypg(2:size(ypg,2)); yng])
title(Identificacin-Generalizacin) subplot(2,1,2);
plot(0:598,MSE2) drawnow end
% FIN PROGRAMA: rnre_id2.m%%%%%%%%%%%
B.10. Identicacion de un Sistema No Lineal MIMO Usando una Red
Neuronal Recurrente Entrenable
% JUNIO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
JMFA 171
B.10. Ident. No Lineal MIMO con RNRE Captulo B. Programas de C omputo
% COMPILADOR: MATLAB 5.2
%
% IDENTIFICACION DE UN SISTEMA NO LINEAL MIMO
% USANDO UNA RED NEURONAL RECURRENTE ENTRENABLE
%
% INICIO PROGRAMA: rnre_id3.m%%%%%%%%%%%
clear all clc close
%epoca
epf=20;
%Razon de aprendizaje
eta1=0.01; alfa1=0.01;
eta2=0.001; alfa2=0.001;
eta3=0.01; alfa3=0.01;
%escala para tanh
Sc1=0.5;
%Definicion de bias
biasc=-1; %biasc=0;
biasb=-1; %biasb=0;
%Dimensiones de la RN
ni=2; %# Entradas
n=10; %# Nodos
no=2; %# Salidas
%Inicializacion de pesos
B=0.001*randn(n,ni+1); DB=zeros(n,ni+1);
J=0.001*randn(n,3); DJ=zeros(n,1);
C=0.001*randn(no,n+1); DC=zeros(no,n+1);
x=0.001*randn(n,3);
%Inicializacion sistema
yp=zeros(2,3); yn=zeros(2,3); ypg=zeros(2,3); yng=zeros(2,3);
u=zeros(2,3); ug=zeros(2,3);
for ep=1:epf
EC1=0;
for k=2:500,
%Referencia de entrada
u(1,k)=0.8*sin(2*pi*k/100)+0.3*cos(2*pi*k/10);
u(2,k)=1.5*cos(2*pi*k/200)+0.3*sin(2*pi*k/20);
%MODELO NO LINEAL
%subsistema 1
yp(1,k+1)=0.5*(yp(1,k)/(1+yp(2,k)^2)+u(1,k));
172 JMFA
Captulo B. Programas de C omputo B.10. Ident. No Lineal MIMO con RNRE
yp(2,k+1)=0.5*(yp(1,k)*yp(2,k)/(1+yp(2,k)^2)+u(2,k));
%Paso hacia adelante
s1=B*[biasb; u(:,k)];
x(:,k+1)=J(:,k).*x(:,k)+s1;
z=Sc1*tanh(x(:,k)/Sc1);
s2=C*[biasc; z];
yn(:,k)=1*(s2);
%Error
e=yp(:,k)-yn(:,k);
EC1=EC1+e.^2;
MSE1(:,k)=(0.5/k)*EC1;
%Paso Hacia atras
%Entrenamiento
lgrad1=e*1;
lgradx=(((lgrad1)*C(:,2:n+1))).*(1-(z/Sc1).^2);
%Actualizacion de pesos
Ctemp=C;
C=C+eta1*(lgrad1*[biasc; z])+alfa1*DC;
DC=C-Ctemp;
Jtemp=J(:,k);
J(:,k+1)=J(:,k)+eta2*(lgradx.*x(:,k-1))+alfa2*DJ;
ji=find(abs(J(:,k+1))>0.9);
if ~isempty(ji),
J(ji,k+1)=0.8*sign(J(ji,k+1));
end
DJ=J(:,k+1)-Jtemp;
Btemp=B;
B=B+eta3*(lgradx*[biasb; u(:,k-1)])+alfa3*DB;
DB=B-Btemp;
end
figure(1)
subplot(2,1,1)
plot(0:499,[yp(:,2:size(yp,2));yn])
title(Identificacin-Entrenamiento)
subplot(2,1,2)
plot(0:499,MSE1)
drawnow
EC2=0;
% Generalizacion
JJ=J(:,k);
for k=2:500,
JMFA 173
B.11. Ident. M ultimodelo No Lineal MIMO con RNRE Captulo B. Programas de C omputo
%Referencia de entrada
if k<=150,
ug(1,k)=0.5*sin(2*pi*k/50);
elseif k<=275
ug(1,k)=0.7;
elseif k<=400
ug(1,k)=-0.7;
elseif k<=500
ug(1,k)=0.7*sin(2*pi*k/100);
end
if k<=150,
ug(2,k)=0.5*sin(2*pi*k/50);
elseif k<=275
ug(2,k)=0.7;
elseif k<=400
ug(2,k)=-0.7;
elseif k<=500
ug(2,k)=0.7*sin(2*pi*k/100);
end
%SISTEMA
ypg(1,k+1)=0.5*(ypg(1,k)/(1+ypg(2,k)^2)+ug(1,k));
ypg(2,k+1)=0.5*(ypg(1,k)*ypg(2,k)/(1+ypg(2,k)^2)+ug(2,k));
%Paso hacia adelante
s1=B*[biasb; ug(:,k)];
x(:,k+1)=JJ.*x(:,k)+s1;
z=Sc1*tanh(x(:,k)/Sc1);
s2=C*[biasc; z];
yng(:,k)=1*(s2);
%Error
e=ypg(:,k)-yng(:,k);
EC2=EC2+e.^2;
MSE2(:,k)=(0.5/k)*EC2;
end
ep
figure(2)
subplot(2,1,1);
plot(0:499,[ypg(:,2:size(ypg,2)); yng])
title(Identificacin-Generalizacin)
subplot(2,1,2);
plot(0:499,MSE2)
drawnow
end
%% FIN PROGRAMA: rnre_id3.m%%%%%%%%%%%
B.11. Identicacion M ultimodelo de un Sistema No Lineal MIMO Us-
ando una Red Neuronal Recurrente Entrenable
% JUNIO,2002
174 JMFA
Captulo B. Programas de C omputo B.11. Ident. M ultimodelo No Lineal MIMO con RNRE
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% IDENTIFICACION MULTI-MODELO DE UN SISTEMA NO LINEAL MIMO
% USANDO UNA RED NEURONAL RECURRENTE ENTRENABLE
%
% INICIO PROGRAMA: rnre_id4.m%%%%%%%%%%%
clear all clc close
%epoca
epf=40;
%Razon de aprendizaje
eta1=0.01; alfa1=0.01;
eta2=0.001; alfa2=0.001;
eta3=0.01; alfa3=0.01;
%escala para tanh
Sc1=0.5;
%Definicion de bias
biasc1=-1; %biasc=0;
biasb1=-1; %biasb=0;
biasc2=-1; %biasc=0;
biasb2=-1; %biasb=0;
%Dimensiones de la RN
ni=2; %# Entradas
n=10; %# Nodos
no=2; %# Salidas
%Inicializacion de pesos RNRE1
B1=0.001*randn(n,ni+1); DB1=zeros(n,ni+1);
J1=0.001*randn(n,3); DJ1=zeros(n,1);
C1=0.001*randn(no,n+1); DC1=zeros(no,n+1);
x1=0.001*randn(n,3);
%Inicializacion de pesos RNRE1
B2=0.001*randn(n,ni+1); DB2=zeros(n,ni+1);
J2=0.001*randn(n,3); DJ2=zeros(n,1);
C2=0.001*randn(no,n+1); DC2=zeros(no,n+1);
x2=0.001*randn(n,3);
%Inicializacion sistema
JMFA 175
B.11. Ident. M ultimodelo No Lineal MIMO con RNRE Captulo B. Programas de C omputo
yp=zeros(2,3); ypg=zeros(2,3);
u=zeros(2,3); ug=zeros(2,3);
for ep=1:epf
EC1=0;EC2=EC1;EC3=EC2;
for k=2:500,
%Referencia de entrada
u(1,k)=0.8*sin(2*pi*k/100)+0.3*cos(2*pi*k/10);
u(2,k)=1.5*cos(2*pi*k/200)+0.3*sin(2*pi*k/20);
nn=find(u(:,k)<0);
up=u;
if ~isempty(nn)
up(nn,k)=zeros(size(nn,1),1);
end
pp=find(u(:,k)>0);
un=u;
if ~isempty(pp)
un(pp,k)=zeros(size(pp,1),1);
end
%MODELO NO LINEAL
%subsistema 1
yp(1,k+1)=0.5*(yp(1,k)/(1+yp(2,k)^2)+u(1,k));
yp(2,k+1)=0.5*(yp(1,k)*yp(2,k)/(1+yp(2,k)^2)+u(2,k));
nn=find(yp(:,k)<0);
ypp=yp;
if ~isempty(nn)
ypp(nn,k)=zeros(size(nn,1),1);
end
pp=find(yp(:,k)>0);
ynp=yp;
if ~isempty(pp)
ynp(pp,k)=zeros(size(pp,1),1);
end
%Paso hacia adelante RNRE1
s11=B1*[biasb1; up(:,k)];
x1(:,k+1)=J1(:,k).*x1(:,k)+s11;
z1=Sc1*tanh(x1(:,k)/Sc1);
s21=C1*[biasc1; z1];
ypn(:,k)=1*(s21);
%Paso hacia adelante RNRE2
s12=B2*[biasb2; un(:,k)];
x2(:,k+1)=J2(:,k).*x2(:,k)+s12;
z2=Sc1*tanh(x2(:,k)/Sc1);
s22=C2*[biasc2; z2];
ynn(:,k)=1*(s22);
176 JMFA
Captulo B. Programas de C omputo B.11. Ident. M ultimodelo No Lineal MIMO con RNRE
%Error 1
e1=ypp(:,k)-ypn(:,k);
%Error 2
e2=ynp(:,k)-ynn(:,k);
e3=e1+e2;
EC1=EC1+e1.^2;
MSE1(:,k)=(0.5/k)*EC1;
EC2=EC2+e2.^2;
MSE2(:,k)=(0.5/k)*EC2;
EC3=EC3+e3.^2;
MSE3(:,k)=(0.5/k)*EC3;
%Paso Hacia atras 1
%Entrenamiento 1
lgrad1=e1*1;
lgradx=(((lgrad1)*C1(:,2:n+1))).*(1-(z1/Sc1).^2);
%Actualizacion de pesos 1
Ctemp1=C1;
C1=C1+eta1*(lgrad1*[biasc1; z1])+alfa1*DC1;
DC1=C1-Ctemp1;
Jtemp1=J1(:,k);
J1(:,k+1)=J1(:,k)+eta2*(lgradx.*x1(:,k-1))+alfa2*DJ1;
ji=find(abs(J1(:,k+1))>0.9);
if ~isempty(ji),
J1(ji,k+1)=0.8*sign(J1(ji,k+1));
end
DJ1=J1(:,k+1)-Jtemp1;
Btemp1=B1;
B1=B1+eta3*(lgradx*[biasb1; up(:,k-1)])+alfa3*DB1;
DB1=B1-Btemp1;
%Paso Hacia atras 2
%Entrenamiento 2
lgrad1=e2*1;
lgradx=(((lgrad1)*C2(:,2:n+1))).*(1-(z2/Sc1).^2);
%Actualizacion de pesos 1
Ctemp2=C2;
C2=C2+eta1*(lgrad1*[biasc2; z2])+alfa1*DC2;
DC2=C2-Ctemp2;
Jtemp2=J2(:,k);
J2(:,k+1)=J2(:,k)+eta2*(lgradx.*x2(:,k-1))+alfa2*DJ2;
ji=find(abs(J2(:,k+1))>0.9);
JMFA 177
B.11. Ident. M ultimodelo No Lineal MIMO con RNRE Captulo B. Programas de C omputo
if ~isempty(ji),
J2(ji,k+1)=0.8*sign(J2(ji,k+1));
end
DJ2=J2(:,k+1)-Jtemp2;
Btemp2=B2;
B2=B2+eta3*(lgradx*[biasb2; un(:,k-1)])+alfa3*DB2;
DB2=B2-Btemp2;
end
figure(1)
subplot(2,1,1)
plot(0:499,[yp(:,2:size(yp,2));ypn])
title(Identificacin-Entrenamiento RNRE1)
subplot(2,1,2)
plot(0:499,[yp(:,2:size(yp,2));ynn])
title(Identificacin-Entrenamiento RNR2)
drawnow
EC1=0;EC2=EC1;EC3=EC2;
%Generalizacion
JJ1=J1(:,k);
JJ2=J2(:,k);
for k=2:500,
%Referencia de entrada
if k<=150,
ug(1,k)=0.5*sin(2*pi*k/50);
elseif k<=275
ug(1,k)=0.7;
elseif k<=400
ug(1,k)=-0.7;
elseif k<=500
ug(1,k)=0.7*sin(2*pi*k/100);
end
if k<=150,
ug(2,k)=0.5*sin(2*pi*k/50);
elseif k<=275
ug(2,k)=0.7;
elseif k<=400
ug(2,k)=-0.7;
elseif k<=500
ug(2,k)=0.7*sin(2*pi*k/100);
end
nn=find(ug(:,k)<0);
upg=ug;
if ~isempty(nn)
upg(nn,k)=zeros(size(nn,1),1);
end
pp=find(ug(:,k)>0);
ung=ug;
if ~isempty(pp)
178 JMFA
Captulo B. Programas de C omputo B.11. Ident. M ultimodelo No Lineal MIMO con RNRE
ung(pp,k)=zeros(size(pp,1),1);
end
%SISTEMA
ypg(1,k+1)=0.5*(ypg(1,k)/(1+ypg(2,k)^2)+ug(1,k));
ypg(2,k+1)=0.5*(ypg(1,k)*ypg(2,k)/(1+ypg(2,k)^2)+ug(2,k));
nn=find(ypg(:,k)<0);
yppg=ypg;
if ~isempty(nn)
yppg(nn,k)=zeros(size(nn,1),1);
end
pp=find(ypg(:,k)>0);
ynpg=ypg;
if ~isempty(pp)
ynpg(pp,k)=zeros(size(pp,1),1);
end
%Paso hacia adelante RNRE1
s1=B1*[biasb1; upg(:,k)];
x1(:,k+1)=JJ1.*x1(:,k)+s1;
z=Sc1*tanh(x1(:,k)/Sc1);
s2=C1*[biasc1; z];
ypng(:,k)=1*(s2);
%Paso hacia adelante RNRE2
s1=B2*[biasb2; ung(:,k)];
x2(:,k+1)=JJ2.*x2(:,k)+s1;
z=Sc1*tanh(x2(:,k)/Sc1);
s2=C2*[biasc1; z];
ynng(:,k)=1*(s2);
%Error
%Error
e1=yppg(:,k)-ypng(:,k);
e2=ynpg(:,k)-ynng(:,k);
e3=e1+e2;
EC1=EC1+e1.^2;
MSE4(:,k)=(0.5/k)*EC1;
EC2=EC2+e2.^2;
MSE5(:,k)=(0.5/k)*EC2;
EC3=EC3+e3.^2;
MSE6(:,k)=(0.5/k)*EC3;
end
ep
figure(2)
subplot(2,1,1);
JMFA 179
B.12. Modelado de Controlador Captulo B. Programas de C omputo
plot(0:499,[ypg(:,2:size(ypg,2)); ypng])
title(Identificacin-Generalizacin RNRE1)
subplot(2,1,2);
plot(0:499,[ypg(:,2:size(ypg,2)); ynng])
title(Identificacin-Generalizacin RNRE2)
drawnow
figure(3)
subplot(2,1,1);
plot(0:499, MSE1)
title(Identificacin-Entrenamiento MSE-RNRE1)
subplot(2,1,2);
plot(0:499,MSE4)
title(Identificacin-Generalizacin MSE-RNRE1)
drawnow
figure(4)
subplot(2,1,1);
plot(0:499, MSE3)
title(Identificacin-Entrenamiento MSE-RNRE2)
subplot(2,1,2);
plot(0:499,MSE5)
title(Identificacin-Generalizacin MSE-RNRE2)
drawnow
end
figure(5) subplot(2,1,1); plot(0:499,[yp(:,2:size(yp,2));
ypn+ynn]) title(Identificacin-Entrenamiento RNRE1+RNR2)
subplot(2,1,2); plot(0:499,[ypg(:,2:size(ypg,2)); ypng+ynng])
title(Identificacin-Generalizacin RNRE1+RNRE2)
figure(6) subplot(2,1,1); plot(0:499, MSE3)
title(Identificacin-Entrenamiento MSE-RNRE1+RNRE2)
subplot(2,1,2); plot(0:499,MSE6)
title(Identificacin-Generalizacin MSE-RNRE1+RNRE2)
%% FIN PROGRAMA: rnre_id4.m%%%%%%%%%%%
B.12. Modelado de Controlador
% SEPTIEMBRE,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% ENTRENAMIENTO DE UNA RN FF PARA
% EL CONTROL DEL MODELO DE UN MOTOR DE CD
%
% INICIO PROGRAMA: modctrl1.m%%%%%%%%%%%
clear all
180 JMFA
Captulo B. Programas de C omputo B.12. Modelado de Controlador
disp(>>>> Programa en ejecucion !!!);
tfinal=10; Ts=0.005;
nsamples=tfinal/Ts;
t=0:Ts:tfinal;
%PID PARAMETROS
Kp=0.4; Kd=0; Ki=0.05;
%%%%%%%%%%%%%%%%%%%%%%%
%PARAMETROS DE RED
eta=0.0001; alfa=0.0001;
g2=nsamples; g3=50;g4=2;g5=5;
%Dimensiones de la red
no=5; n1=6; n2=1;
%Pesos iniciales
W1=0.1*randn(n1,1+no); DW1=zeros(n1,1+no); tmp1=DW1;
W2=0.1*randn(n2,n1+1); DW2=zeros(n2,n1+1); tmp2=DW2;
bias1=1; bias2=1;
p=zeros(no,nsamples);
ynn=zeros(1,nsamples);
e=zeros(1,nsamples);
ref=zeros(1,nsamples);
ep=100;
for i=1:ep,
theta=(1E-3)*randn(1,3);
u=(1E-3)*randn(1,3);
ind1=0;
for k=3:nsamples+2,
% PLANTA
theta(k+1)=(703.922E-3)*theta(k)...
+(999.725E-3)*theta(k-1)...
-(703.648E-3)*theta(k-2)...
+(53.038E-3)*(u(k-1)+u(k-2));
if mod(k,nsamples/g5)==0
ref(k)=not(ref(k-1))+(1E-1)*randn;
else
ref(k)=ref(k-1);
end
% ERROR DE CONTROL
e(k)=ref(k)-theta(k);
% CONTROLADOR PID
u(k)=Kp*(e(k)-e(k-1))+Ki*Ts*e(k)...
JMFA 181
B.12. Modelado de Controlador Captulo B. Programas de C omputo
+(Kd/Ts)*(e(k)-2*e(k-1)+e(k-2))...
+u(k-1);
% RED NEURONAL
% Paso hacia adelante
p=g3*[u(k-1); u(k-2); e(k);e(k-1);e(k-2)];
S1=W1*[bias1;p]; O1=tanh(S1);%
S2=W2*[bias2;O1]; ynn(k)=S2;% Salida de la RN
E=g3*u(k)-ynn(k); % Error de la RN
% AJUSTE DE PESOS (BACKPROPAGATION)
% paso hacia atras
grad1=-E; % Gradiente de salida.
grad2=((1-O1.^2)).*(W2(:,2:n1+1)*grad1); % Gradiente2
% Actualizacion de Pesos
tmp2=W2;
W2=W2-eta*exp(-i*g4/ep)*grad1*[bias2;O1]+...
alfa*exp(-i*g4/ep)*DW2;%
DW2=W2-tmp2;
tmp1=W1;
W1=W1-eta*exp(-i*g4/ep)*grad2*[bias1;p]+...
alfa*exp(-i*g4/ep)*DW1;%
DW1=W1-tmp1;
end
%%%%%%%%%%%%%%%%%%%%%
if mod(i,10)==0,
theta=zeros(1,nsamples);
u=zeros(1,3);
for k=3:nsamples+2,
% PLANTA
theta(k+1)=(703.922E-3)*theta(k)...
+(999.725E-3)*theta(k-1)...
-(703.648E-3)*theta(k-2)...
+(53.038E-3)*(u(k-1)+u(k-2));
if mod(k,nsamples/g5)==0
ref(k)=not(ref(k-1));
else
ref(k)=ref(k-1);
end
% ERROR DE CONTROL
e(k)=ref(k)-theta(k);
% RED NEURONAL
% Paso hacia adelante
p=g3*[u(k-1); u(k-2);e(k);e(k-1);e(k-2)];
182 JMFA
Captulo B. Programas de C omputo B.13. Cinematica Inversa de dos Eslabones
S1=W1*[bias1;p]; O1=tanh(S1);%
S2=W2*[bias2;O1]; u(k)=S2/g3;% Salida de la RN
end
plot(t,theta(3:nsamples+3),t(1:nsamples),ref(3:end),--k);
title(Modelado de Controlador)
xlabel(Referencia - -;Respuesta -. Seg.);
ylabel(Rad.); axis([0 10-0.5 1.5])
drawnow
end
%%%%%%%%%%%%%%%%%%%%%
end
disp(>>>> Programa terminado !!!);
% FIN PROGRAMA: modctrl1.m%%%%%%%%%%%
B.13. Cinematica Inversa de dos Eslabones
% AGOSTO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% CINEMATICA INVERSA DE DOS ESLABONES
% RED NEURONAL DE MULTIPLES CAPAS
%
% INICIO PROGRAMA: CINV1.m%%%%%%%%%%%
clear all; close all;
%Numero de datos
t=19;
nep=4000; %Numero de Epocas
eg=10; %Repeticion de Graficas
g2=(1)*nep; t1=1; g1=0.8; Emax=0.9E-4;
eta=0.01; alfa=0.01; %etha;alfa
%# de entradas;# nodos ocultos;# salidas
no=2; n1=25; n2=25; n3=2; bias1=1; bias2=1; bias3=1;
alfa1=0:(3/2)*pi/t:(3/2)*pi; alfa2=-pi:pi/t:0;
alfa12=[]; for i=1:t+1,
tmp=[alfa1;alfa2(i)*ones(size(alfa1))];
alfa12=[alfa12 tmp];
end
%longitudes
l1=0.5;l2=0.5;
JMFA 183
B.13. Cinematica Inversa de dos Eslabones Captulo B. Programas de C omputo
X=[];Y=[];XY=[]; X=l1*cos(alfa12(1,:))+l2*cos(sum(alfa12));
Y=l1*sin(alfa12(1,:))+l2*sin(sum(alfa12)); XY=[X;Y];
%%%%%%%%%%%%%%%%%%
x=-0.7:1.4/t:0.7; y=x; xy=[]; for i=1:t+1,
tmp=[x;y(i)*ones(size(x))];
xy=[xy tmp];
end
xyp=[0.5 1.0 0.5 0.5 0.0 0.0 -0.5 -0.5 -0.5 0.0 -1.0
-0.5 0.0 0.0 0.5 0.5 1.0 0.5 0.0 -0.5 0.0 0.0];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pesos iniciales
W1=randn(n1,1+no); tmp1=zeros(n1,1+no);
W2=randn(n2,n1+1); tmp2=zeros(n2,n1+1);
W3=randn(n3,n2+1); tmp3=zeros(n3,n2+1);
figure(1) grid view([135 60]) colormap([0 0 0])
xlabel(x);ylabel(y);zlabel(\alpha_{1}); title(Cinemtica
Inversa: \alpha_{1}) hold on h2=[];
figure(2) grid view([135 60]) colormap([0 0 0])
xlabel(x);ylabel(y);zlabel(\alpha_{2}); title(Cinemtica
Inversa: \alpha_{2}) hold on h3=[];
disp(Presione una tecla para continuar); pause
Err=1; ep=1; while (ep<=nep & Err>Emax),
Ec=0;
for k=1:(t+1)^2,
% Paso hacia adelante
S1=W1*[bias1;XY(:,k)];
O1=g1./(1+exp(-S1/t1));
S2=W2*[bias2;O1];
O2=g1./(1+exp(-S2/t1));
ynn=W3*[bias3;O2];
E=alfa12(:,k)-ynn;
% paso hacia atras
grad1=-(40-39*exp(-ep/500))*E; % Gradiente1
grad2=((g1/t1)*(1-O2).*O2).*(W3(:,2:n2+1)*grad1); % Gradiente2
grad3=((g1/t1)*(1-O1).*O1).*(W2(:,2:n1+1)*grad2); % Gradiente3
% Actualizacion de Pesos
DW3=W3-tmp3;
tmp3=W3;
W3=W3-eta*exp(-ep/g2)*grad1*[bias3;O2]+alfa*exp(-ep/g2)*DW3;
DW2=W2-tmp2;
tmp2=W2;
W2=W2-eta*exp(-ep/g2)*grad2*[bias2;O1]+alfa*exp(-ep/g2)*DW2;
184 JMFA
Captulo B. Programas de C omputo B.13. Cinematica Inversa de dos Eslabones
DW1=W1-tmp1;
tmp1=W1;
W1=W1-eta*exp(-ep/g2)*grad3*[bias1;XY(:,k)]+alfa*exp(-ep/g2)*DW1;
end
XYp=[]; ynn=[];
for i=1:11,
S1=W1*[bias1;xyp(:,i)];
O1=g1./(1+exp(-S1/t1));
S2=W2*[bias2;O1];
O2=g1./(1+exp(-S2/t1));
ynn=W3*[bias3;O2];
Xp(i)=l1*cos(ynn(1))+l2*cos(sum(ynn));
Yp(i)=l1*sin(ynn(1))+l2*sin(sum(ynn));
end
XYp=[Xp;Yp];
err=(xyp-XYp);
err2=err.^2;
errs=0.5*sum(sum(err2));
Err=errs/11;
if (rem(ep,eg)==0),
ynn=[];
for i=1:(t+1)^2,
S1=W1*[bias1;xy(:,i)];
O1=g1./(1+exp(-S1/t1));
S2=W2*[bias2;O1];
O2=g1./(1+exp(-S2/t1));
ynn(:,i)=W3*[bias3;O2];
end
Ynn1=[];Ynn2=[];
for i=1:(t+1),
tmp11=ynn(1,1+(i-1)*(t+1):i*(t+1));
Ynn1=[Ynn1;tmp11];
tmp22=ynn(2,1+(i-1)*(t+1):i*(t+1));
Ynn2=[Ynn2;tmp22];
end
if isempty(h2)~=1,
delete(h2);
delete(h3);
end
figure(1)
h2=mesh(x,y,Ynn1);
drawnow
JMFA 185
B.14. Cinematica Directa de dos Eslabones Captulo B. Programas de C omputo
figure(2)
h3=mesh(x,y,Ynn2);
drawnow
figure(3)
plot(xyp(1,:),xyp(2,:),o,XYp(1,:),XYp(2,:),+)
axis([-1.1 1.1 -1.1 1.1])
axis(square);
grid
drawnow
ep
Err
end
ind=randperm(size(XY,2));
XY=XY(:,ind);
alfa12=alfa12(:,ind);
ep=ep+1;
end
figure(3) plot(xyp(1,:),xyp(2,:),o,XYp(1,:),XYp(2,:),+)
axis([-1.1 1.1 -1.1 1.1]) axis(square); grid ep, Err
save c:\temp\W1.mat W1; save c:\temp\W2.mat W2; save
c:\temp\W3.mat W3;
% FIN PROGRAMA: CINV1.m%%%%%%%%%%%
B.14. Cinematica Directa de dos Eslabones
% AGOSTO,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% DINAMICA DIRECTA DE DOS ESLABONES
% RED NEURONAL DE MULTIPLES CAPAS
%
% INICIO PROGRAMA: DDIREC1.m%%%%%%%%%%%
clear all; close all;
%Numero de datos
t=15;
alfa1=0:2*pi/t:2*pi; alfa2=-pi:pi/t:0;
alfa12=[]; for i=1:t+1,
for j=1:t+1,
tmp=[alfa1(j);alfa2(i)];
alfa12=[alfa12 tmp];
end
186 JMFA
Captulo B. Programas de C omputo B.14. Cinematica Directa de dos Eslabones
end
%longitudes
l1=0.50;l2=0.50;
X=[];Y=[];XY=[]; for i=1:(t+1)^2;
X(i)=l1*cos(alfa12(1,i))+l2*cos(sum(alfa12(:,i)));
Y(i)=l1*sin(alfa12(1,i))+l2*sin(sum(alfa12(:,i)));
end XY=[X;Y];
X=[];Y=[]; for i=1:t+1,
tmp1=XY(1,1+(i-1)*(t+1):i*(t+1));
X=[X; tmp1];
tmp2=XY(2,1+(i-1)*(t+1):i*(t+1));
Y=[Y; tmp2];
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Numero de Epocas
nep=2500;
%Repeticion de Graficas
eg=10;
%etha;alfa
eta=0.1; alfa=0.0; g=0.5;
%# de entradas;# nodos ocultos;# salidas
no=2; n1=20; n2=20; n3=2;
%Pesos iniciales
W1=0.1*randn(n1,1+no); DW1=zeros(n1,1+no);
W2=0.1*randn(n2,n1+1); DW2=zeros(n2,n1+1);
W3=0.1*randn(n3,n2+1); DW3=zeros(n3,n2+1);
bias1=1; bias2=1; bias3=0;
figure(1) mesh(alfa1,alfa2,X)
%grid
colormap([0 0 0]) title(Cinemtica directa:x)
xlabel(\alpha_{1}) ylabel(\alpha_{2}) zlabel(x) view([45
45]) axis([0 2*pi -pi 0 -2.1 2.1]); drawnow hold on h2=[];
figure(2) mesh(alfa1,alfa2,Y)
%grid
colormap([0 0 0]) title(Cinemtica directa:y)
xlabel(\alpha_{1}) ylabel(\alpha_{2}) zlabel(y) view([45
45]) axis([0 2*pi -pi 0 -2.1 2.1]); drawnow hold on h3=[]; h4=[];
Ec=0;MSE=[]; for ep=1:nep,
Ec=0;
for k=1:(t+1)^2,
% Paso hacia adelante
S1=W1*[bias1;alfa12(:,k)];
JMFA 187
B.14. Cinematica Directa de dos Eslabones Captulo B. Programas de C omputo
O1=1./(1+exp(-(1/g)*S1));%
S2=W2*[bias2;O1];
O2=1./(1+exp(-(1/g)*S2));%(1/(1+exp(-S2)))
S3=W3*[bias3;O2];
ynn=S3; % Salida de la RN
E=XY(:,k)-ynn; % Error
%Ec=Ec+sum(E.^2); % Suma de E^2
%MSE(k)=0.5*Ec/k;
% paso hacia atras
grad1=-E; % Gradiente de salida.
grad2=((1/g)*(1-O2).*O2).*(W3(:,2:n2+1)*grad1); % Gradiente2.
grad3=((1/g)*(1-O1).*O1).*(W2(:,2:n1+1)*grad2); % Gradiente3.
% Actualizacion de Pesos
tmp3=W3;
W3=W3-eta*exp(-k/500)*grad1*[bias3;O2]+alfa*exp(-k/500)*DW3;%*exp(-k/100);
DW3=W3-tmp3;
tmp2=W2;
W2=W2-eta*grad2*exp(-k/500)*[bias2;O1]+alfa*exp(-k/500)*DW2;%*exp(-k/100);
DW2=W2-tmp2;
tmp1=W1;
W1=W1-eta*exp(-k/500)*grad3*[bias1;alfa12(:,k)]+alfa*exp(-k/500)*DW1;%*exp(-k/100);
DW1=W1-tmp1;
end
if rem(ep,eg)==0,
ynn2=[];
for i=1:(t+1)^2,
S1=W1*[bias1;alfa12(:,i)];
O1=1./(1+exp(-(1/g)*S1));%
S2=W2*[bias2;O1];
O2=1./(1+exp(-(1/g)*S2));%(1/(1+exp(-S2)))
S3=W3*[bias3;O2];
ynn2(:,i)=S3; % Salida de la RN
end
E=XY-ynn2;
Ynn1=[];Ynn2=[];E2=[];E3=[];
for i=1:(t+1),
tmp1=ynn2(1,1+(i-1)*(t+1):i*(t+1));
Ynn1=[Ynn1;tmp1];
tmp2=ynn2(2,1+(i-1)*(t+1):i*(t+1));
Ynn2=[Ynn2;tmp2];
188 JMFA
Captulo B. Programas de C omputo B.15. Ctrl. Inverso: Ident. Mod. Directo
tmp3=E(1,1+(i-1)*(t+1):i*(t+1));
E2=[E2;tmp3];
tmp4=E(2,1+(i-1)*(t+1):i*(t+1));
E3=[E3;tmp4];
end
if isempty(h2)~=1,
delete(h2);
delete(h3);
delete(h4);
delete(h5);
end
figure(1)
h2=mesh(alfa1,alfa2,Ynn1);
drawnow
figure(2)
h3=mesh(alfa1,alfa2,Ynn2);
figure(3)
h4=mesh(alfa1,alfa2,E2);
axis([0 2*pi -3.5 0 -0.1 1]);
view([45 60])
figure(4)
h5=mesh(alfa1,alfa2,E3);
axis([0 2*pi -3.5 0 -0.1 1]);
view([30 60])
%figure(3)
%plot(MSE);
drawnow
end
ep
end
% FIN PROGRAMA: DDIREC1.m%%%%%%%%%%%
B.15. Control inverso: Identicacion del Modelo Directo
% SEPTIEMBRE,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% Ident. Modelo Directo de un sistema no lineal
% para el control inveso especializado.
%
% INICIO PROGRAMA: %%%%%%%%%%%
clear all; close all;
JMFA 189
B.15. Ctrl. Inverso: Ident. Mod. Directo Captulo B. Programas de C omputo
%Numero de datos
nep=400; t1=1.2; g1=1.2; Emax=1E-3;
eta=0.01; alfa=0.01; %etha;alfa
%# de entradas;# nodos ocultos;# salidas
no=2; n1=50; n2=50; n3=1; bias1=0; bias2=1; bias3=0;
nsamples=1000; g2=(1/2)*nep; eg=5;
% Entrada Planta
up=1*sin(2*pi*(0:nsamples)/50)+...
0.5*cos(2*pi*(0:nsamples)/(50+10));
upp=1*sin(2*pi*(0:nsamples)/50)+...
0.5*cos(2*pi*(0:nsamples)/(50+10));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Pesos iniciales
W1=0.5*randn(n1,1+no); tmp1=zeros(n1,1+no); W2=0.5*randn(n2,n1+1);
tmp2=zeros(n2,n1+1); W3=0.5*randn(n3,n2+1); tmp3=zeros(n3,n2+1);
% Funciones de Activacion
acflogsig=...
inline(x1./(1+exp(-x2/x3)),x1,x2,x3);
der_acflogsig=...
inline((x1/x3)*(1-x2).*x2,x1,x2,x3);
acftanh=...
inline(x1*tanh(x2/x3),x1,x2,x3);
der_acftanh=...
inline((x1/x3)*(1-x2.^2),x1,x2,x3);
% Graficas
figure(1) figure(2)
disp(Presione una tecla para continuar); pause disp(Inicia
Programa); Err=1; ep=1;
yp=zeros(1,nsamples); ynn=zeros(1,nsamples);
ypp=zeros(1,nsamples); ynnp=zeros(1,nsamples);
while (ep<=nep & Err>Emax),
ep
yp(1:2)=0.5*randn;
for k=1:nsamples,
%Planta;
yp(k+1)=(yp(k)/(1+yp(k)^2))+up(k)^3;
% Paso hacia adelante
unn=[up(k);yp(k);];
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);;
ynn(k+1)=W3*[bias3;O2];
%Error
e=yp(k+1)-ynn(k+1);
% paso hacia atras
% Gradiente1
grad1=-e;
% Gradiente2
190 JMFA
Captulo B. Programas de C omputo B.15. Ctrl. Inverso: Ident. Mod. Directo
grad2=der_acftanh(g1,O2,t1).*(W3(:,2:n2+1)*grad1);
% Gradiente3
grad3=der_acftanh(g1,O1,t1).*(W2(:,2:n1+1)*grad2);
% Actualizacion de Pesos
DW3=W3-tmp3;
tmp3=W3;
W3=W3-eta*exp(-ep/g2)*grad1*[bias3;O2]+...
alfa*exp(-ep/g2)*DW3;
DW2=W2-tmp2;
tmp2=W2;
W2=W2-eta*exp(-ep/g2)*grad2*[bias2;O1]+...
alfa*exp(-ep/g2)*DW2;
DW1=W1-tmp1;
tmp1=W1;
W1=W1-eta*exp(-ep/g2)*grad3*[bias1;unn]+...
alfa*exp(-ep/g2)*DW1;
end
if (rem(ep,eg)==0),
ypp(1:2)=0;
ynnp(1:2)=0;
for j=1:nsamples
%Planta;
ypp(j+1)=(ypp(j)/(1+ypp(j)^2))+upp(j)^3;
% Paso hacia adelante
unn=[upp(j);ynnp(j)];
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
ynnp(j+1)=W3*[bias3;O2];
end
err=(ypp-ynnp);
err2=err.^2;
errs=0.5*sum(err2);
Err=errs/size(err2,2);
figure(1)
plot(0:nsamples-1,ynn(1:nsamples),k,...
0:nsamples-1,yp(1:nsamples))
title(Entrenamiento)
grid
drawnow
figure(2)
plot(0:nsamples-1,ynnp(1:nsamples),k,...
0:nsamples-1,ypp(1:nsamples))
title(Generalizacion)
grid
drawnow
Err
end
%%%%%%%%%%%%%%%%
ep=ep+1;
end
%save c:\tmp\W W1 W2 W4
disp(>>> Termina Programa !!!);
JMFA 191
B.16. Ctrl. Inverso: Metodo especializado Captulo B. Programas de C omputo
% FIN PROGRAMA: %%%%%%%%%%%
B.16. Control inverso: Metodo especializado
% OCTUBRE,2002
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% CONTROL INVERSO (METODO ESPECIALIZADO)
% SISTEMA NO LINEAL INVERTIBLE
%
% INICIO PROGRAMA: %%%%%%%%%%%
clear all; close all; load c:\tmp\pesos\Wd1 W1d=W1; W2d=W2;
W3d=W3;
%Parametros
nsamples=1000*3; nep=50; t1=1; g1=1;
eta=0.005; alfa=0.005; %etha;alfa
%# de entradas;# nodos ocultos;# salidas
no=2; n1=50; n2=50; n3=1; bias1=0; bias2=0; bias3=0; g2=(nep/20);
% Entrada Planta
p=200; uref=[]; for pp=1:nsamples/(5*p),
uref_tmp=[2*ones(1,p) 0.1*ones(1,p) ...
-2*ones(1,p) -0.1*ones(1,p) 2*ones(1,p+1)];
uref=[uref uref_tmp];
end t=5; ref=zeros(1,nsamples); for i=1:nsamples
ref(i+1)=(1/t)*((t-1)*ref(i)+uref(i));
end
%ref=1*sin(2*pi*(0:nsamples)/50)+...
% 0.5*cos(2*pi*(0:nsamples)/(50+10));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Pesos iniciales
W1=0.01*randn(n1,1+no); tmp1=zeros(n1,1+no);
W2=0.01*randn(n2,n1+1); tmp2=zeros(n2,n1+1);
W3=0.01*randn(n3,n2+1); tmp3=zeros(n3,n2+1);
% Funciones de Activacion
acflogsig=...
inline(x1./(1+exp(-x2/x3)),x1,x2,x3);
der_acflogsig=...
inline((x1/x3)*(1-x2).*x2,x1,x2,x3);
acftanh=...
inline(x1*tanh(x2/x3),x1,x2,x3);
der_acftanh=...
inline((x1/x3)*(1-x2.^2),x1,x2,x3);
% Graficas
figure(1)
disp(Presione una tecla para continuar); pause; disp(Inicia
Programa); ep=1;
192 JMFA
Captulo B. Programas de C omputo B.16. Ctrl. Inverso: Metodo especializado
yp=zeros(1,nsamples); ynn=zeros(1,nsamples);
ypp=zeros(1,nsamples); ynnp=zeros(1,nsamples); while (ep<=nep),
ep
yp(1:2)=0.5*randn;
for k=1:nsamples,
% Paso hacia adelante
unn=[ref(k+1);yp(k)];
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
up(k)=W3*[bias3;O2];
%Planta
yp(k+1)=(yp(k)/(1+yp(k)^2))+up(k)^3;
unnp=[up(k);ynnp(k)];
S1d=W1d*[0;unnp];
O1d=acftanh(1.2,S1d,1.2);
S2d=W2d*[1;O1d];
O2d=acftanh(1.2,S2d,1.2);
ynnp(k+1)=W3d*[0;O2d];
%Error
ec=ref(k)-ynnp(k);
% Retro propagacion del error de control
grad1d=-ec;
grad2d=der_acftanh(1.2,O2d,1.2).*(W3d(:,2:51)*grad1d);
grad3d=der_acftanh(1.2,O1d,1.2).*(W2d(:,2:51)*grad2d);
r=W1d(:,2:3)*grad3d;
% paso hacia atras
% Entrenamiento de la Red de Control
grad1=r(2); % Gradiente1
% Gradiente2
grad2=der_acftanh(g1,O2,t1).*(W3(:,2:n2+1)*grad1);
% Gradiente3
grad3=der_acftanh(g1,O1,t1).*(W2(:,2:n1+1)*grad2);
% Actualizacion de Pesos
DW3=W3-tmp3;
tmp3=W3;
W3=W3-eta*exp(-ep/g2)*grad1*[bias3;O2]+...
alfa*exp(-ep/g2)*DW3;
DW2=W2-tmp2;
tmp2=W2;
W2=W2-eta*exp(-ep/g2)*grad2*[bias2;O1]+...
alfa*exp(-ep/g2)*DW2;
DW1=W1-tmp1;
tmp1=W1;
W1=W1-eta*exp(-ep/g2)*grad3*[bias1;unn]+...
alfa*exp(-ep/g2)*DW1;
end
JMFA 193
B.17. Ctrl. Adaptable Indirecto Captulo B. Programas de C omputo
plot(0:nsamples,ref,k,0:nsamples,yp)
axis([0 nsamples -4 4])
grid
drawnow
%%%%%%%%%%%%%%%%
ep=ep+1;
pause;
end disp(>>> Termina Programa !!!);
% FIN PROGRAMA: %%%%%%%%%%%
B.17. Control Adaptable Indirecto
% Abril, 2004
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% CONTROL ADAPTABLE INDIRECTO
%
%
% INICIO PROGRAMA: %%%%%%%%%%%
close all; clear all;
nep=100; %Numero de epocas
nsamples=100; %Numero de muestras
t1=1;g1=1;
%etha alfa
alfa=0.1;eta=0.1;
% # de entradas, nodos ocultos y salidas
no=1;n1=10;n2=10; n3=1;
%bias
bias1=0; bias2=1; bias3=0; g2=(1/2)*nep;eg=5;
%PESOS INICIALES
%Red AlFA
W1=0.5*randn(n1,1+no); tmp1=zeros(n1,1+no); W2=0.5*randn(n2,1+n1);
tmp2=zeros(n1,1+n1); W3=0.5*randn(n3,1+n2); tmp3=zeros(n3,1+n2);
%Red BETA
W12=0.5*randn(n1,1+no); tmp12=zeros(n1,1+no);
W22=0.5*randn(n2,1+n1); tmp22=zeros(n1,1+n1);
W32=0.5*randn(n3,1+n2); tmp32=zeros(n3,1+n2);
%Funciones de activacion
acftanh=...
inline(x1*tanh(x2/x3),x1,x2,x3);
der_acftanh=...
inline((x1/x3)*(1-x2.^2),x1,x2,x3);
%Valores Iniciales
y(1)=randn;
194 JMFA
Captulo B. Programas de C omputo B.17. Ctrl. Adaptable Indirecto
t=0:0.1:1; ft1=0.5*t./(1+t.^2); ft2=(1+t);
figure(1); figure(2); figure(3); clc disp(Presione alguna techa
para continuar) pause ep=1;
Ec1=0;MSE1=[]; Ec2=0;MSE2=[]; while (ep<=nep)
ep
for k=1:nsamples;
%ENTRADA
u(k)=0.5+0.25*sin(2*(k)*pi/10)+0.5*cos(2*k*pi/2.5);
%PLANTA
alpha=0.5*y(k)/(1+y(k)^2);
beta=1+y(k);
y(k+1)=alpha+beta*u(k);
%RED ALPHA
unn=y(k);
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
ynn1=W3*[bias3;O2];
%Error alpha
e1=alpha-ynn1;
Ec1=Ec1+e1^2;
MSE1(k)=0.5*Ec1/k;
%AJUSTE RED ALPHA
%Gradiente1
grad1=-e1;
%Gradiente2
grad2=der_acftanh(g1,O2,t1).*(W3(:,2:n2+1)*grad1);
%Gradiente3
grad3=der_acftanh(g1,O1,t1).*(W2(:,2:n1+1)*grad2);
%AJUSTE DE PESOS DE RED ALPHA
DW3=W3-tmp3;
tmp3=W3;
W3=W3-eta*exp(-ep/g2)*grad1*[bias3;O2]+...
alfa*exp(-ep/g2)*DW3;
DW2=W2-tmp2;
tmp2=W2;
W2=W2-eta*exp(-ep/g2)*grad2*[bias2;O1]+...
alfa*exp(-ep/g2)*DW2;
DW1=W1-tmp1;
tmp1=W1;
W1=W1-eta*exp(-ep/g2)*grad3*[bias1;unn]+...
alfa*exp(-ep/g2)*DW1;
%RED BETA
JMFA 195
B.17. Ctrl. Adaptable Indirecto Captulo B. Programas de C omputo
S1=W12*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W22*[bias2;O1];
O2=acftanh(g1,S2,t1);
ynn2=W32*[bias3;O2];
%Error beta
e2=beta-ynn2;
%AJUSTE RED ALPHA
%Gradiente1
grad1=-e2;
%Gradiente2
grad2=der_acftanh(g1,O2,t1).*(W32(:,2:n2+1)*grad1);
%Gradiente3
grad3=der_acftanh(g1,O1,t1).*(W22(:,2:n1+1)*grad2);
%AJUSTE DE PESOS DE RED ALPHA
DW32=W32-tmp32;
tmp32=W32;
W32=W32-eta*exp(-ep/g2)*grad1*[bias3;O2]+...
alfa*exp(-ep/g2)*DW32;
DW22=W22-tmp22;
tmp22=W22;
W22=W22-eta*exp(-ep/g2)*grad2*[bias2;O1]+...
alfa*exp(-ep/g2)*DW22;
DW12=W12-tmp12;
tmp12=W12;
W12=W12-eta*exp(-ep/g2)*grad3*[bias1;unn]+...
alfa*exp(-ep/g2)*DW12;
%%%%%%%%%%%
%%%%%%%%%%%
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
ALFA=W3*[bias3;O2];
S1=W12*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W22*[bias2;O1];
O2=acftanh(g1,S2,t1);
BETA=W32*[bias3;O2];
ynn(k+1)=ALFA +BETA*u(k);
end
ep=ep+1;
figure(1)
plot(0:nsamples,y,k,0:nsamples,ynn,b);
grid
ALFA=[];
196 JMFA
Captulo B. Programas de C omputo B.17. Ctrl. Adaptable Indirecto
for(i=0:0.1:1)
unn=i;
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
ALFA1=W3*[bias3;O2];
ALFA=[ALFA ALFA1];
end
figure(2)
plot(t,ft1,k,t,ALFA,b);
grid
BETA=[];
for(i=0:0.1:1)
unn=i;
S1=W12*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W22*[bias2;O1];
O2=acftanh(g1,S2,t1);
BETA1=W32*[bias3;O2];
BETA=[BETA BETA1];
end
figure(3)
plot(t,ft2,k,t,BETA,b);
grid
figure(4)
plot(0:nsamples-1,MSE1,k);
grid
drawnow
end
y1=[]; y1(1)=0.5; r(1:2)=zeros(1,2); for k=1:nsamples;
%Referencia
r(k+1)=r(k);
if mod(k,20)==0,
r(k+1)=~r(k+1);
end
%RED ALPHA
unn=y1(k);
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
ALFA1=W3*[bias3;O2];
%RED BETA
unn=y1(k);
S1=W12*[bias1;unn];
O1=acftanh(g1,S1,t1);
JMFA 197
B.18. Ctrl. Adaptable Indirecto 2 Captulo B. Programas de C omputo
S2=W22*[bias2;O1];
O2=acftanh(g1,S2,t1);
BETA1=W32*[bias3;O2];
%Control
uc(k)=(-ALFA1+r(k+1))/BETA1;
%PLANTA
alpha=0.5*y1(k)/(1+y1(k)^2);
beta=1+y1(k);
y1(k+1)=alpha+beta*uc(k);
%Error control
ec(k+1)=r(k+1)-y1(k+1);
Ec2=Ec2+ec(k+1)^2;
MSE2(k)=0.5*Ec2/k;
end figure(5) plot(0:nsamples,r,k,0:nsamples,y1,b); grid
figure(6) plot(0:nsamples,ec,k); grid
figure(7) plot(0:nsamples-1,uc,k); grid
figure(8) plot(0:nsamples-1,MSE2,k); grid
% FIN PROGRAMA: %%%%%%%%%%%
B.18. Control Adaptable Indirecto 2
% Abril, 2004
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% CONTROL ADAPTABLE INDIRECTO 2
%
%
% INICIO PROGRAMA: %%%%%%%%%%%
close all; clear all;
nep=20; %Numero de epocas
nsamples=100; %Numero de muestras
t1=1;g1=1;
%etha alfa
alfa=0.1;eta=0.1;
% # de entradas, nodos ocultos y salidas
no=1;n1=10;n2=10; n3=1;
%bias
bias1=0; bias2=1; bias3=0; g2=(1/2)*nep;eg=5;
198 JMFA
Captulo B. Programas de C omputo B.18. Ctrl. Adaptable Indirecto 2
%PESOS INICIALES
%Red AlFA
W1=0.01*randn(n1,1+no); tmp1=zeros(n1,1+no);
W2=0.01*randn(n2,1+n1); tmp2=zeros(n1,1+n1);
W3=0.01*randn(n3,1+n2); tmp3=zeros(n3,1+n2);
%Red BETA
W12=0.01*randn(n1,1+no); tmp12=zeros(n1,1+no);
W22=0.01*randn(n2,1+n1); tmp22=zeros(n1,1+n1);
W32=0.01*randn(n3,1+n2); tmp32=zeros(n3,1+n2);
%Funciones de activacion
acftanh=...
inline(x1*tanh(x2/x3),x1,x2,x3);
der_acftanh=...
inline((x1/x3)*(1-x2.^2),x1,x2,x3);
%Valores Iniciales
y(1)=1;
t=0:0.1:1; ft1=0.5*t./(1+t.^2); ft2=(1+t);
clc disp(Presione alguna techa para continuar) pause ep=1;
Ec1=0;MSE1=[]; Ec2=0;MSE2=[];
while (ep<=nep)
ep
for k=1:nsamples;
%ENTRADA
u(k)=0.5+0.25*sin(2*(k)*pi/10)+0.5*cos(2*k*pi/2.5);
%PLANTA
alpha=0.5*y(k)/(1+y(k)^2);
beta=1+y(k);
y(k+1)=alpha+beta*u(k);
%RED ALPHA
unn=y(k);
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
ynn1=W3*[bias3;O2];
%Error alpha
e1=alpha-ynn1;
Ec1=Ec1+e1^2;
MSE1(k)=0.5*Ec1/k;
%AJUSTE RED ALPHA
%Gradiente1
grad1=-e1;
JMFA 199
B.18. Ctrl. Adaptable Indirecto 2 Captulo B. Programas de C omputo
%Gradiente2
grad2=der_acftanh(g1,O2,t1).*(W3(:,2:n2+1)*grad1);
%Gradiente3
grad3=der_acftanh(g1,O1,t1).*(W2(:,2:n1+1)*grad2);
%AJUSTE DE PESOS DE RED ALPHA
DW3=W3-tmp3;
tmp3=W3;
W3=W3-eta*exp(-ep/g2)*grad1*[bias3;O2]+...
alfa*exp(-ep/g2)*DW3;
DW2=W2-tmp2;
tmp2=W2;
W2=W2-eta*exp(-ep/g2)*grad2*[bias2;O1]+...
alfa*exp(-ep/g2)*DW2;
DW1=W1-tmp1;
tmp1=W1;
W1=W1-eta*exp(-ep/g2)*grad3*[bias1;unn]+...
alfa*exp(-ep/g2)*DW1;
%RED BETA
S1=W12*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W22*[bias2;O1];
O2=acftanh(g1,S2,t1);
ynn2=W32*[bias3;O2];
%Error beta
e2=beta-ynn2;
%AJUSTE RED ALPHA
%Gradiente1
grad1=-e2;
%Gradiente2
grad2=der_acftanh(g1,O2,t1).*(W32(:,2:n2+1)*grad1);
%Gradiente3
grad3=der_acftanh(g1,O1,t1).*(W22(:,2:n1+1)*grad2);
%AJUSTE DE PESOS DE RED ALPHA
DW32=W32-tmp32;
tmp32=W32;
W32=W32-eta*exp(-ep/g2)*grad1*[bias3;O2]+...
alfa*exp(-ep/g2)*DW32;
DW22=W22-tmp22;
tmp22=W22;
W22=W22-eta*exp(-ep/g2)*grad2*[bias2;O1]+...
alfa*exp(-ep/g2)*DW22;
DW12=W12-tmp12;
tmp12=W12;
W12=W12-eta*exp(-ep/g2)*grad3*[bias1;unn]+...
alfa*exp(-ep/g2)*DW12;
%%%%%%%%%%%
%%%%%%%%%%%
S1=W1*[bias1;unn];
200 JMFA
Captulo B. Programas de C omputo B.18. Ctrl. Adaptable Indirecto 2
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
ALFA=W3*[bias3;O2];
S1=W12*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W22*[bias2;O1];
O2=acftanh(g1,S2,t1);
BETA=W32*[bias3;O2];
ynn(k+1)=ALFA +BETA*u(k);
end
ep=ep+1;
end
y1=[]; y1(1)=0; r(1:2)=[0.5,0.5]; nsamples=500; alfa=0.4;eta=0.4;
for k=1:nsamples;
%Referencia
r(k+1)= 0.5+0.25*sin(2*pi*k/50);
%r(k+1)=r(k);
%if mod(k,20)==0,
%r(k+1)=~r(k+1);
%end
%RED ALPHA
unn=y1(k);
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
ALFA1=W3*[bias3;O2];
%RED BETA
unn=y1(k);
S12=W12*[bias1;unn];
O12=acftanh(g1,S12,t1);
S22=W22*[bias2;O12];
O22=acftanh(g1,S22,t1);
BETA1=W32*[bias3;O22];
%Control
uc(k)=(-ALFA1+r(k+1))/BETA1;
%PLANTA
alpha=0.5*y1(k)/(1+y1(k)^2);
beta=1+y1(k);
y1(k+1)=alpha+beta*uc(k);
%Error control
ec(k+1)=r(k+1)-y1(k+1);
Ec2=Ec2+ec(k+1)^2;
JMFA 201
B.18. Ctrl. Adaptable Indirecto 2 Captulo B. Programas de C omputo
MSE2(k)=0.5*Ec2/k;
%Error alpha
e1=alpha-ALFA1;
%AJUSTE RED ALPHA
%Gradiente1
grad1=-e1;
%Gradiente2
grad2=der_acftanh(g1,O2,t1).*(W3(:,2:n2+1)*grad1);
%Gradiente3
grad3=der_acftanh(g1,O1,t1).*(W2(:,2:n1+1)*grad2);
%AJUSTE DE PESOS DE RED ALPHA
DW3=W3-tmp3;
tmp3=W3;
W3=W3-eta*grad1*[bias3;O2]+...
alfa*DW3;
DW2=W2-tmp2;
tmp2=W2;
W2=W2-eta*grad2*[bias2;O1]+...
alfa*DW2;
DW1=W1-tmp1;
tmp1=W1;
W1=W1-eta*grad3*[bias1;unn]+...
alfa*DW1;
%Error beta
e2=beta-BETA1;
%AJUSTE RED BETA
%Gradiente1
grad1=-e2;
%Gradiente2
grad2=der_acftanh(g1,O22,t1).*(W32(:,2:n2+1)*grad1);
%Gradiente3
grad3=der_acftanh(g1,O12,t1).*(W22(:,2:n1+1)*grad2);
%AJUSTE DE PESOS DE RED BETA
DW32=W32-tmp32;
tmp32=W32;
W32=W32-eta*grad1*[bias3;O22]+...
alfa*DW32;
DW22=W22-tmp22;
tmp22=W22;
W22=W22-eta*grad2*[bias2;O12]+...
alfa*DW22;
DW12=W12-tmp12;
tmp12=W12;
W12=W12-eta*grad3*[bias1;unn]+...
alfa*DW12;
end
figure(1)
202 JMFA
Captulo B. Programas de C omputo B.19. Ctrl. Adaptable Directo
plot(0:nsamples,r,k,0:nsamples,y1,b);
grid
figure(2)
plot(0:nsamples,ec,k);
grid
figure(3)
plot(0:nsamples-1,uc,k);
grid
figure(4)
plot(0:nsamples-1,MSE2,k);
grid
% FIN PROGRAMA: %%%%%%%%%%%
B.19. Control Adaptable Directo
% Abril, 2004
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% CONTROL ADAPTABLE DIRECTO
%
%
% INICIO PROGRAMA: %%%%%%%%%%%
close all; clear all;
nep=100; %Numero de epocas
nsamples=250; %Numero de muestras
t1=1;g1=1;
%etha alfa
alfa=0.005;eta=0.05;
% # de entradas, nodos ocultos y salidas
no=2;n1=10;n2=10; n3=1;
%bias
bias1=0; bias2=1; bias3=0; g2=(1/2)*nep;eg=5;
%PESOS INICIALES
%Red AlFA
W1=0.1*randn(n1,1+no); tmp1=zeros(n1,1+no); W2=0.1*randn(n2,1+n1);
tmp2=zeros(n1,1+n1); W3=0.1*randn(n3,1+n2); tmp3=zeros(n3,1+n2);
%Funciones de activacion
acftanh=...
inline(x1*tanh(x2/x3),x1,x2,x3);
der_acftanh=...
inline((x1/x3)*(1-x2.^2),x1,x2,x3);
JMFA 203
B.19. Ctrl. Adaptable Directo Captulo B. Programas de C omputo
%Valores Iniciales
y(1)=0; r(1)=0.5; u(1)=0; figure(1);figure(2);figure(3);figure(4);
clc disp(Presione alguna techa para continuar) pause ep=1;
Ec1=0;MSE1=[]; while (ep<=nep)
ep
for k=1:nsamples;
%REFERENCIA
r(k+1)=0.5+0.25*sin(2*k*pi/50);
%RED ALPHA
unn=[r(k+1); y(k)];
S1=W1*[bias1;unn];
O1=acftanh(g1,S1,t1);
S2=W2*[bias2;O1];
O2=acftanh(g1,S2,t1);
u(k)=W3*[bias3;O2];
%PLANTA
alpha=0.5*y(k)/(1+y(k)^2);
beta=1+y(k);
y(k+1)=alpha+beta*u(k);
%Error alpha
ec(k+1)=r(k+1)-y(k+1);
Ec1=Ec1+ec(k+1)^2;
MSE1(k+1)=0.5*Ec1/k;
%AJUSTE RED ALPHA
%Gradiente1
grad1=-ec(k+1);
%Gradiente2
grad2=der_acftanh(g1,O2,t1).*(W3(:,2:n2+1)*grad1);
%Gradiente3
grad3=der_acftanh(g1,O1,t1).*(W2(:,2:n1+1)*grad2);
%AJUSTE DE PESOS DE RED ALPHA
DW3=W3-tmp3;
tmp3=W3;
W3=W3-eta*exp(-ep/g2)*grad1*[bias3;O2]+...
alfa*exp(-ep/g2)*DW3;
DW2=W2-tmp2;
tmp2=W2;
W2=W2-eta*exp(-ep/g2)*grad2*[bias2;O1]+...
alfa*exp(-ep/g2)*DW2;
DW1=W1-tmp1;
tmp1=W1;
W1=W1-eta*exp(-ep/g2)*grad3*[bias1;unn]+...
alfa*exp(-ep/g2)*DW1;
end
ep=ep+1;
204 JMFA
Captulo B. Programas de C omputo B.20. Ctrl. por Modelo de Referencia: Motor de CD
figure(1)
plot(0:nsamples,r,k,0:nsamples,y,b);
grid
figure(2)
plot(0:nsamples,ec);
grid
figure(3)
plot(0:nsamples-1,u);
grid
figure(4)
plot(0:nsamples,MSE1);
grid
drawnow
%disp(Presione alguna techa para continuar)
%pause
end
% FIN PROGRAMA: %%%%%%%%%%%
B.20. Ctrl. por Modelo de Referencia: Motor de CD
% OCTUBRE,2003
% CENTRO DE INVESTIGACION Y ESTUDIOS AVANZADOS DEL IPN
% DEPTO. DE CONTROL AUTOMATICO
% PROGRAMADOR:JOSE MARTIN FLORES ALBINO
% COMPILADOR: MATLAB 5.2
%
% EL CONTROL DEL MODELO DE UN MOTOR DE CD
% POR MODELO DE REFERENCIA
%
% INICIO PROGRAMA: MRCD.m%%%%%%%%%%%
clear all
%Modelo de Referencia
k1=20,k2=1/10, sist1=tf([k1],[k2 1])
%Modelo de Referencia Discreto
Ts=0.005 sist2=c2d(sist1,Ts)
% Condiciones iniciales
w(1:2)=0; wc(1:2)=0; e(1:2)=0; y(1:2)=0; r(1:2)=0; u(1:2)=0;
Tf=0.5; Mf=Tf/Ts; fact1=1/(10607.511*10^(-3));
for k=2:Mf+1
e(k)=1;
JMFA 205
B.20. Ctrl. por Modelo de Referencia: Motor de CD Captulo B. Programas de C omputo
w(k+1)=-295.803*10^(-3)*w(k)+703.648*10^(-3)*w(k-1)+...
10607.511*10^(-3)*(e(k)+e(k-1));
r(k)=1;
y(k+1)=0.9512*y(k)+0.9754*r(k);
%%%%%%%%%%%%%%%
% Ley de Control por Modelo de Referncia
u(k)=fact1*(-10607.511*10^(-3)*u(k-1)+0.9754*r(k)+...
1.2470*wc(k)-703.648*10^(-3)*wc(k-1));
% Sistema (Motor de CD)
wc(k+1)=-295.803*10^(-3)*wc(k)+703.648*10^(-3)*wc(k-1)+...
10607.511*10^(-3)*(u(k)+u(k-1));
end
tt=-1:Mf; T=Ts*tt;
T2=[]; y2=[]; wc2=[];
for j=1:size(T,2)
if mod(j,4)==0
T2=[T2 T(j)];
y2=[y2 y(j)];
wc2=[wc2 wc(j)];
end
end
plot(T,w,k ,T, y,:k,T2,wc2,xk) grid on
% FIN PROGRAMA: MRCD.m%%%%%%%%%%%
206 JMFA
Apendice C
Motor de Corriente Continua
Ver la referencia [43]. El motor de corriente continua (cc) es una maquina que transforma una corriente continua
de energa electrica a movimiento de rotacion de un eje mecanico (fecha) por la interaccion de dos campos magneticos:
un campo magnetico jo localizado en el cuerpo de motor llamado estator y un campo movil unido a la armadura del
motor. Hay dos formas para generar los campos magneticos: al hacer circular una corriente por un alambre enrollado en
forma de una bobina, y por un iman permanente, de aqu la primera clasicacion de este tipo de motores en base al
medio para generar el campo magnetico del estator:
Motor de cc con inductor: Este tipo de motores el campo magnetico del estator se genera por el paso de una
corriente electrica a traves de bobinas jas en el (campo del inductor). Hay cuatro formas en las cuales puede
tomarse la corriente del inductor: por una fuente independiente, por una conguraci on en serie, paralelo o serie-
paralelo con la fuente del inducido de la armadura.
Motor de cc de iman permamente: El campo magnetico del estator se genera por un iman permanente.
El circuito de armadura de un motor de corriente continua se modela como un circuito serie entre la tensi on del
inducido, la resistencia electrica, la inductancia del inducido y la tensi on que se opone al paso de la corriente del inducido
como respuesta al movimiento relativo del campo magnetico del inducido con respecto al campo magnetico del estator.
gura. C.1

m m
(t), (t)
e (t)
a
J
m
+
-
M
R
a
L
a
e (t)
a
+
-
i (t)
a
e (t)
b
T
m
T
L

m
(t)

m
(t)
(t)
Figura C.1: Motor de corriente continua. Modelo electrico de un motor de CC.
C.1. Modelo Matematico
El par generado por el motor, T
m
[N-m], es proporcional a ujo magnetico del estator, [webers], y la corriente a
traves de inducido, i
a
[ampere]; esto es:
T
m
(t) = K
b
i
a
(t) [N-m], (C.1)
207
C.2. Motor de cc de Iman Permanente Captulo C. Motor de Corriente Continua
en donde K
b
es una constante de proporcionalidad.
Como respuesta a la velocidad de giro de la armadura [rad/s] se genera una fuerza contra-electromotriz, e
b
[volt],
esta es una tensi on que se opone a la tensi on aplicada al inducido y por tanto al movimiento del motor mejorando su
estabilidad, esta tensi on es denida de la forma:
e
b
(t) = K
r

m
(t) [volt], (C.2)
en donde K
r
es una constante de proporcionalidad.
Las ecuaciones (C.1) y (C.2) son importantes porque relacionan una variable electrica con una variable mecanica y
permiten determinar el efecto que existe entre ellos. La parte electrica esta dominada por el circuito del inducido y la
variable de interes es la corriente, i
a
, que esta descrita por la ecuacion:
L
a
di
a
(t)
dt
= e
a
(t) R
a
i
a
(t) e
b
(t) [volt], (C.3)
en donde L
a
[henry], R
a
[ohm] son la inductancia y resistencia del inducido; e
a
y e
b
son las tensiones aplicadas al inducido
y la fuerza contra-electromotriz, respectivamente.
Al ponerse a girar el inducido el cuerpo que lo sostiene y la fecha del motor tambien lo hace. La velocidad de giro de
este conjunto es:
m
(t). La la dinamica de este cuerpo s olido esta gobernado por la expresion:
J
m
d
m
(t)
dt
= T
m
(t) T
L
(t) B
m
d(t)
dt
[N-m], (C.4)
en donde J
m
[Kg-m
2
] es el momento de inercia del rotor y de la fecha; T
L
y T
m
[N-m] es el par de carga y el generado
por el motor, respectivamente. Se considera un par de friccion que es funci on de la velocidad de rotacion de la echa del
motor, B
m
[
N-m
rad/s
].
Las ecuaciones (C.1-C.4) modelan la dinamica de un motor de cc.
C.2. Motor de cc de Iman Permanente
El ujo magnetico del estator, , es constante para los casos de un motor de cc de iman permanente, en este caso
en las ecuaciones (C.1) y (C.2) el valor del ujo se incorpora a las constantes respectivas.
T
m
(t) = K
b
i
a
(t) [N-m], (C.5)
e
b
(t) = K
r

m
(t) [volt]. (C.6)
La potencia generada por el motor se expresa en funci on de las variables electricas:
P = i
a
e
a
[watt], (C.7)
o bien, por medio de las variables mecanicas:
P = T
m

m
[watt]. (C.8)
Al tomar unas de las expresiones anteriores y utilizar las ecuaciones (C.5) y (C.5) para sustituir las variales electricas
por mecanicas, o viceversa. Se concluye que K
b
= K
r
, por tanto:
T
m
(t) = Ki
a
(t) [N-m], (C.9)
e
b
(t) = K
m
(t) [volt]. (C.10)
208 JMFA
Captulo C. Motor de Corriente Continua C.3. Control de Velocidad en Regimen Estacionario
C.3. Control de Velocidad en Regimen Estacionario
El ujo magnetico, , generado por los embobinados del inductor es proporcional a la corriente que circula por el.
Considerando lo anterior, las ecuaciones del par generado por el motor y la fuerza contra-electromotriz son:
T
m
(t) = K
b
i
ind
(t)i
a
(t) [N-m], (C.11)
e
b
(t) = K
r
i
ind
(t)
m
(t) [volt], (C.12)
en donde i
ind
(t) es la corriente en el inductor.
En regimen estacionario el termino di
a
/dt es igual a cero. Entonces la ecuacion (C.3) queda de la forma:
0 = E
a
(t) R
a
I
a
(t) E
b
(t). (C.13)
Al usar (C.12) en la ecuacion (C.13) y resolver para
m
se obtiene:

m
=
E
a
R
a
I
a
KI
ind
, [rad/s] (C.14)
en donde W
m
, I
a
e I
ind
son la velocidad angular, la corriente del inducido y la corriente del inductor en regimen
estacionario, respectivamente. Si el la tensi on R
a
I
a
se considera peque na, la velocidad en regimen estacionario es:

m

E
a
KI
ind
, [rad/s] (C.15)
de la ecuacion anterior se concluye que hay dos formas para el control de la velocidad del motor de c.c, a traves de
la tensi on aplicada al inducido, y por la corriente aplicada al inductor (cambio del ujo magnetico). Por lo general se
mantiene la corriente del inductor constante y se varia el voltaje del inducido, cuando se desea trabajar en sobre velocidad
(velocidades superiores a la nominal) se mantiene la tensi on constante y para aumentar la velocidad se reduce la corriente
del inductor, disminuyendo en proporcion el par disponible (C.9).
C.4. Modelo Discreto de un Motor de cc
El modelo matematico de un motor de cc. esta dado por las ecuaciones:
L
a
di
a
(t)
dt
= e
a
(t) R
a
i
a
(t) e
b
(t), [volt] (C.16)
e
b
(t) = K
m
(t), [volt] (C.17)
T
m
(t) = Ki
a
(t), [N-m] (C.18)
J
m
d
m
(t)
dt
= T
m
(t) T
L
(t) B
m
d(t)
dt
, [N-m] (C.19)
Combinando (C.17) en (C.16), y (C.18) en (C.19) se obtienen el par de ecuaciones diferenciales de primer orden:
L
a
di
a
(t)
dt
= e
a
(t) R
a
i
a
(t) K
m
(t), [volt] (C.20)
J
m
d
m
(t)
dt
= Ki
a
(t) T
L
(t) B
m
d(t)
dt
, [N-m] (C.21)
en la gura C.2 esta el diagrama de bloques de estas ecuaciones.
Al aplicar la transformada de Laplace de (C.17) en (C.16) se tienen las ecuaciones algebraicas:
(L
a
s +R
a
) i
a
(s) = e
a
(s) K
m
(s), [volt] (C.22)
(J
m
s + B
m
)
m
(s) = Ki
a
(s) T
L
(s). [N-m] (C.23)
JMFA 209
C.4. Modelo Discreto de un Motor de cc Captulo C. Motor de Corriente Continua

e t
a
( )
K
T
L
( ) t
L
a
1
R
a

B
m
1
J
m
K

m
( ) t w
m
( ) t i t
a
( )
T
m
( ) t e t
b
( )
- - -
-
Figura C.2: Modelo matem atico de un motor de CC. Diagrama a bloques del modelo matematico de un motor de
CC.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
e s
a
( )
K
T
L
( ) s
K

m
( ) s w
m
( ) s i s
a
( ) T
m
( ) s
e s
b
( )
-
-
L
a
s R +
a
1
J B
m m
s+
1
1
s
Figura C.3: Transformada de Laplace de un motor de cc. Notar que el motor tiene una retroalimentaci on interna
de la velocidad esto ayuda a agregar amortiguamiento.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aplicando el teorema de superposicion y algebra de bloques la funci on de transferencia de motor de cc., esta descrita
por:

m
(s) =
1
L
a
J
m
s
2
+ (L
a
B
m
+R
a
J
m
)s + (R
a
B
m
+K
2
)
_
K, (L
a
s +R
a
)

_
e(s)
T
L
(s)
_
, [rad/s] (C.24)
la posicion de la fecha del motor se obtiene por medio de la siguiente expresion:

m
(s) =
1
L
a
J
m
s
3
+ (L
a
B
m
+R
a
J
m
)s
2
+ (R
a
B
m
+K
2
)s
_
K, (L
a
s +R
a
)

_
e(s)
T
L
(s)
_
. [rad] (C.25)
El modelo en el tiempo discreto de un sistema continuo se obtiene usando:
G(z) = (1 z
1
)Z
_
G(s)
s
_
, (C.26)
en donde G(s) es la funci on de transferencia del sistema, al cual le antecede un retenedor de orden cero; z es una variable
de valor complejo y Z[H(s)] indica la transformada z de la funci on de transferencia H(s). Utilizar C.26 requiere que la
fuci on de transferencia del sistema continuo, multiplicar la funci on de transferencia por
1
s
, dividir la ultima expresi on en
fracciones parciales, aplicar la transformada z de estos terminos y simplicar.
Como metodo alternativo se puede utilizar una aproximaci on discreta de la integral y sustituir esta en el modelo
matematico del sistema. A pesar de que este metodo genera una aproximacion, para muchos casos sera suciente con
ella, y acambio esta su sencilles para evaluar. Entonces la propuesta es sustituir el operador integral por una aproximaci on
210 JMFA
Captulo C. Motor de Corriente Continua C.4. Modelo Discreto de un Motor de cc
discreta. Suponiendo que y(k) es la aproximacion de la integral en el instante k y x(k) es el valor de la funci on que se
integra. Las dos aproximaciones de la integral que se utilizan son:
y(t) =
_
T
0
x(t)dt y(k) = y(k 1) +
T
s
2
[x(k) +x(k 1)] , k = 0, . . . ,
T
T
s
(C.27)
y(t) =
_
T
0
x(t)dt y(k) = y(k 1) +T
s
x(k 1), k = 0, . . . ,
T
T
s
(C.28)
(C.29)
en donde T
s
es el tiempo de muestreo. Con el operador retardo, q
1
(q
1
x(k) = x(k1)), se puede factorizar y reordenar
las ecuaciones (C.27, C.28 ):
y(k) =
T
s
2
_
q + 1
q 1
_
x(k). (C.30)
y(k) = T
s
_
1
q 1
_
x(k). (C.31)
la primera aproximacion (C.30) es mas precisa que la indicada por (C.31).
Para aplicar la aproximacion de la integral se modica la presentacion de las ecuaciones (C.20) y (C.21) de la forma:
L
a
i
a
(t) =
_
[e
a
(t) R
a
i
a
(t) K
m
(t)] dt, (C.32)
J
m

m
(t) =
_
[Ki
a
(t) T
L
(t) B
m

m
(t)] dt, (C.33)
sustituyendo (C.30) en (C.32) y (C.31) en (C.33) se tiene:
L
a
i
a
(t) =
T
s
2
_
q + 1
q 1
_
[e
a
(t) R
a
i
a
(t) K
m
(t)] dt, (C.34)
J
m

m
(t) = T
s
_
1
q 1
_
[Ki
a
(t) T
L
(t) B
m

m
(t)] dt, (C.35)
se resuelve (C.34) para i
a
y se sustituye en (C.35), en resumen:
(
0
q
2
+
1
q +
2
)
m
(k) = (
0
q +
1
)e
a
(k) (
0
q +
1
)T
L
(k) [rad/s] (C.36)
en donde:

0
= J
m
(T
s
R
a
+L
a
), (C.37)

1
= (T
s
B
m
J
a
)(T
s
R
a
+L
a
) +J
m
(T
s
R
a
La) + (T
s
K)
2
, (C.38)

2
= (T
s
B
m
J
a
)(T
s
R
a
L
a
) + (T
s
K)
2
, (C.39)

0
= T
2
s
K, (C.40)

1
= T
2
s
K, (C.41)

0
= T
s
(T
s
R
a
+L
a
), (C.42)

1
= T
s
(T
s
R
a
L
a
), (C.43)
Para la descripcion de posicion, , de la echa del motor se obtiene al integrar la velocidad, es decir, al aplicar (C.30):
(
0
q
3
+
1
q
2
+
2
q +
3
)
m
(k) = (

0
q +

1
)e
a
(k) (
0
q +
1
)T
L
(k) [rad] (C.44)
en donde:

0
= J
m
(T
s
R
a
+L
a
), (C.45)

1
= (T
s
B
m
J
m
)(T
s
R
a
+L
a
) + (TK)
2
, (C.46)
JMFA 211
C.4. Modelo Discreto de un Motor de cc Captulo C. Motor de Corriente Continua

2
= J
m
(T
s
R
a
La), (C.47)

3
= [(T
s
B
m
J
m
)(T
s
Ra L
a
) + (T
s
K)
2
], (C.48)

0
= T
3
s
K, (C.49)

1
= T
3
s
K, (C.50)

0
= T
2
s
(T
s
R
a
+L
a
), (C.51)

1
= T
2
s
(T
a
R
a
L
a
). (C.52)
Considerese el motor de cc. cuyos parametros se listan en la tabla C.1.
Parametros Valor
Resistencia, R
a
4 ohm
Inductancia, L
a
2.751 10
6
h
Amortiguamiento, B
m
3.5077 10
6
Nms
Inercia, J
m
3.2284 10
6
Kgm
2
/s
2
Costante elect-mec, K 0.0274 Nm/Amp
Tabla C.1: Par ametros de un motor de cc.
Con los datos del motor listados en la tabla C.1 se simula el comportamiento del motor y se comparan los modelos
continuo y dicreto. El perodo de muestreo para la simulacion discreta es T
s
= 0.005 segundos, el par de carga es,
T
L
= 0.001. La respuesta que se muestra en gure.C.4 es para un valor de tensi on constante, e
a
= 1, el modelo en
velocidad para el motor es:

m
(k + 1) = 295.803 10
3

m
(k) + 703.648 10
3

m
(k 1)
+10607.511 10
3
[e
a
(k) +e
a
(k 1)]
[1548.755T
L
(k) + 1548.329T
L
(k 1)] . [rad/s] (C.53)
Para posicion el modelo es:

m
(k + 1) = 703.922 10
3

m
(k) + 999.725 10
3

m
(k 1) 703.648 10
3

m
(k 2)
+53.038 10
3
[e
a
(k 1) +e
a
(k 2)]

_
7743.774 10
3
T
L
(k 1) + 7741.644 10
3
T
L
(k 2)

. [rad] (C.54)
0 0.05 0.1 0.15
5
0
5
10
15
20
25
30
35
(a) s
r
a
d
/
s
Velocidad Motor de c.c.
0 0.05 0.1 0.15
0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(b) s
r
a
d
Posicin Motor de c.c.
Figura C.4: Respuesta al escal on Motor de cc. a) velocidad. b) posici on. - - respuesta continua; respuesta
discreta.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
212 JMFA
Apendice D
Ecuaciones de Entrenamiento para
Redes Neuronales Recurrentes
Recordar que las ecuaciones de entrenamiento son para el trabajo en lnea, es decir, que en cada iteraci on se actualizan
todos los pesos de la red. Como las ecuaciones se derivan a partir del algoritmo de retropropagacion del error, los primeros
pesos que se actualizan son los de salida, se sigue con los de la capa oculta y se termina con los pesos de entrada. La
operacion de la red se divide en dos fases: una hacia adelante, que es donde se determina la respuesta de la red a una
entrada dada en el instante k y considerando que los pesos son jos; la otra fase es de entrenamiento: en esta fase se
utiliza la informacion de las se nales de entrada y salida de la red para calcular la actualizacion de los pesos.
En esta seccion se detallan las ecuaciones de entrenamiento para las redes neronales que se proponen en el captulo
2. El ejemplo es para una red con arquitectura de dos entradas, tres elementos ocultos y dos salidas.
D.1. Red Neuronal Recurrente
La red neuronal para la cual se expresan sus ecuaciones de entrenamiento se presenta en la gura D.1.
z
-1
(
.
)
1
1

z
-1
z
-1

(
.
)
1
2
(
.
)
1
3
(
.
)
2
1
(
.
)
2
2

-
-
-1
-1
-1 -1
-1
-1
Figura D.1: Red neuronal recurrente 2, 3, 2
D.1.1. Pesos de la Capa de Salida
Como son dos las salidas de la RNR existen dos gradientes asociados a cada una de estas:

2
1
(k) = e
1
(k)

2
1
_
s
2
1
(k)

, (D.1)

2
2
(k) = e
2
(k)

2
2
_
s
2
2
(k)

. (D.2)
213
D.1. Red Neuronal Recurrente Captulo D. Ecuaciones de Entrenamiento para Redes Neuronales Recurrentes
Si la funci on de activacion de salida es tanh, entonces

2
1
(k) = e
1
(k)
_
1 y
1
(k)
2

, (D.3)

2
2
(k) = e
2
(k)
_
1 y
2
(k)
2

. (D.4)
La correccion de los pesos es:
c
10
(k) =
2
1
(k)(1), (D.5)
c
11
(k) =
2
1
(k)z
1
(k), (D.6)
c
12
(k) =
2
1
(k)z
2
(k), (D.7)
c
13
(k) =
2
1
(k)z
3
(k), (D.8)
c
20
(k) =
2
2
(k)(1), (D.9)
c
21
(k) =
2
2
(k)z
2
(k), (D.10)
c
22
(k) =
2
2
(k)z
2
(k), (D.11)
c
23
(k) =
2
2
(k)z
3
(k). (D.12)
Para actualizar los pesos se utiliza:
c
ij
(k + 1) = c
ij
(k) c
ij
(k). (D.13)
D.1.2. Pesos de la Capa Oculta
Son tres nodos ocultos y cada uno de ellos tiene un gradiente local asociado
x
1,2,3
(k):

x
1
(k) =
_

2
r=1

2
r
c
r1

1
1
[x
1
(k)] , (D.14)

x
2
(k) =
_

2
r=1

2
r
c
r2

1
2
[x
2
(k)] , (D.15)

x
3
(k) =
_

2
r=1

2
r
c
r3

1
3
[x
3
(k)] . (D.16)
La correccion de los pesos es la siguiente:
j
11
(k) =
x
1
(k)x
1
(k 1), (D.17)
j
22
(k) =
x
2
(k)x
2
(k 1), (D.18)
j
33
(k) =
x
3
(k)x
3
(k 1). (D.19)
Para actualizar los pesos se utiliza:
j
ii
(k + 1) = j
ii
(k) j
ii
(k). (D.20)
D.1.3. Pesos de la Capa de Entrada
Los pesos de la capa de salida se utilizan el mismo gradiente de la capa oculta, entonces la coreccion de los pesos es
la siguiente:
b
10
(k) =
x
1
(k)(1), (D.21)
b
11
(k) =
x
1
(k)u
1
(k 1), (D.22)
b
12
(k) =
x
1
(k)u
2
(k 1), (D.23)
b
20
(k) =
x
2
(k)(1), (D.24)
b
21
(k) =
x
2
(k)u
(
1)(k 1), (D.25)
b
22
(k) =
x
2
(k)u
2
(k 1) (D.26)
b
30
(k) =
x
3
(k)(1), (D.27)
b
31
(k) =
x
3
(k)u
1
(k 1), (D.28)
b
32
(k) =
x
3
(k)u
2
(k 1). (D.29)
214 JMFA
Captulo D. Ecuaciones de Entrenamiento para Redes Neuronales Recurrentes D.2. RNR con Tres Capas
Para actualizar los pesos se utiliza:
b
ij
(k + 1) = b
ij
(k) b
ij
(k). (D.30)
D.2. Red Neuronal Recurrente con Tres Capas
Esta red neuronal tiene con modicacion la de contar con una funci on de activacion a la salida de la capa de entrada.
El la gura D.2 se presenta a arquitectura de la red para la que se presentas sus ecuaciones de entrenamiento.
z
-1
(
.
)
1
1

z
-1
z
-1

(
.
)
1
2
(
.
)
1
3
(
.
)
2
1
(
.
)
2
2

-
-
-1
-1
-1 -1
-1
-1
(
.
)
0
1
(
.
)
0
2
(
.
)
0
3
Figura D.2: Red neuronal recurrente con tres capas 2, 3, 2
D.2.1. Pesos de la Capa de Salida
Quedan denidos por (D.1-D.13)
D.2.2. Pesos de la Capa Oculta
Quedan denidos por (D.14-D.20)
D.2.3. Pesos de Entrada
El gradiente para cada nodo de la entrada
2
1,2,3
(k) es igual a:

1
1
(k) =
x
1

0
1
_
s
1
1
(k)

, (D.31)

1
2
(k) =
x
2

0
2
_
s
1
2
(k)

, (D.32)

1
3
(k) =
x
3

0
3
_
s
1
3
(k)

. (D.33)
Si la funci on de activacion la tanh este gradiente local es:

1
1
(k) =
x
1
_
1 r
1
(k)
2

, (D.34)

1
2
(k) =
x
2
_
1 r
2
(k)
2

, (D.35)

1
3
(k) =
x
3
_
1 r
3
(k)
2

. (D.36)
JMFA 215
D.3. Prediccion de la Salida Captulo D. Ecuaciones de Entrenamiento para Redes Neuronales Recurrentes
la capa oculta, entonces la coreccion de los pesos es la siguiente:
b
10
(k) =
x
1
_
1 r
1
(k 1)
2

(k)(1), (D.37)
b
11
(k) =
x
1
_
1 r
1
(k 1)
2

(k)u
1
(k 1), (D.38)
b
12
(k) =
x
1
_
1 r
1
(k 1)
2

(k)u
2
(k 1), (D.39)
b
20
(k) =
x
2
(k)
_
1 r
2
(k 1)
2

(1), (D.40)
b
21
(k) =
x
2
(k)
_
1 r
2
(k 1)
2

u
1
(k 1), (D.41)
b
22
(k) =
x
2
(k)
_
1 r
2
(k 1)
2

u
2
(k 1), (D.42)
b
30
(k) =
x
3
(k)
_
1 r
3
(k 1)
2

(1), (D.43)
b
31
(k) =
x
3
(k)
_
1 r
3
(k 1)
2

u
1
(k 1), (D.44)
b
32
(k) =
x
3
(k)
_
1 r
3
(k 1)
2

u
2
(k 1). (D.45)
Los pesos se actualizan usando D.30.
D.3. RNRE con Prediccion de la Salida
En este modelo de red nueronal recurrente el lazo de retroalimentacion interno contiene el ratardo pudiendo expresarse
la salida para el tiempo (k + 1), ver la gura D.3
z
-1
(
.
)
1
1

z
-1
z
-1

(
.
)
1
2
(
.
)
1
3
(
.
)
2
1
(
.
)
2
2

-
-
-1
-1
-1 -1
-1
-1
Figura D.3: Red neuronal recurrente con predicci on a la salida 2, 3, 2
D.3.1. Pesos de la Capa de Salida
Para las dos salidas de la RNR existen dos gradientes asociados a cada una de estas:

2
1
(k + 1) = e
1
(k + 1)

2
1
_
s
2
1
(k + 1)

, (D.46)

2
2
(k + 1) = e
2
(k + 1)

2
2
_
s
2
2
(k + 1)

. (D.47)
En el caso de que la funci on de activacion de salida es tanh, entonces

2
1
(k + 1) = e
1
(k + 1)
_
1 y
1
(k + 1)
2

, (D.48)

2
2
(k + 1) = e
2
(k + 1)
_
1 y
2
(k + 1)
2

. (D.49)
La correccion de los pesos es:
c
10
(k) =
2
1
(k + 1)(1), (D.50)
c
11
(k) =
2
1
(k + 1)z
1
(k + 1), (D.51)
216 JMFA
Captulo D. Ecuaciones de Entrenamiento para Redes Neuronales Recurrentes D.4. Estados Acotados
c
12
(k) =
2
1
(k + 1)z
2
(k + 1), (D.52)
c
13
(k) =
2
1
(k + 1)z
3
(k + 1), (D.53)
c
20
(k) =
2
2
(k + 1)(1), (D.54)
c
21
(k) =
2
2
(k + 1)z
2
(k + 1), (D.55)
c
22
(k) =
2
2
(k + 1)z
2
(k + 1), (D.56)
c
23
(k) =
2
2
(k + 1)z
3
(k + 1). (D.57)
Para actualizar los pesos se utiliza (D.13)
D.3.2. Pesos de la Capa Oculta
Son tres nodos ocultos y cada uno de ellos tiene un gradiente local asociado
x
1,2,3
(k):

x
1
(k + 1) =
_

2
r=1

2
r
(k + 1)c
r1

1
1
[x
1
(k + 1)] , (D.58)

x
2
(k + 1) =
_

2
r=1

2
r
(k + 1)c
r2

1
2
[x
2
(k + 1)] , (D.59)

x
3
(k + 1) =
_

2
r=1

2
r
(k + 1)c
r3

1
3
[x
3
(k + 1)] . (D.60)
La correccion de los pesos es la siguiente:
j
11
(k) =
x
1
(k + 1)x
1
(k), (D.61)
j
22
(k) =
x
2
(k + 1)x
2
(k), (D.62)
j
33
(k) =
x
3
(k + 1)x
3
(k). (D.63)
Para actualizar los pesos se utiliza D.20:
D.3.3. Pesos de la Capa de Entrada
Los pesos de la capa de salida se utilizan el mismo gradiente de la capa oculta, entonces la coreccion de los pesos es
la siguiente:
b
10
(k) =
x
1
(k + 1)(1), (D.64)
b
11
(k) =
x
1
(k + 1)u
1
(k), (D.65)
b
12
(k) =
x
1
(k + 1)u
2
(k), (D.66)
b
20
(k) =
x
2
(k + 1)(1), (D.67)
b
21
(k) =
x
2
(k + 1)u
1
(k), (D.68)
b
22
(k) =
x
2
(k + 1)u
2
(k) (D.69)
b
30
(k) =
x
3
(k + 1)(1), (D.70)
b
31
(k) =
x
3
(k + 1)u
1
(k), (D.71)
b
32
(k) =
x
3
(k + 1)u
2
(k). (D.72)
Para actualizar los pesos se utiliza D.30
D.4. RNRE con Estados Acotados
En esta red los estados quedan acotados por medio de la funci on de activacion. Vea la gura D.4.
D.4.1. Pesos de la Capa de Salida
Quedan denidos por (D.1-D.13)
JMFA 217
D.4. Estados Acotados Captulo D. Ecuaciones de Entrenamiento para Redes Neuronales Recurrentes
z
-1
(
.
)
1
1

(
.
)
2
1
(
.
)
2
2

-
-
-1
-1
-1 -1
-1
-1
z
-1
(
.
)
1
2

z
-1
(
.
)
1
3

Figura D.4: Estados acotados 2, 3, 2


D.4.2. Pesos de la Capa Oculta
Los gradientes locales de esta capa son:
x
1,2,3
(k):

x
1
(k) =
_

2
r=1

2
r
(k)c
r1

1
1
[x
1
(k)] , (D.73)

x
2
(k) =
_

2
r=1

2
r
(k)c
r2

1
2
[x
2
(k)] , (D.74)

x
3
(k) =
_

2
r=1

2
r
(k)c
r3

2
3
[x
3
(k)] . (D.75)
La correccion de los pesos es la siguiente:
j
11
(k) =
x
1
(k)z
1
(k 1), (D.76)
j
22
(k) =
x
2
(k)z
2
(k 1), (D.77)
j
33
(k) =
x
3
(k)z
3
(k 1). (D.78)
Para actualizar los pesos se utiliza D.20:
D.4.3. Pesos de la Capa de Entrada
Los pesos de la capa de salida se utilizan el mismo gradiente de la capa oculta, entonces la correcci on de los pesos
es la siguiente:
b
10
(k) =
x
1
(k)(1), (D.79)
b
11
(k) =
x
1
(k)u
1
(k 1), (D.80)
b
12
(k) =
x
1
(k)u
2
(k 1), (D.81)
b
20
(k) =
x
2
(k)(1), (D.82)
b
21
(k) =
x
2
(k)u
1
(k 1), (D.83)
b
22
(k) =
x
2
(k)u
2
(k 1), (D.84)
b
30
(k) =
x
3
(k)(1), (D.85)
b
31
(k) =
x
3
(k)u
1
(k 1), (D.86)
b
32
(k) =
x
3
(k)u
2
(k 1). (D.87)
Para actualizar los pesos se utiliza D.30
218 JMFA
Apendice E
Prototipo Experimental
En el laboratorio de rob otica del Departamento de Control Automatico se tienen diversos prototipos para implementar
algoritmos de control en tiempo real. Esto permite redondear el proceso de dise no y obtener resultados experimentales,
y con ellos juzgar si estos concuerdan con lo obtenido en la teora y en simulacion.
En particular en este trabajo se utiliza el un sistema para el control de un motor de corriente continua. gura E.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data and
Acquisition
Control
Board
WinCon
Server
WinCon
Client
Amplificador
de Potencia
MatLab
Simulink
Visual C++
Motor de CC
Sistema
Embrague/Carga
Brazo Acoplable
Codificador
Digital
de Posicin
IEEE 802
Figura E.1: Prototipo experimental de laboratorio.
E.1. Descripcion General
En este prototipo de control se trabaja con la interaccion de dos programas comerciales MatLab
c _
y WinCon
c _
. El
proceso para implementar los algoritmos de control inicia programando en Matlab-Simulink el algoritmo de control por
219
E.1. Descripci on General Captulo E. Prototipo Experimental
medio de los bloques que vienen en las libreras que integra a este programa. Una vez que se ha programado el algoritmo
de control se enva a compilar por medio de Real-Time Workshop que traduce el programa en Simulink a lenguaje de
programacion C++ optimizado para trabajar en tiempo real. El algoritmo codicado es tomado por WinCon para ser
cargado y ejecutado en la tarjeta de adquisici on y control. WinCon trabaja en una conguraci on cliente-servidor, en una
computadora opera el programa servidor, que junto con Matlab-Simulink, el programa se compila y se capturan datos. Por
medio de una red local la computadora con el programa servidor se comunica con el programa cliente. La computadora
con el programa cliente es la que se encarga de supervisar la operacion del algoritmo en la tarjeta de adquisici on y control,
as como la transferencia de datos a la computadora con el programa servidor en donde se pueden gracar y guardar los
datos del proceso.
La tarjeta de adquisici on y control es una MultiQ
c _
dise nada por la compa na Quanser Consulting Inc. Esta tarjeta
tiene ocho entradas analogicas, ocho salidas analogicas, ocho salidas digitales, tres temporizadores y seis entradas para
codicadores digitales de posicision en cuadratura.
Para suministar la energa al motor de corriente continua se utiliza un amplicador de potencia entre la salida anal ogica
de la tarjeta (de 5 a +5 Volt, a traves de un registro de 12 bits) y las terminales del motor. Este amplicador incluye
una retroalimentacion de la corriente que pasa por el inducido del motor para mejorar el amortiguamiento del sistema.
El motor de corriente directa es de 24 volts, en la echa del motor se pone un codicador digital de posici on. Este
codicador tiene una resolucion 2000 ciclos por revolucion. El codicador digital es de tipo incremental y en cuadratura,
es decir, que internamente se generan dos se nales desfasadas 90

electricos; en cada ciclo se generan cuatro transiciones


de forma que la resolucion en la lectura de la posicion es de 8000 transiciones por cada 360

grados de rotaci on del eje.


El contador interno de la tarjeta es de 24 bits, de forma que el n umero de transiciones maximo que se pueden acumular
es de 16, 777, 216; es decir, que hay 2, 097 revoluciones antes de que el contador se reinicie.
En la fecha del motor se acopla un sistema mecanico embrague-carga que posibilita conectar al eje de motor una
carga a traves de una banda dentada. La relaci on entre los engranes es de 1:3.6
Otro accesorio es un brazo rgido que se puede ser montado sobre el eje de carga.
En la gura E.2 se presenta la respuesta al escalon del motor de cc., para la posicion y velocidad del eje del motor.
Estas curvas son el resultado de aplicar a la entrada del motor u(k) = 0.2, 0.3, . . . , 1.0. El tiempo de muestreo es de
T
s
= 0.001 s.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
50
100
150
200
250
300
350
400
450
500
s
R
a
d
Respuesta al Escaln, Motor CC: Posicin
u(k)=0.2
+0.1
u(k)=1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
10
20
30
40
50
60
70
80
90
100
s
R
a
d
/
s
Respuesta al Escaln, Motor CC: Velocidad
u(k)=0.2
+0.1
u(k)=1
Figura E.2: Respuesta al escal on del motor de cc. a) posici on (Radianes). b) velocidad (Radianes/segundo). La
magnitud de entrada al motor de cc., va de 0.2 hasta 1.0 en incrementos de una decima. El perodo de muestreo es
T
s
= 0.001s.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
220 JMFA
Captulo E. Prototipo Experimental E.2. Control Proporcional Integral Derivativo Discreto
E.2. Control Proporcional Integral Derivativo Discreto
En esta seccion se presenta la discretizacion de un control de tipo Proporcional Integral Derivativo (PID) se utiliza
para obtener algunos datos del prototipo de control, y de esta forma tener un marco de referencia para los evaluar los
resultados.
La ecuacion continua de un control PID es:
U(s)
E(s)
= K
p
+
K
i
s
+ K
d
s, (E.1)
en donde K
p
, K
i
y K
d
son los parametros del controlador.
Para obtener una aproximacion discreta de este controlador se reemplazan los integradores por T
s
/1 z
1
, en donde
T
s
es el tiempo de muestreo:
U(z) =
K
p
T
s
(1 z
1
) +K
i
T
2
s
+K
d
(1 z
1
)
2
T
s
(1 z
1
)
E(z), (E.2)
(1 z
1
)U(z) =
_
K
p
(1 z
1
) +K
i
T
s
+
K
d
T
s
(1 z
1
)
2
_
E(z), (E.3)
u(k) = K
p
[e(k) e(k 1)] +K
i
T
s
e(k) +
K
d
T
s
[e(k) 2e(k 1) +e(k 2)] +u(k 1), (E.4)
al algoritmo (E.4) se suele llamar PID de velocidad, debido a que el valor del control se calcula en referencia al valor del
control en la iteracion anterior.
E.3. Filtrado
La se nal de retroalimentacion con que cuenta el prototipo experimental es la salida de un codicador digital de
posicion. Para realizar pruebas de control en velocidad se necesita evaluar la velocidad de la echa del motor con la
informacion de la posicion.
El codicador digital trabaja en cuadratura, es decir, genera un par de se nales desfazadas 90

entre si. Esto permite


cuadruplicar la resolucion del encoder y determinar el sentido de giro de la echa.
Para evaluar la velocidad del motor se puede utilizar una diferenciacion numerica:
w(k) =
(k) (k 1)
T
s
, (E.5)
o
W(z) =
z 1
zT
s
(z), (E.6)
en donde T
s
es el tiempo de muestreo. Sin embargo esta opcion es muy sensible al ruido; es decir, que para todo
incremento grande en la posicion en un tiempo muy corto el valor de la velocidad tendra un valor muy alto, caracterstica
que cumplen las perturbaciones. Por lo que en un experimento puede darse el caso de que el ruido se amplique en tal
grado que perjudique el desempe no del sistema.
Se propone utilizar un ltro para obtener el valor de la velocidad para evitar amplicar el ruido. Un ltro pasa-banda
es el indicado para esto.
La funci on de transferencia de la velocidad en tiempo continuo es:
V (S) = s(s). (E.7)
En la gura E.3 se presentan las gracas de Bode de un derivador (E.7). En gura E.3.a se nota que un derivador
tiene la caracterstica de un cambio de ganancia de 20dB por decada, de aqu que un derivador ideal amplica con
mayor medida las se nales de alta frecuencia. En la gura E.3.b se aprecia que un derivador produce un adelanto de fase
constante de 90

.
JMFA 221
E.3. Filtrado Captulo E. Prototipo Experimental
10
1
10
0
10
1
10
2
10
3
0
20
40
60
80
Grficas de Bode: H(s)=s
M
a
g
n
i
t
u
d

(
d
B
)
(a) Hz
10
1
10
0
10
1
10
2
10
3
0
50
100
150
F
a
s
e

(
g
r
a
d
o
s
)
(b) Hz
Figura E.3: Diagrama de Bode de un derivador. El
rango de gracaci on es [0.1,1000] Hz. a) Diagrama
de ganancia. Notar que un derivador tiene pendiente
de 20dB/decada. b) Diagrama de fase. Un derivador
tiene 90

de adelanto de fase.
10
1
10
0
10
1
10
2
10
3
0
20
40
60
80
Grficas de Bode: H(z)=z1/(Ts*z)
M
a
g
n
i
t
u
d

(
d
B
)
(a) Hz
10
1
10
0
10
1
10
2
10
3
0
50
100
150
F
a
s
e

(
g
r
a
d
o
s
)
(b) Hz
Figura E.4: Diagrama de Bode de un diferenciador.
El rango de gracaci on es [0.1,1000] Hz. con un tiem-
po de muestreo de T
s
= 0.001s La frecuencia de
Nyquis es de 500Hz. a) Diagrama de ganancia. El
diferenciador tiene una pendiente de 20dB/decada
en la zona de operacion. b) Diagrama de fase. Un
diferenciador mantiene un desfasamiento 90

; pero a
partir de 100Hz este va disminuyendo hasta alcanzar
0

en la frecuencia de Nyquist.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En la gura E.4 pueden verse las gracas de Bode de la diferencia nita (E.6). gura E.4.a se observa que un
diferenciador mantiene una ganancia de 20dB por decada, la misma caracterstica de un deivador, hasta poco antes de
alcanzar la frecuencia de Nyquist; es decir, a la frecuencia f
N
=
1
2Ts
. Si T
s
= 0.001s entonces f
N
= 500Hz, a esta
frecuencia la salida del diferenciador es cero, debido a que la toma de cada una de las muestras de la se nal coincide con
el cruce por cero de la misma, y para frecuencias mayores a f
N
, se produce el efecto de alias. La frecuencia de Nyquist no
debe considerarse como el lmite superior del rango de trabajo, por el teorema de Shannon se conoce que para reproducir
una se nal digitalizada se debe utilizar un perodo de la mitad del perodo del componente de frecuencia mas alto que se
desea recuperar.
Para una frecuencia de muestreo de T
s
= 0.001s, se utiliza un diferenciador para obtener la derivada de la se nal, esto
implica que el rango de trabajo tiene un lmite impuesto por la frecuencia de Nyquist, para este caso es: f
N
= 500Hz,
es decir, que el perodo de muestreo se reduce a T
N
= 0.002s. Por el teorema de Shannon la frecuencia de la se nal
mas grande que se puede recuperar con una perodo de muestreo T
N
es del doble; es decir T
Sh
= 0.004. Por tanto la
frecuencia maxima de trabajo es de F
M
= 1/T
Sh
= 250Hz. Notar de la gura E.4.b que esta frecuencia de 250Hz
corresponde al punto en donde inicia a reducirse la fase.
En este punto se determino la frecuencia maxima de trabajo, en funci on del perodo de muestreo; pero el tipo de
sistema con el cual se esta trabajando impone por si mismo un lmite de operacion. El prototipo experimental de un motor
de corriente directa es un dispositivo electromecanico, los cambios en velocidad en su operacion no son muy grandes,
por esto se propone que la frecuencia maxima del cambio de velocidad sea de 10Hz.
Por lo anterior se tiene que para estimar la velocidad del motor a partir de la lecturas de codicador digital de posici on
se necesita de un ltro digital que tenga una caracterstica de una ganancia de 20dB/decada y 90

de adelanto de fase en
la zona de trabajo, y con el n de evitar ruido y reducir el efecto de alias se necesita atenuar las se nales que correspondan
a un cambio de velocidad por mayores de 20Hz.
El ltro adecuado para esta funci on es uno de tipo pasa-banda. Dentro de la frecuencia de trabajo se utiliza un ltro
pasa-altos de tipo Butterworth:
H
pa
(s) =
2f
ca
s
s + 2f
ca
, (E.8)
en donde f
ca
es la frecuencia de corte alta en Hertz. Este ltro tiene una ganancia 20dB/decada y 90

hasta una
222 JMFA
Captulo E. Prototipo Experimental E.3. Filtrado
10
1
10
0
10
1
10
2
10
3
0
20
40
60
80
Grficas de Bode: H(s)=2*pi*fca*s/(s+2*pi*fca)
M
a
g
n
i
t
u
d

(
d
B
)
(a) Hz
10
1
10
0
10
1
10
2
10
3
0
50
100
150
F
a
s
e

(
g
r
a
d
o
s
)
(b) Hz
Figura E.5: Diagrama de Bode de un ltro Butter-
worth pasa-altos. a) Diagrama de ganancia. b) Dia-
grama de fase. La l nea vertical se nala la frecuencia de
corte: f
ca
= 15Hz. Se usa para estimar la velocidad.
10
1
10
0
10
1
10
2
10
3
80
60
40
20
0
Grficas de Bode: H(s)=2*pi*fca/(s+2*pi*fca)
M
a
g
n
i
t
u
d

(
d
B
)
(a) Hz
10
1
10
0
10
1
10
2
10
3
150
100
50
0
F
a
s
e

(
g
r
a
d
o
s
)
(b) Hz
Figura E.6: Diagrama de Bode de un ltro Butter-
worth pasa-bajos. a) Diagrama de ganancia. b) Dia-
grama de fase. La lnea vertical se nala la frecuencia
de corte: f
ca
= 15Hz. Aten ua las se nales superiores
a f
ca
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
frecuencia poco menor a la de corte, en la frecuencia de corte la ganancia se reduce a 1/

2 y +45

de adelanto de fase.
De forma que si la frecuencia de operacion maxima es de 10Hz se sugire que la frecuencia de corte superior sea 50 %
mayor a la frecuencia de corte superior. De forma que la frecuencia de corte que se utiliza es f
ca
= 15Hz. ver gura E.5.
Este ltro estima la derivada de la se nal.
Para atenuar las se nales superiores a la frecuencia de corte se puede utilizar un ltro Butterworth pasa-bajos. Un
ltro Butterworth pasa-bajos de primer orden esta descrito por la ecuacion:
H
pb
(s) =
2f
cb
s + 2f
cb
, (E.9)
este ltro tiene una gancia de 20dB/decada. Ver las gracas de Bode de este ltro en gura E.6. El ltro tiene un
desfasamiento de 0

grados, cruzando por 45

en la frecuencia de corte, f
cb
; hasta 90

.
El ltro pasa banda puede usarse para estimar la velocidad y aten ua las frecuencias superiores a la de corte es:
H(s) = H
pa
(s)H(s)
pb
=
2f
ca
s
s
2
+ 4f
ca
s + (2f
ca
)
2
, (E.10)
Discretizando este ltro con un perodo de muestreo, T
s
= 0.001, su funci on de transferencia es:
H(z) =
8.084(z 1)
z
2
1.82z + 0.8282
, (E.11)
En las guras E.7 y E.8 se muestran las gracas de Bode el un ltro pasa banda (E.10), en su versi on continua; y
(E.11) en discreto. De estas gracas se observa que las se nales alrededor de la frecuencia de Nyquist a un son amplicadas.
Para aumentar el grado de atenuacion se puede utilizar un ltro Butterworth de tercer orden:
H
pb
(s) =
(2f
cb
)
3
s
3
+ 2(2f
cb
)s
2
+ 2(2f
cb
)
2
s + (2f
cb
)
3
(E.12)
Este ltro tiene una pendiente de atenuacion de 60dB/decada. En la gura E.9 estan las gracas de Bode de este
ltro para una frecuencia de corte de 50Hz.
JMFA 223
E.3. Filtrado Captulo E. Prototipo Experimental
10
1
10
0
10
1
10
2
10
3
0
20
40
60
80
Grficas de Bode: H(s)=2*pi*fca*s/[s
2
+4*pi*fca*s+(2*pi*fca)
2
]
M
a
g
n
i
t
u
d

(
d
B
)
(a) Hz
10
1
10
0
10
1
10
2
10
3
100
0
100
F
a
s
e

(
g
r
a
d
o
s
)
(b) Hz
Figura E.7: Diagrama de Bode de un ltro pasa-
banda. a) Diagrama de ganancia. b) Diagrama de
fase. Frecuencia de corte f
c
= 15Hz.
10
1
10
0
10
1
10
2
10
3
0
20
40
60
80
Grficas de Bode: H(z)
M
a
g
n
i
t
u
d

(
d
B
)
(a) Hz
10
1
10
0
10
1
10
2
10
3
100
0
100
F
a
s
e

(
g
r
a
d
o
s
)
(b) Hz
Figura E.8: Diagrama de Bode de un ltro pasa-
banda. a) Diagrama de ganancia. b) Diagrama de
fase. Frecuencia de corte f
c
= 15Hz.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1
10
0
10
1
10
2
10
3
100
50
0
Grficas de Bode: H(s)=(2*pi*fca)
3
/[s
3
+4*pi*fca*s
2
+2*(2*pi*fca)
2
*s+(2*pi*fca)
3
]
M
a
g
n
i
t
u
d

(
d
B
)
(a) Hz
10
1
10
0
10
1
10
2
10
3
300
200
100
0
F
a
s
e

(
g
r
a
d
o
s
)
(b) Hz
Figura E.9: Diagrama de Bode de un ltro But-
terworth pasa-bajos de tercer orden. a) Diagrama
de ganancia. La pendiente de esta gr aca es de
60dB/decada. b) Diagrama de fase. Frecuencia de
corte 50Hz.
10
1
10
0
10
1
10
2
10
3
50
0
50
Grficas de Bode: H(s)=(2*pi*fca)
3
*s/[s
4
+3*v*s
3
+4*v
3
*s
2
+3*v
3
*s+v
4
]
M
a
g
n
i
t
u
d

(
d
B
)
(a) Hz
10
1
10
0
10
1
10
2
10
3
300
200
100
0
100
F
a
s
e

(
g
r
a
d
o
s
)
(b) Hz
Figura E.10: Diagrama de Bode de un ltro pasa-
banda. a) Diagrama de ganancia.b) Diagrama de
fase. Las frecuencias de corte son: f
ca
= 15Hz,
f
cb
= 50Hz. Las frecuencias por arriba de 500Hz son
atenuadas.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
224 JMFA
Captulo E. Prototipo Experimental E.3. Filtrado
10
1
10
0
10
1
10
2
10
3
50
0
50
Grficas de Bode: H(z)
M
a
g
n
i
t
u
d

(
d
B
)
(a) Hz
10
1
10
0
10
1
10
2
10
3
400
200
0
200
F
a
s
e

(
g
r
a
d
o
s
)
(b) Hz
Figura E.11: Filtro digital pasa banda.a) Diagrama de
ganancia.b) Diagrama de fase. Frecuencia de corte
inferior:f
ca
= 15Hz; Frecuencia de corte superior: f
cb
=
50Hz. Frecuencia de Nyquist: f
N
= 500Hz.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
El ltro pasa-banda generado por (E.8) y (E.9) esta representado por la ecuacion:
H(s) =
N(s)
D(s)
, (E.13)
N(s) = (2f
ca
)(2f
cb
)
3
s, (E.14)
D(s) = s
4
+ [(2f
ca
) + 2(2f
cb
)] s
3
+
_
2(2f
ca
)(2f
cb
) + 2(2f
cb
)
2

s
2
+
+
_
2(2f
ca
)(2f
cb
)
2
+ (2f
cb
)
3
)

s +
_
(2f
ca
)(2f
cb
)
3

, (E.15)
en donde f
c
a es la frecuencia de corte el ltro pasa-altos, y f
cb
es la frecuencia de corte del ltro pasa-bajos. En la
gura E.10 estan las gracas de Bode para el ltro pasa-banda (E.13), para las frecuencias de corte: f
ca
= 15Hz;
f
cb
= 50Hz.
Notar que este ltro aten ua las se nales por arriba de 500Hz. La version discreta de este ltro para una frecuencia de
muestreo T
s
= 0.001 es:
H(z) =
0.4053z
3
+ 0.9439z
2
1.067z 0.2824
z
4
3.287z
3
+ 4.096z
2
2.293z + 0.4855
. (E.16)
En la gura E.11 estan las gracas de magnitud de fase del ltro digital (E.13).
Dependiendo del grado de atenuacion requerido en las frecuencias superiores se puede seleccionar entre el ltro (E.10,
E.11), o (E.13, E.16).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 225
E.3. Filtrado Captulo E. Prototipo Experimental
226 JMFA
Apendice F
Algoritmo de Retropropagacion
En la seccion 1.2.4 se presenta el algoritmo de retropropagacion para una red neuronal m ulticapa. El objetivo de
esta seccion es la de mostrar este algoritmo de forma que sea sencillo traducirlo a un lenguaje de computo; por ejemplo
Matlab
c _
.
El algoritmo de retropropagacion del error tiene como tarea mnimizar el error cuadratico de la salida de la red:
J =
1
2
e
T
e. Siendo: e = y
d
y el vector error, en donde: y
d
es el vector de valores deseados y y es el vector con los
valores de la salida de la red.
Los componentes que forman la salida de la capa l de la red neuronal: x
(l)
, esta expresado de la forma siguiente:
s
(l)
= W
(l)
x
(l1)
, (F.1)
x
(l)
= [s
(l)
], (F.2)
en donde: l indica el n umero de capa en la red; [] es el vector de funciones de activacion; x
(l1)
es el vector de salida
de la capa l 1; cada componente del vector s
(l)
es la combinacion lineal entre los pesos de una neurona y la salida de
la capa anterior, es decir: s
(l)
i
= w
(l)
i
x
(l1)
, siendo w
(l)
i
la i-esima la de la matriz de pesos W
(l)
. Si las neuronas tienen
una entrada independiente, esta se agrega como una entrada de valor jo:
s
(l)
i
= [
w
(l)
i0
.
.
. w
(l)
i
]
_
_
1

x
(l1)
_
_
, (F.3)
el termino w
(l)
i0
es el componente de compensacion.
Como ejemplo: una red neuronal de tres capas tiene la forma:
s
(1)
= W
1
x
(0)
, (F.4)
x
(1)
= [s
(1)
], (F.5)
s
(2)
= W
2
x
(1)
, (F.6)
x
(2)
= [s
(2)
], (F.7)
s
(3)
= W
3
x
(2)
, (F.8)
y = x
3
= [x
(3)
]. (F.9)
El proceso de entrenamiento de la red neuronal principa al incializar las matrices de la red neuronal con valores
aleatorios peque nos. La actualizacion de las matrices de pesos se realiza a traves de la regla delta:
w
(l)
i
w
(l)
i

J
w
(l)
i
, (F.10)
en donde: w
(l)
i
es un vector la con los pesos de la neurona o nodo i de la capa l; el gradiente:
J
w
(l)
i
es tambien un
vector la.
227
Captulo F. Algoritmo de Retropropagaci on
Al utilizar la regla de la cadena en este gradiente se obtiene:
J
w
(l)
i
=
J
s
(l)
i
s
(l)
i
w
(l)
i
=
J
s
(l)
i
_
x
(l1)
_
T
, (F.11)
en donde el escalar
J
s
(l)
i
=
(l)
i
es el gradiente local del nodo i de la capa l.
Se puede representar la actualizacion de todos los pesos de una capa de la red neuronal a traves de la forma siguiente:
w
1
.
.
.
w
n
l
w
1

(l)
1
_
x
(l1)

T
,
.
.
.
w
n
l

(l)
n
l
_
x
(l1)

T
,
(F.12)
n
l
indica en n umero de nodos del nivel l. Agrupando la matriz de los pesos del nivel l se obtiene una representaci on
matricial:
W
l
W
l
[
(l)
]
T
_
x
(l1)
_
T
, (F.13)
en donde:
(l)
es un vector la, compuesto por gradientes locales de los nodos de la capa l.
Hay un gradiente local para cada nodo en la red. Y como se puede observar en la gura F.1, los gradientes locales
de la red neuronal se pueden calcular por medio de una red con estructura similar a la original. Se parte de la salida y se
propagan los gradientes de una capa para calcular los gradiente de la capa que le antecede.
El vector de los gradientes locales una capa l es:
J
s
(l)
. Al seguir aplicando la regla de la cadena al gradiente local, se
tiene:
J
s
(l)
=
J
x
(l)
x
(l)
s
(l)
=
J
x
(l)
Diag
_

[s
(l)
1
], . . . ,

[s
(l)
n
l
]
_
, (F.14)
en donde: n
l
es el n umero de nodos en la capa l; Diaga
1
, ..., a
n
representa una matriz cuadrada (n n) diagonal con
elementos a
1
, . . ., a
n
l
.
La soluci on de la derivada:
J
x
(l)
depende de si es una capa oculta o la de salida de la red neuronal. En el caso de
que sea para la salida de la red (nivel L), esta derivada es:
J
x
(L)
=
1
2
e
T
e
x
(L)
=
1
2
e
T
e
e
e
x
L
= e
T
. (F.15)
Y para una capa oculta la derivada:
J
x
(l)
es:
J
x
(l)
=
J
s
(l+1)
s
(l+1)
x
(l)
=
(l+1)
W
(l+1)
, (F.16)
Resumiendo:
1. La ecuacion para actualizar los pesos del ultimo nivel de una red m ulticapa se utiliza:
W
L
W
L
Diag
_

[s
(L)
1
], . . . ,

[s
(L)
nL
]
_
e
_
x
(L1)
_
T
, (F.17)
n
L
es el n umero de salidas de la red.
2. Y para los niveles ocultos:
W
l
W
l
Diag
_

[s
(l)
1
], . . . ,

[s
(l)
n
l
]
__

(l+1)
W
(l+1)
_
T
_
x
(L1)
_
T
, (F.18)
para 0 l < L.
228 JMFA
Captulo F. Algoritmo de Retropropagaci on
Utilizando el ejemplo de la red neuronal (F.4-F.9) los gradientes de esta red son:

(3)
= e
T
Diag
_

[s
(3)
1
], . . . ,

[s
(3)
n3
]
_
, (F.19)

(2)
=
(3)
W
(3)
Diag
_

[s
(2)
1
], . . . ,

[s
(2)
n2
]
_
, (F.20)

(1)
=
(2)
W
(2)
Diag
_

[s
(1)
1
], . . . ,

[s
(1)
n1
]
_
, (F.21)
recordar que estos vectores son tipo la y estan formados por las derivadas parciales:
J
s
(l)
i
; i = 1, . . . , n
l
, siendo l el
n umero de nivel o capa en la red y n
l
el n umero de nodos en esta capa.
El modelo que se forma a partir de los gradientes locales de la red neuronal se conoce como modelo se sensibilidad.
Este modelo es en su estructura similar al original, se obtiene al sustituir las entradas x a la red por los gradientes locales
, los nodos de suma por puntos de bifurcacion, y viceversa (ver [55]).
Esta estructura es util en los problemas de control inverso (ver seccion 4.3), debido a que permite usar un modelo
neuronal del sistema a controlar y retropropagar a traves de su modelo de sensibilidad el error de control; y con este
valor, determinar los gradientes locales de la red de control para actualizar sus pesos.
Para lo anterior se requiere calcular el Jacobiano (para el caso de un sistema con mas de una entrada y una salida):
x
(L)
x
(0)
. Como ejemplo sup ongase un sistema con tres entradas y dos salidas este Jacobiano tiene la siguiente estructura:
x
(L)
x
(0)
=
_

_
x
(L)
1
x
(0)
1
x
(L)
1
x
(0)
2
x
(L)
1
x
(0)
3
x
(L)
2
x
(0)
1
x
(L)
2
x
(0)
2
x
(L)
2
x
(0)
3
_

_. (F.22)
Desarrollando este Jacobiano se obtiene:
x
(L)
x
(0)
=
x
(L)
s
(L)
s
(L)
x
(0)
(F.23)
=
x
(L)
s
(L)
s
(L)
x
(L1)
x
(L1)
x
(0)
, (F.24)
= Diag
_

[s
(L)
1
], . . . ,

[s
(L)
nL
]
_
W
(L)
x
(L1)
x
(0)
, (F.25)
al proseguir derivando, el Jacobiano queda denido por:
x
(L)
x
(0)
= Diag
_

[s
(L)
1
], . . . ,

[s
(L)
nL
]
_
W
(L)
Diag
_

[s
(1)
1
], . . . ,

[s
(1)
n1
]
_
W
(1)
, (F.26)
se faculta utilizar los gradientes locales para evaluar el Jacobiano (F.26), con tan s olo suponer que el modelo de sensitividad
de la red neuronal tiene a 1 en sus entradas.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JMFA 229
C
a
p

t
u
l
o
F
.
A
l
g
o
r
i
t
m
o
d
e
R
e
t
r
o
p
r
o
p
a
g
a
c
i
o
n
( *)
( *)
( *)
( *)
( *)
( *)
( *)
( *)
( *)
( *)
( *)
( *)
( *)
( *)
( *)
( *)
-
-
1
(3)
=
2
(3)
=
2
(3)
=
1
(3)
=
3
(2)
=
2
(2)
=
2
(2)
=
1
(2)
=
1
(2)
=
3
(1)
=
2
(1)
=
1
(1)
=
3
(2)
=
3
(1)
=
2
(1)
=
1
(1)
=
Figura F.1: [36]. Esquema del metodo de aprendizaje por retropropagacion. Se presenta el caso para una red con una topologa:
{3, 3, 3, 2}; es decir, que esta red neuronal tiene tres nodos en la capa de entrada (nivel cero), tres nodos en la primer y segunda
capas ocultas (nivel 1 y 2) y dos nodos en la capa de salida (nivel 3). En este diagrama se presentan las dos fases del algoritmo de
retropropagacion. En la primera, se propaga el vector de entrada: x
0
= [x
0
1
, x
0
2
, x
0
3
]
T
(si se considera a la entrada independiente 1
dentro del vector entonces: x
0
= [x
0
0
, x
0
1
, x
0
2
, x
0
3
], en donde: x
0
0
= 1), a traves de cada capa y de cada nodo de la red neuronal hasta
llegar al tercer nivel, en donde la salida de la red esta denida por el vector: y = x
3
= [x
3
1
, x
3
2
]
T
. Se utiliza el error medio instantaneo
como funcion costo: J =
1
2
e
T
e, e = [y
d
1
x
3
1
, y
d
2
x
3
2
]
T
. Las lneas discontinuas marcan la segunda fase del proceso de aprendizaje. Este
consiste en calcular los gradientes locales de la red neuronal (
(l)
n =
1
2
e
T
e
s
(l)
n
, l = nivel, n = nodo). Por medio de la regla de la cadena
para la diferenciacion se puede expresar el gradiente local como:
(l)
n
=
1
2
e
T
e
s
(l)
n
=
1
2
e
T
e
x
(l)
n
x
(l)
n
s
(l)
n
=
1
2
e
T
e
x
(l)
n

[s
(l)
n
]. El termino:
e
T
e
x
(l)
n
depende de la topologa de la red neuronal. Para la nivel 3:
e
T
e
x
(3)
n
= en; y en un nivel anterior (oculto):
e
T
e
x
(l)
n
=

N
l+1
r=1
w
l+1
rn

(l+1)
r ,
en donde: l < 3; N
l
es el n umero de nodos del nivel l; w
l
ij
es el peso que esta en el nivel l, pertenece al nodo i y tiene como entrada
a x
l1
j
.
2
3
0

J
M
F
A

Apendice G
Representacion de Sistemas
La necesidad de describir el comportamiento de los sistemas dinamicos ha requerido de obtener representaciones
matematicas que permitan su analisis. Ya sea que se describan como sistemas que varian continuamente en el tiempo, o
bien considerados como datos que se presentan en perodos de tiempo regulares, estos modelos determinan la forma en
que pueden ser manipulados lo sistemas.
G.1. Modelos Discretos de Sistemas
La representacion de un sistema en forma discreta considera que responde por medio de una funci on de la secuencia
de valores pasados de la variable de salida, y, y de entrada, u; es decir:
y(k) = F (y(k 1), . . . , y(k n); u(k t), . . . , u(k mt)) (G.1)
en donde la funci on f() es una funci on suave, y la variable t es un entero que representa un retardo en la entrada; los
escalares n y m son posivitos y mayores de cero.
G.1.1. Modelo DARMA
En particular un sistema lineal tiene la siguiente forma general:
A
0
y(k) =
n

j=1
A
j
y(k j) +
m

j=0
B
j
u(k j t), k 0, (G.2)
donde en el caso de un sistema multivariable (varias entradas con varias salidas), los coecientes A
j
y B
j
son matrices;
y en el caso de una entrada y una salida A
j
y B
j
son escalares; t es un retardo en la variable de salida. En esta
representacion, a la parte formada por la secuencia de valores pasados de la variable de salida, y, se conoce como
autoregresivo y a los componentes pasados de la entrada, u, se le llaman moving-average. Conociendose a los sistemas
(G.2) como Deterministic Autoregrssive Moving-Average o bien DARMA.
Utilizando el operador retardo q
1
en la ecuacion (G.2) se obtiene una representacion equivalente:
A(q
1
)y(k) = B(q
1
)u(k), (G.3)
en donde:
A(q
1
) = A
0
+A
1
q
1
+ +A
n
q
n
, (G.4)
B(q
1
) =
_
B
0
+B
1
q
1
+ +B
n
q
m

q
t
, (G.5)
de esta forma el sistema (G.2) es descrito por un par de polinomios de la variable q.
231
G.1. Modelos Discretos de Sistemas Captulo G. Representaci on de Sistemas
Si la condiciones iniciales del sistema (G.2) son iguales a cero, se puede tomar a q
i
quivalente a la variable compleja
z
i
. Al hacer este cambio en los polinomios A y B del sistema (G.3), se obtiene:
A(z) = A
0
+A
1
z
1
+ +A
n
z
n
, (G.6)
B(z) =
_
B
0
+B
1
z
1
+ +B
n
z
m

z
t
, (G.7)
considerando los polinomios en z, la funci on de transferencia del sistema (G.2) es la siguiente:
Y (z) =
B(z)
A(z)
U(z), (G.8)
Y (z) = H(z)U(z). (G.9)
La funci on de transferencia H(z) es la representacion del sistema (G.2) desde el punto de vista entrada-salida y es
la respuesta del sistema a un impulso.
G.1.2. Modelo Regresor
Otra forma para el modelo del sistema (G.2) y que es muy util para los algoritmos de estimacion de parametros, se
obtiene al normalizar la ecuacion con respecto al parametro A
0
. As que se puede despejar de (G.2) a la variable y(k) y
se agrupan los coecientes de y(k i), i = 1, . . . , n y u(k l), l = 1, . . . , m en una matriz de parametros y en un
vector se agrupan las variables y(k i) y u(i l), llamado regresor.
y(k) =
T
(k 1). (G.10)
La presentacion del tipo (G.10) puede usarse para sistemas no lineales, basta con que sea posible separar los parametros
y reunirlos en .
G.1.3. Modelo en Variables de Estado
La descripcion en variables de estado de un sistema dinamico considera que existen un conjunto de variables que
determinan la historia pasada del sistema y la forma en que se ve afectada por la se nal de entrada, estas variables se
conocen como los estados del sistema.
La descripcion en general de un sistema en variables de estado es:
x(k + 1) = f(x(k); u(k)); (G.11)
y(k) = h(x(k)), (G.12)
x(0) = x
0
,
en donde las funciones f() y h() son funciones suaves y x
0
, es el vector de condiciones iniciales.
La representacion en variables de estado de un sistema lineal discreto tiene la siguiente forma:
x(k + 1) = Ax(k) +Bu(k); (G.13)
y(k) = Cx(k), (G.14)
x(0) = 0,
en donde los vectores: y, u y x son las variables de salida, entrada y estado, respectivamente, del sistema.
Si se aplica la transformada Z al sistema (G.13-G.14) se obtiene:
zX(z) = AX(z) +BU(z); (G.15)
Y (z) = CX(z), (G.16)
resolviendo el anterior par de ecuaciones anteriores con respecto a Y (z):
Y (z) = C(Iz A)
1
BU(z), (G.17)
Y (z) = C
Adj(Iz A)
[Iz A[
B, (G.18)
232 JMFA
Captulo G. Representaci on de Sistemas G.1. Modelos Discretos de Sistemas
en donde Adj() es la adjunta y [()[ el determinante de la matriz Iz A.
De la funci on de transferencia (G.18) se pasa de una representacion de estado a una representacion entrada-salida
en funci on de la variable compleja z, es decir, de la forma (G.9). Y s olo basta transformar el sistema en funci on de la
variable compleja z
n
por el operador retardo q
n
para obtener una representacion del tipo (G.2)
Grado Relativo
En un sistema representado por medio de sus ecuaciones en variables de estado al retardo que hay para que la se nal
de entrada , u(k), afecte a su salida se le conoce como grado relativo.
Utilizando el sistema (G.11,G.12) para hallar el grado relativo se inicia por calcular la derivada parcial de los adelantos
de la salida con respecto a la entrada u(k), entonces:
y(k) = h(x(k), u(k)) = h
0
(G.19)
y(k + 1) = h(x(k + 1), u(k)) = h(f(x(k)), u(k)) (G.20)
= h
1
(G.21)
y(k + 1)
u(k)
=

u(k)
h
1
; (G.22)
y(k + 2) = h(f(x + 1)), u(k)) = h(f(f(x(k))), u(k)) (G.23)
= h
2
(G.24)
y(k + 2)
u(k)
=

u(k)
h
2
; (G.25)
.
.
. (G.26)
y(k +l) = h
l
(G.27)
y(k +l)
u(k)
=

u(k)
h
l
. (G.28)
El valor de r para el cual la derivada parcial:
y(k+r)
u(k)
es diferente de cero, es el grado relativo del sistema (G.11-G.12).
Para un sistema lineal de la forma (G.13-G.14) el grado relativo es corresponde al valor de r para el que la siguiente
expresion es diferente de cero:
C
T
A
r1
B ,= 0. (G.29)
El valor del grado relativo en un sistema lineal expresado en ecuaciones de estado (G.11-G.12), es quivalente al retardo,
t, en la entrada para el sistema DARMA (G.2).
JMFA 233
G.1. Modelos Discretos de Sistemas Captulo G. Representaci on de Sistemas
234 JMFA

Indice alfabetico
actos reejos, 89
aprendizaje, 13
algoritmos, 15
BPTT, 19
competitivo, 20
correccion por error, 15
ley hebbiana, 19
Retropropagacion, 16
No supervisado, 15
reforzado, 15
supervisado, 15
aproximacion de funciones, 9, 43
clasicacion de patrones , 9
control
modelo inverso, 94
Control Adaptable, 102
Directo, 112
Indirecto, 104
Control PID., 221
control, Def., 90
Epoca de entrenamiento, 16
esquema serie-paralelo, 62
exitacion persistente, 60
Filtrado, 221
ltro Butterworth, 222
ltro pasa-altos, 222
ltro pasa-bajos, 223
ltro pasa-banda, 222
Frecuencia de Nyquis, 222
frecuencia de Nyquist, 222
funci on de activacion, 4
derivada, 5
tipos, 4
generalizacion, 15, 94
gradiente local, 17, 228
Heliotropismo, 89
homeostasis, 89
identicacion, 43, 51
metodos
mnimos cuadrados, 57
proyeccion, 52
proyeccion ortogonal, 55
RN dinamicas, 67
RNMC, 63
RNRE, 70
m ultimodelo, 76
memoria asociativa, 9
modelado de controlador, 91
Modelo de referencia, 117
modelo de sensitividad, 19, 229
Modelo Interno, 126
Modelo inverso, 94
modelo inverso
metodo directo, 96
modelo inveso
metodo especializado, 97
modelo NARMA, 11
momento, 27
Motor de CC., 207
modelo discreto, 209
modelo matematico, 207
neurona
modelo matematico, 2
neuronas, 1
axon, 1
dentritas, 1
sinapsis, 1
soma, 1
neurotransmisor, 2
PID, 91
Prob. de Asignaci on de credito , 15
problema de Hilbert, 45
propiedad de independencia, 23
redes neuronales
estaticas, 6
aplicaciones, 9
redes neuronales articiales, 3
dinamicas, 9
Boltzmann, 10
Hopeld, 10
Jordan, Elman, 12
recurrentes localmente, 11
estaticas
235

INDICE ALFAB

ETICO

INDICE ALFAB

ETICO
capas m ultiples , 6
funciones radiales basicas, 8
estructuras, 6
regla delta, 16
regla delta generalizada, 27
Retropropagacion, 227, 230
RNRE, 21
Prediccion de la salida, 33
tres capas, 31
entrenamiento, 28
estabilidad, pesos J, 39
estados acotados, 37
estructura, 21
retardo en la retroalimentacion, 35
umbrales, 39
teora neuronal, 1
Teorema de inv. de matrices, 59
Teorema de Kolmogorov, 45
teorema de Weistrass, 44
umbral, 3
236 JMFA

S-ar putea să vă placă și