Está en la página 1de 69

Control neuronal a partir del conocimiento a priori de la

estructura del sistema a controlar.



La idea de utilizar las redes neuronales en el control de sistemas
se basa en que estas constituyen un aproximador universal de
prcticamente cualquier modelo no-lineal. No obstante, si se
dispone de algn conocimiento a priori, al menos de la estructura
del modelo que describe al sistema a controlar, esta informacin
puede ser utilizada ventajosamente para lograr controladores
neuronales con un buen desempeo, que puedan presentar
ventajas en cuanto a los requerimientos del entrenamiento previo.
En la discusin que sigue, nos basamos fundamentalmente en los
resultados de Narendra et al. (1990).

Consideremos como una muestra, un proceso que se describe
mediante la expresin:
| |

=
| + + = +
1 m
0 j
j
) j t ( u ) 1 n t ( y , ..... ), 1 t ( y ), t ( y f ) 1 t ( y
con msn y donde f(.) es una funcin no lineal desconocida. Como
se desprende de (8.57) se asume que la salida depende
linealmente del control.
El modelo neuronal va a tener la funcin de aproximar la
componente no-lineal desconocida del proceso, es decir, la
prediccin del modelo se calcula mediante:

=
| + + = +
1 m
0 j
j
) j t ( u

)) 1 n t ( y ....., ), 1 t ( y ), t ( y ( N ) 1 t ( y

donde las representan a las estimaciones de los parmetros |


j
y
N(.) es la funcin que se calcula mediante la red neuronal que,
como se observa, depende slo de valores pasados de la salida
y(t).
En la figura 8.10 se representa la estructura del modelo asumido.
Figura 8.10

El error de estimacin viene dado por:

) t ( y

) t ( y

) t ( y ) t ( y

) t ( y ) t ( e
u n
= =
donde son las componentes de la prediccin de la
salida generadas respectivamente por la red neuronal y por la parte
lineal del modelo.


) t ( y

) t ( y

u n
Tanto los coeficientes de peso de la red como los coeficientes del
modelo deben ajustarse utilizando el mtodo del descenso ms
rpidoaplicado a una funcin cuadrtica del error de salida. Si
consideramos en cada etapa de tiempo la funcin:
2
) t ( e
2
1
) t ( J =
que es la ms simple posible, el gradiente de esta funcin tendr
las componentes:
W
) t ( y
) t ( e
W
) t ( y
) t ( y
) t ( e
) t ( e
W
J
n n
n
c
c
=
c
c
c
c
=
c
c
) j t ( u ) t ( e
) t ( y
) t ( e
) t ( y
) t ( y
) t ( e
) t ( e
J
j
u
j
u
u i
=
| c
c
=
| c
c
c
c
=
| c
c
A partir de la expresin (8.61) resulta claro que los coeficientes
de peso de las conexiones de la red pueden calcularse utilizando
sin modificaciones el algoritmo de retropropagacin del error
desarrollado en el epgrafe 8.3.
Los parmetros |
j
por otra parte, pueden ajustarse
aplicando en cada etapa de tiempo el algoritmo:
) j t ( u ) t ( e ) 1 t (

) t (

j j
q | = |
donde q es el coeficiente de aprendizaje que puede ser igual o no
al coeficiente utilizado en el entrenamiento de la red y debe
seleccionarse adecuadamente en cada caso particular. Para la
estimacin de los parmetros |
j
puede eventualmente utilizarse
otro algoritmo de identificacin de modelos lineales, por ejemplo,
cualquiera de las modificaciones del mtodo de mnimos
cuadrados.
La seleccin de la estructura de la red neuronal est sometida al
mismo tipo de consideraciones que dimos anteriormente acerca del
uso de redes neuronales para la identificacin de modelos de
regresin generalizado. Ntese que en este caso, sin embargo, existe
la circunstancia simplificadora de que se trata de una autoregresin
de valores de las salida solamente, sin que aparezcan valores de u(t)
en el modelo neuronal.
A partir de la expresin (8.58), es fcil derivar la ley de control que
garantiza que la prediccin de la salida se acerque al valor deseado
y
d
(t+1). En efecto, si hacemos:


y sustituyendo, tenemos que:

y t y t y t
d
( ) ( ) ( ) + ~ + = + 1 1 1
u t N y t y t y t n u t j y t
j
j
m
d
( ) ( ( ), ( ), , ( )) ( ) ( ) = + + +

(
(
=

1
1 1 1
0
1
1
|
|
Resulta claro que la calidad del control estar en dependencia de
cun buena es la estimacin de los parmetros |
j
y de en que
medida la red neuronal es capaz de reproducir la componente no
lineal del proceso a controlar.
Este esquema puede utilizarse tambin eficientemente en el caso
de que se desee un determinado comportamiento dinmico de la
salida especificado mediante un modelo de referencia estable,
cuyos polos y ceros han sido seleccionados adecuadamente. Este
es un problema tpico de los sistemas de seguimiento o servo-
sistemas en los que la salida debe seguir una determinada
trayectoria. Supongamos que el valor deseado se especifica
mediante el modelo lineal:

y t a y t i b r t i r t
d i d
i
l
i
i
p
( ) ( ) ( ) ( ) + = + +
=


1
0
1
1
1
o en la forma de funcin transferencial discreta:
y t
b z b z b z
a z a z a z
r t
d
p
p
l
l
( ) ( ) + =
+ + + +

+
+
1
1
1
1
1
2
2
1
1
1
1
2
2 1

donde r(t) es la seal de referencia y los polinomios de la


expresin (8.67) tienen races estables. La variable de control en
este caso se calcula sustituyendo (8.66) con los valores de la
salida y(t-i) en lugar de los valores deseados y
d
(t-i) en (8.64) y se
obtiene:
u t N y t y t y t n u t j a y t i
b r t i r t
j
j
m
i
i
l
i
i
p
( ) [ ( ( ), ( ), , ( )) ( ) ( )
( ) ( ) ]
= + + +
+
=

1
1 1
0
1
1
0
1
1
1
|
|
y sustituyendo (8.68) en (8.58) se llega a:
y t y t ( )

( ) + ~ + = 1 1
a y t i b r t i r t
i
i
l
i
i
p
( ) ( ) ( ) + +
=


0
1
1
1
O sea, la salida tendr un comportamiento aproximado al
especificado mediante el modelo de referencia y la calidad de la
aproximacin depender de cuan buenos sean el modelo
neuronal y la estimacin de los coeficientes |
j.


Control Predictivo basado en redes neuronales.
El control predictivo basado en un modelo del proceso ha sido
exhaustivamente estudiado durante los aos 70 y 80. Un buen
resumen de los resultados obtenidos en esta direccin puede
encontrarse en el trabajo de Clarke et al. (1987). Un enfoque
semejante aunque utilizando una descripcin determinstica basada
en una red neuronal ser presentada en forma resumida a
continuacin. Como se har evidente en la exposicin, la dificultad
bsica de este enfoque es el alto requerimiento de clculo asociado.
La idea central del control predictivo es calcular, en cada etapa del
tiempo discretizado, una secuencia de valores del control, actual y
futuros, que garantizan la minimizacin de un funcional,
generalmente cuadrtico, que sirve para medir la calidad del control
en un horizonte de tiempo determinado. En cada etapa se aplica
entonces slo el primer elemento de la secuencia de control
calculada, siendo esta la razn por lo que a esta estrategia se le
conoce como de horizonte mvil.
Resulta claro que para la aplicacin de la estrategia descrita
resulta necesario un nmero determinado de predicciones de la
salida, siendo el modelo neuronal el instrumento para calcular
dichas predicciones. La estructura de un controlador neuronal
predictivo generalizado se muestra en la figura 8.11.
Para aplicar este esquema surgen dos posibilidades: El modelo
neuronal se entrena totalmente mediante un experimento de
identificacin previo o el entrenamiento contina en lazo
cerrado, es decir, se utiliza una estrategia adaptable. Los
resultados reportados parecen demostrar que es ms conveniente
adoptar la segunda solucin, lo cual coincide con toda la
experiencia anterior del control predictivo basado en modelos
lineales del tipo ARX o ARMAX. Claro que en este caso el
costo computacional es ms alto dada la mayor complejidad del
modelo neuronal.
El criterio a minimizar que consideramos aqu tiene una forma
semejante al propuesto por Clarke (1987), slo que en este caso
es puramente determinstico:
| | | |
J t U t y t k y t k t u t k
d
k N
N
k
Nu
( , ( )) ( )

( / ) ( )
_
= + + + +
= =

2
1
2
2
1
1 A
donde:
y
d
(t+k) es la trayectoria de referencia, denota
la prediccin de k etapas futuras de la salida basada en datos hasta
el tiempo t y Au(t) = u(t) - u(t-1) es el incremento del control en
la etapa t.
Los parmetros que sirven para sintonizar el controlador son: N
1
que se conoce como el horizonte de costo mnimo, N
2
u horizonte
de costo mximo y N
u
que es el horizonte de control, as como el
valor positivo que expresa la penalizacin que se le impone a los
incrementos de la variable de control.
El horizonte de costo mnimo N
1
se incluye para darle mayor
generalidad al criterio, considerando el caso en que la variable de
control u(t) no influya inmediatamente sobre la salida en el tiempo
t+1 - y(t+1)- debido a, por ejemplo, la presencia de retardo puro en
el proceso a controlar. En muchos casos N
1
puede ser igual a 1.

( / ) y t k t +
El horizonte de costo mximo N
2
generalmente se limita por
consideraciones de cmputo, puesto que tericamente sera ideal
que el horizonte considerado fuera infinito. Ntese que a medida
que N
2
sea mayor, tambin crecer el nmero de predicciones de la
salida que habr que calcular. En muchos trabajos se utiliza un
nmero pequeo, por ejemplo 2 3, a fin de simplificar el
problema de optimizacin asociado.
En cuanto al horizonte de control N
u
, igualmente se limita con fines
de simplificacin. Por otra parte, el valor de garantiza que el
sistema en lazo cerrado sea estable y define el compromiso
deseable entre las variaciones admisibles de la variable controlada
y la variable de control respectivamente. Resulta claro que un
valor grande de implica una penalizacin fuerte de las
excursiones del control a costa de tolerar mayores desviaciones de
la variable controlada.
Por ltimo, la inclusin en el criterio de los incrementos de u(t) en
lugar de su valor total se basa en el hecho plenamente comprobado
de que la penalizacin de la variable u(t) no garantiza que el error
estacionario tienda a cero.
El criterio (85) debe minimizarse con respecto al vector de
controles futuros:
| |
U t u t u t u t N
u
( ) ( ), ( ),...., ( ) = + + 1 1
sometido a las restricciones:
i > N
u

esto es, la seal de control se supone constante despus de N
u

etapas de tiempo.
Au t i ( ) + = 0
El tipo de red neuronal que se utiliza para este problema es el
perceptrn multicapas aunque, con el objetivo de simplificar todo
lo posible el problema de optimizacin asociado, se adopta
generalmente una red con una sola capa escondida y con una
funcin de salida lineal. Las funciones de activacin de las
neuronas de la capa escondida se asumen del tipo sigma o
tangente hiperblica.
La red se entrena, como es habitual, a partir de un conjunto de
datos de entrada - salida generados de un experimento de
identificacin y tiene la funcin de calcular la prediccin de una
etapa de la salida del sistema, es decir, aproximando un modelo de
regresin generalizado que asume la forma:

y t y t t g y t y t n u t d u t d m ( ) ( / ) ( ( ),......, ( ), ( ),......, ( )) = = 1 1 1
g(.) es la funcin realizada por la red neuronal y d especifica la
posible presencia de tiempo de retardo en adicin al retardo de
una etapa presente siempre en todo sistema discreto y que puede
incorporarse en el modelo o en el regulador. Para ajustarnos
mejor a la notacin ms frecuente en la literatura, aqu
suponemos el retardo implcito en el modelo.
Puesto que las mediciones de salida se encuentran disponibles
slo hasta el tiempo t , las predicciones necesarias de k etapas,
para N
1
s k s N
2
, se determinan incorporando repetidamente
las predicciones anteriormente calculadas, a la entrada del
modelo, es decir:
( / ) ( ( ),...., ( ( , )), ( ),.... ( ( , )),
( ),...., ( ))
y t k t g y t k y t k min k n y t y t max n k
u t d k u t d m k
+ = + +
+ +
1 0
1
k=1,2, . . . ., N
2

Hubiera sido posible disear una red en la cual se calculen de
una sola vez todas las predicciones que se requiere, pero esto
supondra que la capa de salida tuviera tantas neuronas como el
nmero necesario de predicciones, aumentando
considerablemente la cantidad de coeficientes de peso a
actualizar y prolongando en consecuencia el tiempo necesario
para el entrenamiento de la red.
Los trminos de la variable u(t) que aparecen en la expresin
(8.74) deben corresponder a valores actuales y pasados. Si se
requiere de valores futuros de u(t) para el clculo de algunas de
las predicciones , estos se asumen igual al valor actual.
La funcin g(.) es realizada por la red neuronal previamente
entrenada, o sea:

( ) (
~
( , )) y t k W f h k j W
j
j
q
+ = +
=

1
0
donde la funcin f(.) es del tipo sigma o del tipo tangente
hiperblica. Ntese que la capa de salida consta de una nica
neurona cuya funcin de activacin es una combinacin lineal
con coeficientes W
j
de las salidas de la capa escondida . La
entrada de las neuronas de la capa escondida se calcula mediante
la siguiente ecuacin:
~
( , )

( ) ( ) ( )
min( , )
min( , )
,
h k j w y t k i w y t k i w u t d k i w
ji
i
k n
ji
i k n
n
j n i
i
m
j
= + + + + + +
= = +
+
=

1 1 1
0
Para facilitar la obtencin de la ley de control, vamos a rescribir
el criterio en la siguiente forma vectorial:
J t U t E t E t U t U t
T T
( , ( )) ( ) ( )
~
( )
~
( ) = +
donde:
E t Y t Y t
d
( ) ( )

( ) =
| |
Y t y t N y t N
d d d
T
( ) ( ),....., ( ) = + +
1 2
| |

( )

( / ),.....,

( / ) Y t y t N t y t N t
T
= + +
1 2
| |
~
( ) ( ),...., ( ) U t u t u t N
u
T
= + A A 1
En cada etapa de tiempo, el criterio (8.77) se minimiza con
respecto a los N
u
futuros controles contenidos en y, como ya
dijimos antes, de la secuencia de controles calculados, se aplica
solamente el primer elemento.
Teniendo en cuenta que el modelo utilizado para las predicciones
es una funcin fuertemente no lineal, el vector de control ptimo
debe determinarse mediante un mtodo de optimizacin iterativo,
es decir:
U t U t S
i i i i
( ) ( )
+
= +
1
q
donde representa al valor en la iteracin i, la direccin
de bsqueda y q
i
el tamao del paso.
Para resolver este problema, se encuentran en la literatura
(Fletcher,1980) una gran variedad de algoritmos de los que es
necesario seleccionar alguno que cumpla con el requerimiento
de ser lo ms rpido posible, dadas las exigencias de las
aplicaciones de cualquier mtodo de control en tiempo real.
U
i
Esta circunstancia excluye de inmediato cualquier modificacin
del mtodo del descenso ms rpido (steepest descent), que es la
variante ms simple posible, pues solamente requiere calcular el
gradiente del criterio J con respecto al vector de control, y nos
conduce necesariamente al mtodo de Newton o a alguna de sus
modificaciones, cuya derivacin mostraremos a continuacin
aplicado al presente problema.
Consideremos el funcional J en el tiempo t como una funcin del
vector de control en la iteracin i, es decir:
J t f U t
i i
( ) ( ( ) ) =
y supongamos que para la siguiente iteracin, i+1, el control se
mueve en una determinada direccin S
i
y el nuevo valor del
funcional se denota:
J t f U t S
i i i
( ) ( ( ) )
+
= +
1
Si desarrollamos (8.84) mediante una serie de Taylor
aproximada hasta el segundo orden, tenemos:
J t f U t G U t S S H U t S
i i i i i T i i
( ) ( ( ) ) ( ( ) ) ( ) ( ( ) )
+
= + +
1
G U t
J t
U t
i
U t U t
i
( ( ) )
( )
( )
( ) ( )
=
=
c
c
H U t
J
U t
i
U t U t
i
( ( ) )
( )
( ) ( )
=
=
c
c
2
2
son respectivamente el gradiente y la matriz Hessiana del
criterio J con respecto al vector de control.
La expresin (8.85) puede escribirse:
J t J t J t
i i i
( ) ( ) ( )
+
= +
1
A
AJ t G U t S H U t S
i i i i T i i
( ) ( ( ) ) (S ) ( ( ) ) = +
Debemos encontrar ahora la direccin S
i
para la que se produce
el mximo decrecimiento de J, para lo cual derivamos a AJ(t)
i

con respecto a S
i
e igualamos a cero, o sea:
c
c
AJ t
S
G U t H U t S
i
i
i i i
( )
( ( ) ) ( ( ) ) = + = 0
de donde:
H U t S G U t
i i i
( ( ) ) ( ( ) ) =
Control Predictivo Neurogentico.
Como pudimos apreciar en el epgrafe anterior, el control
predictivo basado en un modelo neuronal conduce a expresiones
complejas y muy costosas computacionalmente aun cuando se
considere un funcional cuadrtico a minimizar, que es el caso ms
simple y ms tratable analticamente. Estas dificultades limitan
las posibilidades de aplicar esta solucin a problemas prcticos
en un ambiente de tiempo real.
En el presente epgrafe proponemos una solucin alternativa que
si bien no puede afirmarse a priori que reduzca sensiblemente la
carga computacional, tiene la virtud de su mayor generalidad y
alta robustez numrica. A este enfoque, que consiste en utilizar un
predictor neuronal, pero ahora asociado a un algoritmo gentico
para la minimizacin del criterio involucrado, le denominamos
control predictivo neurogentico.
La mayor generalidad del enfoque que proponemos consiste en
que la restriccin de usar criterios cuadrticos queda ahora
desactivada ya que los algoritmos genticos no requieren que la
funcin a minimizar sea analtica. Esto significa que podemos
utilizar, sin ninguna restriccin, cualquier criterio que refleje en
forma adecuada las exigencias que se imponen al sistema de
control. Por otra parte, como se ver de inmediato, los algoritmos
genticos no incluyen operaciones matemticas complejas donde
el mal condicionamiento de las matrices involucradas pueda
afectar la estabilidad numrica del mtodo, de ah su mayor
robustez numrica en comparacin con los mtodos
convencionales de optimizacin.
Un intento exitoso de utilizar algoritmos genticos y criterios no
cuadrticos puede encontrarse en el trabajo de Martnez et al.
(1998) donde, no obstante, se mantiene el uso de predictores
lineales, tal como se hace en el problema clsico del control
predictivo generalizado (Clarke et al., 1987)..
El uso de predictores neuronales constituye entonces una
solucin evidentemente ms general., aunque desde luego a un
costo computacional mayor.
La estructura de un controlador predictivo neurogentico que
proponemos se ofrece en la figura 8.12.
Figura 8.12
Los algoritmos genticos (AG) son mtodos de bsqueda
inspirados en la evolucin de la poblacin gentica (Goldberg,
1989). En un AG, la poblacin es el conjunto de soluciones
posibles y cada individuo de esa poblacin se caracteriza por
estructuras semejantes a las de los cromosomas (Martnez et al.,
1998). Las posibilidades de sobre vivencia de cada individuo
se evalan teniendo en cuenta la funcin objetivo o criterio a
optimizar. El resultado de esta evaluacin se denomina ajuste
(fitness) y juega un papel determinante en la seleccin y
reproduccin. En el caso de un problema de minimizacin,
como lo es el de control predictivo, la funcin de ajuste debe
guardar alguna relacin inversa con respecto al valor del
criterio, por ejemplo :
F(u
i
(t)) = Jmax - J(u
i
(t))
donde Jmax es una constante cuyo valor numrico debe ser
mayor que cualquier valor que pueda asumir el criterio. J(u
i
(t)) y
F(u
i
(t)) son respectivamente el valor del criterio J y de la funcin
de ajuste F correspondientes a un miembro de la poblacin ( o
valor posible del control) en el tiempo t.
La evolucin se logra entonces mediante la aplicacin de
operadores tales como seleccin, cruzamiento y mutacin.
Resumiendo, podemos decir que los conceptos principales
asociados a un algoritmo gentico son:
- Codificacin : cada solucin potencial se codifica mediante una
cadena de caracteres.
-Evolucin de la Poblacin : Se logra mediante la aplicacin de
operadores genticos.
A continuacin vamos a describir en detalle estos conceptos.
Codificacin y evolucin de la poblacin
Todos los individuos de la poblacin deben ser codificados
asignndole a cada uno de ellos una cadena de caracteres. Lo
ms natural, tratndose de un problema de control, es utilizar la
representacin binaria de los posibles valores de la accin de
control en el intervalo de 0 a 4095, lo que coincide con el rango
de los conversores A/D de 12 bits, que es el ms frecuentemente
utilizado.
La codificacin produce una discretizacin del espacio de
solucin continuo y la precisin de esta discretizacin depende
de la longitud de la cadena.
Una vez que la fase de codificacin ha terminado, el siguiente
paso ser la aplicacin del algoritmo de evolucin. El primer
paso del algoritmo de evolucin es la generacin de una
poblacin inicial aleatoria. Como resultado, se genera un
conjunto de cadenas binarias aleatorias que son evaluadas
calculando para cada una la funcin de ajuste correspondiente.
Generacin aleatoria de la poblacin inicial P(0);
nmero_generaciones = 0 ;
Mientras(nmero_generacioness
mximo_nmero_generaciones)
Hacer {
Seleccin;
Cruzamiento;
Mutacin;
nmero_generaciones=nmero_generaciones
+ 1
}
fin
Seleccin.
Un conjunto de individuos de la poblacin previa debe ser
seleccionado para la reproduccin. La seleccin se hace teniendo
en cuenta el valor de la funcin de ajuste de cada individuo, de
manera que aquellos con mejor valor de la funcin de ajuste
tengan ms probabilidad de sobrevivir en la prxima generacin-
Existen diferentes tipos de operadores de seleccin, siendo uno
de los ms utilizados y eficientes el llamado muestreo universal
estocstico (Martnez et al, 1998) que es el utilizado en este
trabajo. Segn este esquema, la poblacin es ubicada en orden
aleatorio en un grfico tipo pastel (pie graph) de manera que los
individuos con un valor mayor de la funcin de ajuste tengan una
porcin mayor del pastel, tal como se ilustra en la figura 8.13. El
tamao de la porcin correspondiente a cada individuo es
proporcional a su probabilidad de subsistencia, que se calcula
mediante la frmula:
P(x
f(x )
f(x )
i
i
i
i 1
Nind
) =
=

donde f(x
i
) es el valor de ajuste del individuo xi y Nind es el
tamao de la poblacin.
Tal como se ilustra en la figura 8.13, el diagrama tipo pastel es
rodeado por una ruleta con un nmero de apuntadores
igualmente espaciados que coincide con el nmero de
individuos de la poblacin. Un simple giro de la ruleta de
intensidad aleatoria permitir determinar a los individuos que en
principio formarn parte de la prxima generacin. Es evidente
que los individuos con mejor ajuste (mayor trozo del pastel)
tienen mayor probabilidad de sobrevivir e incluso con ms de
una rplica en la nueva poblacin.
Figura 8.13

Cruzamiento.
El operador de cruzamiento se aplica despus de la seleccin para
generar nuevos individuos. Este operador se aplica en dos etapas:
en la primera, los individuos se aparean (se seleccionan 2 a 2)
aleatoriamente con una determinada probabilidad, llamada
probabilidad de cruzamiento Pc. En el segundo paso, a cada par
de individuos seleccionados anteriormente se le aplica un
intercambio en su contenido desde una posicin aleatoria K
hasta el final con , donde m es la longitud del
individuo. K es el denominado punto de cruzamiento y determina
la subdivisin de cada padre en dos partes que se intercambian
para formar dos nuevos hijos, tal como se puede ver en la figura
8.14.
| | K 1, m- 1 e
Figura 8.14
El tipo de cruzamiento explicado es el llamado cruzamiento
ordinario o de un solo punto que es el ms simple posible y el
adoptado en el presente trabajo.

Mutacin.
El operador mutacin consiste en la alteracin aleatoria de cualquiera
de los genes del individuo con una probabilidad de mutacin Pm,
que generalmente es muy pequea. Esta operacin se ilustra en la
figura 8.15. El objetivo de la mutacin es producir diversidad en la
poblacin. Si al generar aleatoriamente la poblacin inicial o despus
de varias generaciones, en la misma posicin de todos los
cromosomas slo aparece un nico elemento del cdigo utilizado,
esto supondr que con los operadores reproduccin y cruzamiento
nunca cambiar dicho elemento, por lo que puede ser que jams se
alcance la solucin ptima a nuestro problema. Es necesario, por
tanto, un operador que pueda cambiar cualquier elemento de
cualquier individuo que es precisamente el operador de mutacin.
Por otra parte, la probabilidad de realizar efectivamente la mutacin
de un elemento no debe ser grande para no perjudicar mucho a las
soluciones que ya se acerquen al ptimo.
Figura 8.15
Ejemplo
En este ejemplo vamos a describir algunas simulaciones
realizadas utilizando la metodologa de control predictivo
neurogentico. Utilizamos como proceso a controlar uno con
caractersticas de un doble integrador discretizado que incluye
un retenedor de orden cero y que se expresa mediante la
ecuacin:
| | 2) - y(t - 1) - y(t 2 2) - u(t + 1) - u(t
2
T
= y(t)
2
+
donde T = 0.1 es el perodo de discretizacin. u(t), y(t) son
respectivamente las variables de entrada y salida.

Como modelo predictor se entren una red con 4 neuronas en la
entrada, 4 neuronas en la nica capa escondida y una neurona en
la de salida. Esta red es capaz de predecir con una exactitud
aceptable la salida y(t+1) cuando se le presentan a la entrada los
valores:


| | 1) - y(t y(t) 1) - u(t u(t) = Xe
La red fue entrenada a partir de una muestra de 4000 pares de
entrada-salida, para cuya obtencin se gener una secuencia de
valores aleatorios de u(t). El perodo de conmutacin de la seal
de entrada fue de 50. Se utilizaron 50 pocas de entrenamiento.
Las predicciones sucesivas necesarias para el control predictivo
se generan de forma recursiva.


Describiremos a continuacin las peculiaridades del algoritmo
gentico utilizado. Los posibles valores del control se definieron
en el intervalo de |-5,5| y se codificaron como palabras binarias
de 12 bits. El tamao de la poblacin fue de 50 y la seleccin de
los individuos candidatos a sobrevivir en la siguiente generacin
se hizo utilizando el algoritmo descrito en 8.12.1 e ilustrado en la
figura 8.13.
La seleccin de parejas, as como el cruzamiento o no de cada
una de ellas, se hizo aleatoriamente, sin definir una probabilidad
fija de cruzamiento. El punto de cruce se determin tambin en
forma aleatoria, pero restringiendo su posicin a valores en el
intervalo |1,4| .
En cuanto al operador de mutacin, consistente en invertir el valor
de cada bit en forma aleatoria, se realiz de manera que los bits
ms significativos de la palabra binaria tuvieran una probabilidad
menor de cambio, utilizando la expresin:
i
2
3
1
= Pm(i)

donde i = 1 ......12 es la posicin del bit desde el menos al ms
significativo.
En la figura 8.22 se presentan los resultados obtenidos en la
aplicacin del control predictivo neurogentico utilizando tres
tipos de criterios: el cuadrtico convencional, uno que utiliza el
valor modular del error de salida y el tercero en el que se
minimiza la raz cuadrada del valor modular del error de salida.
En todos los casos se utilizaron los valores N2 = 10 y N1=1 y se
calcularon 10 generaciones para determinar cada nuevo valor del
control. En aras de la simplicidad se hizo el coeficiente de peso
=0. La mejor respuesta, que corresponde a la curva slida en la
figura 8.22, se obtuvo para el criterio de raz cuadrada del error
modular y el peor, en cuanto al tamao de la sobrecresta y el
tiempo de establecimiento, correspondi al criterio
cuadrtico convencional.
Figura 8.22
Ejemplo 2
En este ejemplo vamos a utilizar de nuevo la metodologa de
control predictivo neurogentico, aplicada ahora al control de
procesos que presentan no-linealidades tpicas en los
actuadores, caso de indudable inters prctico. Hemos
considerado las siguientes no-linealidades .
Zona Muerta
| |
| |

< +
s s
> +
=
2 d 4 d 3 d d
1 d 3 d
1 d 2 d 1 d d
p
c ) t ( u if c c ) t ( u m
c ) t ( u c if 0
c ) t ( u if c c ) t ( u m
) t ( u
Juego Mecnico (Backslash),
| |
| |

<
s s
>
=
) 1 t ( d ) t ( u if c ) t ( u m
) 1 t ( d ) t ( u ) 1 t ( d if ) 1 t ( u
) 1 t ( d ) t ( u if c ) t ( u m
) t ( u
u 2 b 2 b
p u p
p 1 b 1 b
p
(

+ =
2 b
2 b
p
u
c
m
) t ( u
) t ( d
(

+ =
1 b
1 b
p
p
c
m
) t ( u
) t ( d
Se consideraron dos procesos con las siguientes caractersticas:
Proceso lineal :
y(t)=0.5 up(t) + 1.2 y(t-1) - 0.35 y(t-2)
Proceso no lineal:
y(t)=0.7 up(t-2)
2
+ 0.2 up(t-3)
3
+ 0.8sin y(t-1) + 0.1sin(y(t-2)
Los parmetros de las no-linealidades en los actuadores se
seleccionaron como:
cd1=0.4, cd2=0.4, cd3=cd4=0.1, md=2
cb1 = cb2 = 0.4, mb = 2
Como modelo predictor, para el proceso lineal, se entren una red
con 3 neuronas en la entrada, 3 neuronas en la nica capa
escondida y una neurona en la salida. Esta red es capaz de predecir
con una exactitud aceptable la salida y(t+1) cuando se le presentan
a la entrada los valores:



| | 1) - y(t y(t) u(t) = Xe
Para el proceso no lineal, se entren una red con cuatro neuronas
en la capa de entrada y cuatro en la capa escondida. La
composicin del vector de entrada en este caso fue:
| | 1) - y(t y(t) 2) - u(t 1) - u(t = Xe
Las redes fueron entrenadas a partir de muestras de 2000 pares
de entrada-salida, para cuya obtencin se generaron dos
secuencias de valores aleatorios de u(t). El perodo de
conmutacin de la seal de entrada fue de 50. Se utilizaron 50
pocas de entrenamiento. Las predicciones sucesivas necesarias
para el control predictivo se generan de forma recursiva.
Los parmetros del algoritmo gentico fueron seleccionados
iguales a los del ejemplo anterior. Como criterio a minimizar se
utiliz el funcional:
| |

=
+ + =
2 N
1 N k
d
_
) t / k t ( y

) k t ( y Abs )) t ( U , t ( J
0 50 100 150 200 250 300
0
0.2
0.4
0.6
0.8
1
1.2
1.4
ZM2-LIN
0 50 100 150 200 250 300
0
0.2
0.4
0.6
0.8
1
1.2
1.4
ZM2-NLIN
Figura 8.26 Figura 8.27
0 50 100 150 200 250 300
0
0.2
0.4
0.6
0.8
1
1.2
1.4
ZM3-LIN
0 50 100 150 200 250 300
0
0.2
0.4
0.6
0.8
1
1.2
1.4
ZM3-NLIN
Figura 8.28 Figura 8.29

En las figuras 8.26 y 8.27 se observa el resultado de la simulacin
del control predictivo neurogentico del proceso lineal con no
linealidades del tipo zona muerta y juego mecnico
respectivamente. En 8.28 y 8.29 se muestran los resultados para el
caso del proceso no-lineal. Como puede apreciarse, en todos los
casos el control es satisfactorio ante cambios peridicos en las
referencias.


Control neuronal autoajustable
Una contribucin importante al incremento de las
posibilidades de las redes neuronales en la solucin de
problemas prcticos de control, es el trabajo de Cui y Shin
(1992), en el que se propone un esquema de control neuronal
directo para una amplia clase de procesos no lineales. La idea
central de este esquema es entrenar a la red neuronal,
retropropagando el error de regulacin en lugar del error de
salida de la red.

En este epgrafe se propone un regulador autoajustable inspirado
en las ideas de Cui y Shin, pero con la caracterstica particular de
que el entrenamiento previo se sustituye por un ajuste permanente
de los coeficientes de peso basado en el error de regulacin.
Figura 8.16
En la figura 8.16 se muestra el esquema propuesto para el
regulador neuronal auto-ajustable.
La red neuronal que hace las funciones de regulador, es un
perceptrn de 3 capas de neuronas (una capa escondida), cuyos
coeficientes de peso se ajustan utilizando el algoritmo de
retropropagacin del error. En este caso, sin embargo, en lugar
del error de salida de la red :


se utiliza el error de salida del proceso :


para ajustar los coeficientes de peso del regulador neuronal.

e t u t u t
u d
( ) ( ) ( ) =
e t y t y t
y r
( ) ( ) ( ) =
Figura 8.17
En la fig. 8.17 se representa la estructura de la red que hace las
funciones de regulador. La capa de salida tiene una sola neurona,
ya que estamos limitando el anlisis al caso de procesos de una
entrada y una salida. En la capa de entrada se introducen el valor
actual y algunos valores anteriores del error de regulacin, es
decir :
x t e t e t e t n
y y y
( ) [ ( ) ( ) ( )] = 1
En los casos que hemos simulado hasta el momento, el valor de
n=2 ha resultado suficiente para obtener un comportamiento
adecuado del sistema en lazo cerrado. Esto implica que el nmero
de neuronas en la capa de entrada puede ser de 3. Un nmero
semejante de neuronas en la capa escondida ha sido igualmente
satisfactorio.
En la figura 8.17 se definen los coeficientes de peso wji y vj de
las conexiones de entrada a la capa escondida y a la capa de salida
respectivamente. En lo que sigue vamos a detallar el algoritmo de
actualizacin de esos coeficientes, partiendo del criterio de
minimizar el error de regulacin .
La salida de la neurona j de la capa escondida se calcula
mediante :
) S exp( 1
1
h
j
j
+
=
j=1,2,3
donde :
S w x
j ji i
i
=
=

1
3
Igualmente, la salida de la capa de salida, formada en este caso
por una sola neurona, ser :
) r exp( 1
1
) t ( u
+
=
donde:
r v h
j j
j
=
=

1
3
Definimos como criterio a minimizar, la funcin :
E t e k
y
k
t
( ) ( ) =
=

1
2
2
1
El procedimiento de minimizacin consiste, como es conocido,
en moverse en la direccin del negativo del gradiente de la
funcin E(t) con respecto a los coeficientes de peso vj y wji. El
gradiente de E(t) es un vector multidimensional cuyas
componentes son las derivadas parciales , es decir :
V =

(
(
(
(
E t
E t
v
E t
w
j
ji
( )
( )
( )
c
c
c
c
Vamos a obtener, en primer lugar, las derivadas parciales con
respecto a los coeficientes de peso de la neurona de salida
j
u
u
y
y j
v
r
r
) t ( u
) t ( u
e
e
e
e
) t ( E
v
) t ( E
c
c
c
c
c
c
c
c
c
c
=
c
c
= e
e
e
u t u t h
y
y
u
j
. .( ). ( ) ( ( )).
c
c
1 1
En (8.116) se hace uso de la relacin conocida :
( )
c
c
c
c
u t
r
e
r
e
e
e
e e
u t u t
r
r
r
r
r r
( )
( ) ( ( ) ) =
+
|
\

|
.
|
=
+
=
+ +
=


1
1
1
1
1
1
1
2
Definimos :
o
1
1 = e u t u t
y
( )( ( ))
Entonces:
u
y
j
1
j
e
e
h
v
) t ( E
c
c
o =
c
c
En la ecuacin (8.119) aparece la derivada parcial

que puede interpretarse como la ganancia equivalente del
proceso. Ms adelante haremos algunas consideraciones acerca
de dicho trmino.

u
y
e
e
c
c
La derivada parcial de la funcin E(t) con respecto a los
coeficientes w
ji
se obtiene aplicando de nuevo la regla de la
cadena :
ji
j
j
j
j
u
u
y
y ji
w
S
S
h
h
r
r
) t ( u
) t ( u
e
e
e
e
) t ( E
w
) t ( E
c
c
c
c
c
c
c
c
c
c
c
c
c
c
=
c
c
i j j j
u
y
y
x ) h 1 ( h v ) ) t ( u 1 ( ) t ( u
e
e
e
c
c
=
u
y
i j j j
1
ji
e
e
x ) h 1 ( h v
w
) t ( E
c
c
o =
c
c
Definimos:
) h 1 ( h v
j j j
1
j
2
o = o
y entonces
u
y
i
j
2
ji
e
e
x
w
) t ( E
c
c
o =
c
c
Haciendo uso de las ecuaciones anteriores, el ajuste de los
coeficientes de peso v
j
y w
ji
se realiza mediante las
expresiones :
j
1
u
y
j j
h )
e
e
( ) t ( v ) 1 t ( v o
c
c
q + = +
i
j
2
u
y
ji ji
x )
e
e
( ) t ( w ) 1 t ( w o
c
c
q + = +
donde q es el coeficiente de aprendizaje y es la

ganancia equivalente de la planta.
u
y
e
e
c
c
El obstculo principal para aplicar las ecuaciones de ajuste
obtenidas es que en general se desconoce la ganancia equivalente

de la planta . No obstante, en el trabajo antes

mencionado de Cui y Shin, se demuestra que es suficiente
conocer el signo de dicho trmino para asegurar la convergencia
de los coeficientes de peso, porque su magnitud puede
incorporarse en el coeficiente de aprendizaje q si se cumple la
condicin no muy restrictiva de que

< .

Por otra parte, el signo de la ganancia puede, en la mayora de los
casos, determinarse fcilmente mediante un simple experimento
auxiliar, por ejemplo, la aplicacin de una funcin escaln a la
entrada del proceso.
u
y
e
e
c
c
u
y
e
e
c
c
Por ltimo, la suposicin de que el signo de la ganancia
permanece constante en un entorno del punto de operacin del
proceso no es muy fuerte y en cualquier caso, la estimacin en
tiempo real del signo de la ganancia podra incorporarse, sin
grandes dificultades, en el algoritmo de control.

Teniendo en cuenta las consideraciones anteriores, las ecuaciones
de actualizacin pueden escribirse en la forma siguiente :
j
1
u
y
j j
h )
e
e
( sign ) t ( v ) 1 t ( v o
c
c
q + = +
i
j
2
u
y
ji ji
x )
e
e
( sign ) t ( w ) 1 t ( w o
c
c
q + = +
El valor adecuado del coeficiente de aprendizaje q puede
determinarse experimentalmente a partir de la observacin del
comportamiento en lazo cerrado del sistema cuando se realizan
algunos cambios en el valor de referencia de la salida.

Las expresiones (8.126) y (8.127) pueden interpretarse como las
ecuaciones de adaptacin del regulador neuronal en lugar de
como ecuaciones de entrenamiento, tal como se hace
habitualmente. En efecto, los estudios de simulacin realizados
utilizando el esquema de la figura 8.16 y ajustando en forma
permanente los coeficientes de peso vj y wji, mediante (8.126)
y (8.127) nos permiten arribar a las siguientes conclusiones :

- No se requiere generalmente un entrenamiento previo de la
red neuronal y una vez que se cierra el lazo de control, los
coeficientes de peso se ajustan en unos pocos perodos de
control, llevando el error de regulacin e
y
(t) a cero.
- El comportamiento dinmico en lazo cerrado depende
exclusivamente de la magnitud del coeficiente de aprendizaje,
correspondiendo a mayores valores de q, una respuesta ms rpida
que puede presentar una sobrecresta considerable. Por el contrario,
disminuyendo el valor de q, el sistema se amortigua hasta que se
logre el tipo de respuesta deseado. El sistema en lazo cerrado tiene,
en general, un comportamiento estable para un amplio rango de
valores de q .
- Resulta muy conveniente utilizar un coeficiente de aprendizaje
variable usando, por ejemplo, la siguiente expresin :

q = q + o abs(ey)

De esta forma puede utilizarse un valor bsico pequeo de q, por
ejemplo q=0.1 y el valor efectivo q se incrementa en
dependencia de la magnitud del error de regulacin. El coeficiente
o puede ajustarse experimentalmente sin grandes dificultades.
Ejemplo.
En este ejemplo vamos a mostrar el comportamiento del
algoritmo neuronal auto-ajustable en el control de sistemas no
lineales con retardo puro. Consideramos el siguiente modelo no-
lineal para los procesos controlados:
2
2
2 1
s T
) t ( u
) 1 s T )( 1 s T (
e K
) t ( y
d
|
|
.
|

\
|
+ +
=

La simulacin del control neuronal auto-ajustable la hacemos utilizando
en este caso el ambiente de tiempo real creado en el sistema de
simulacin y control CPG (Aguado, 1992).
En la figura 8.30 se representa el comportamiento del sistema en lazo
cerrado correspondiente a los siguientes parmetros del proceso y del
regulador :

Td=5 segs. T1=3 segs. T2= 5 segs.

q=0.6 o=0.4



Como puede apreciarse, en este caso se obtiene una respuesta
prcticamente perfecta ante cambios en escaln, tanto positivos
como negativos. Dado que las constantes de tiempo y el retardo
son relativamente pequeos, es admisible el uso de valores de q y
o relativamente grandes, sin que se produzcan sobrecrestas
positivas o negativas. Este tipo de comportamiento se observa en
forma general, es decir, para procesos de dinmica rpida, es
posible un aprendizaje rpido de la red. Hemos observado en
algunos ejemplos, que son admisibles y convenientes valores de q
de hasta 5 y ms, cuando las constantes de tiempo son del orden
de milisegundos.
En la figura 8.31 se representa el comportamiento de lazo cerrado
del sistema para los siguientes valores de las constantes :

Td=60 segs. T1=10 segs. T2= 20 segs.

q=0.05 o=0.20

Es decir, se trata de un sistema no lineal con un valor muy grande
de retardo que difcilmente puede ser controlado adecuadamente,
por ejemplo, con un regulador PID. No obstante, el regulador
neuronal logra una respuesta que puede considerarse muy
buena, dadas las caractersticas del proceso. Ntese que en este
caso, los valores de q y o son considerablemente ms pequeos,
como corresponde a un proceso de dinmica mucho ms lenta.
El algoritmo de control auto-ajustable basado en una red neuronal
presentado en este ejemplo, promete ser una opcin muy
interesante para el control de procesos con dinmica difcil y que
no pueden ser controlados adecuadamente con reguladores PID,
incluso en sus versiones adaptables, tal como ha sido ilustrado
mediante los ejemplos de simulacin mostrados. La clase de
procesos a los que puede ser aplicado el algoritmo es muy amplia e
incluye la mayora de los que pueden encontrarse en la prctica.

También podría gustarte