Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VICE-RECTORADO ACADÉMICO
DECANATO DE POSTGRADO
DECANATO DE POSTGRADO
C. Frabetti
La idea de una Red Neuronal Artificial (RNA) surge del comportamiento del cerebro de
un mamífero. Una neurona de un cerebro mamífero puede solamente ejecutar 100
operaciones por segundo, pero un cerebro de un mamífero puede ejecutar miles de
veces más instrucciones que un computador digital (“10.000 trillones de operaciones
por segundo”1), el cual corre a cientos de Megahertz o en unos cuantos Gigahertz. La
razón de esta diferencia en el desempeño, es que el cerebro mamífero es una red
altamente paralela, la cual tiene miles de neuronas funcionando simultáneamente,
mientras un computador digital puede realizar solo una operación en un ciclo de reloj.
Una RNA es un sistema que simula esas cualidades de la red neuronal biológica, la cual
puede correr en un computador digital, pero entonces, el poder que ellas ganan con el
paralelismo, se pierde en el tiempo requerido para ejecutar todas las conexiones
paralelas, en forma serial. Por esta razón, se hace necesaria la implementación en
hardware de las RNAs para aprovechar al máximo el paralelismo que las caracteriza.
“Uno de los grandes retos dentro del contexto de la ciencia y la tecnología, es hacer
que el computador realice tareas que requieren inteligencia, razonamiento, sentido
omún y/o manejo del conocimiento”2. Ésta es una característica muy importante de
una RNA, su habilidad de aprender mediante la experiencia. Cada vez que una red
neuronal es creada, un entrenamiento es necesario para “enseñarle” a dar una salida,
2
como respuesta a una entrada específica. Por ejemplo, si la red neuronal es enseñada
para dar un uno cuando se le presenta un círculo en la entrada, ésta debería dar un
uno, cuando un círculo le sea presentado, de otra manera debería dar un cero u otro
resultado en la salida.
La principal motivación se basa en que las RNAs pueden lograr soluciones más
generales para problemas de identificación y control de sistemas multivariables no
lineales, tienen capacidades de procesamiento distribuido y paralelo, capacidad de
aprendizaje y adaptación, pueden fusionar datos de distinto tipo, y permiten diseños
de máquinas más inteligentes y autónomas3.
3
La planta seleccionada fue un horno convencional, el cual se le ha agregado un extractor
reversible que funciona como extractor durante la etapa de enfriamiento de enfriamiento y
como circulador de calor durante la fase de calentamiento para mantener constante la
temperatura en todas las coordenadas del horno.
Extractor
Sensor de
HORNO
Elemento Temperatura
Calentador
Modelamiento matemático.
dT
m1c1 u (t ) K 10 (T1 T0 )
dt
M Masa Kilogramos
T Temperatura ºC
dT u (t ) K 10 (T1 T0 )
dt m1c1
watts
0.043 * 0.96m 2
1 Ka * Ap mº C watts
K10 2.752
R Lp 0.015m ºC
La relación entre la variación de calor Q(t) y la señal de control (u) se describe a continuación,
cuya ecuación representa el modelo matemático del sistema que proporciona la energía al horno
o variación de calor en el horno dando como término general un sistema ejecutor ( fuente de
energía variable):
Donde:
KCAL = Es una constante que depende del valor máximo de potencia del calentador (W).
JCAL = Es una constante que depende de la inercia de calor del proceso. (s).
Realizar los ajustes de conversión en las diversas variables del sistema como, la
temperatura a P.U ( Por Unidad (0-1)), en Simulink.
Tref 24
P.U
124 124
clc
disp ('cargados')
m_aire = 0.0353;
c_cal = 1010;
Ap = 0.96;
Ky = 0.043;
Jcal = 694.44e-6;
Ly = 0.015;
Para la sintonización, cabe destacar que debido a que las señales de temperatura fueron llevadas
a una escala de 0 a 1, el bias se ubica en la mitad de esta escala, en este caso 0.5.
Figura 8. Sintonización del controlador.
Para obtener la curva de reacción se realiza un escalón unitario al proceso en lazo abierto, es
decir se elimina la salida del PID, dejándose solamente el bias, en el flujo de entrada con una
variación del 10% ( 0.05 ) y se grafica la respuesta del sistema en la salida del transmisor.
Las condiciones iniciales de los integradores del ejecutor y la planta se deben hacer cero para el
proceso de sintonización.
Text = 25 ºC.
Seguidamente se obtiene una curva de reacción y con ello los valores de las constantes que se
involucran en la estrategia de control tradicional PID ( K P , Ki, Kd ).
Figura 9. Curva de reacción a una temperatura Text 25 ºC.
ΔC 28.3% = 0.2962
ΔC 63.2% = 0.4228
t0 = t2 – tτ t0 = 1.30925
K= C K= 0.3627
m 0.05
K = 7.254
1 1
1.2 t o 1.2 1.30925
KC , KC , K C 1.8173
K 7.254 14.3827
En MATLAB® KC K P K P 1.8173
to 1.30925
d , d , d 0.6546
2 2
En MATLAB® K d K C * d K d 1.1896
KC
En MATLAB® Ki K i 0.6940
i
t1 6.1035
t2 15.692
14.3827
τ
1.30925
t0
Una vez, conocidos los valores de las constantes del controlador, según la tabla , se introducen
en el bloque PID generado por SIMULINK®, dando inicio a la simulación del sistema.
Kp 1.8173
Kd 1.1896
Ki 0.6940
Como se puede observar en la figura 10, el controlador esta manteniendo la temperatura en el
valor indicado después de controlar el disturbio generado en la señal de referencia en este
caso la temperatura externa.
Kcal = 100
m_aire = 0.0353;
c_cal = 1010;
Jcal = 694.44e-6;
K10 = 2.752
num=[0 0 100];
dem=[0.0245 0.0264 0.001911];
horno=tf(num,dem)
rlocus(horno)
title('Root Locus de la planta')
num=[0 0 100];
dem=[0.0245 0.0264 0.001911];
horno=tf(num,dem)
bode(horno)
title('Bode de la planta')
Figura 13. Análisis de la planta mediante Bode.
Las habilidades de las redes neuronales artificiales para dar solución a un problema
específico, están relacionadas con los elementos, estructura y método de
entrenamiento de la red. Las posibilidades en estos parámetros dan lugar a numerosos
tipos de redes neuronales, cada una de las cuales con sus características particulares.
Cuando un problema que se quiere solucionar con redes neuronales está bien
definido, se puede con base en los requerimientos de este, elegir el tipo de red
neuronal que se ajuste mejor a la solución del mismo.
Cascade-forward backprop.
Competitive.
Feed-forward backprop.
Feed-forward distributed time delay.
Feed-forward time delay.
Generalized regression.
Hopfield.
Layer recurrent.
Linear layer.
LVQ.
NARX.
NARX Series-Parallel.
Perceptron.
Probabilistic.
Radial basis.
Self-organizing map.
La red Perceptron y la red Feed-forward backprop, son los dos tipos de redes
neuronales que se tratan en este trabajo. Para mayor información acerca de las demás
redes se recomienda consultar el manual de ayuda del toolbox de redes neuronales de
Matlab.
La data empleada para el entrenamiento de la red fue tomada del análisis del sistema en
lazo abierto.
datain=[35.43 0.47 24.7; 35.43 0.5234 25.67; 35.43 0.667 27.23; 37.19 0.46767
24.5454; 37.19 0.45898 24.89; 37.19 0.5721 27.6; 36.89 0.4856 24.5; 36.89 0.4978
25.5; 36.89 0.5234 27; 38.36 0.43111 25.9; 38.36 0.4555 24.2; 38.36 0.6788 25.8; 38.65
0.432 25; 38.65 0.4567 26; 38.65 0.5243 27; 42.75 0.43876 25.2; 42.75 0.435 25.8;
42.75 0.54 25.19; 42.46 0.4568 24; 42.46 0.4521 26; 42.46 0.5478 27; 42.17 0.356 24.2;
42.17 0.4567 25.2; 42.17 0.4041 26.2; 41.88 0.5467 24.5; 41.88 0.4532 25.5; 41.88
0.321 26.5; 41.58 0.4567 24.1; 41.58 0.4267 25.3;41.58 0.4967 25.7; 41.29 0.3334
24.3;41.29 0.3534 25.3; 41.29 0.3734 26.3; 41 0.3987 25.6; 41 0.4235 26.7; 41 0.6345
27.6; 40.7 0.4234 23.5; 40.7 0.3974 24.5; 40.7 0.4594 25.5; 40.41 0.456 23.9; 40.41
0.436 24.9; 40.41 0.486 25.876; 40.12 0.357 23.768; 40.12 0.367 24.748; 40.12 0.457
26.768; 39.82 0.4569 25; 39.82 0.569 25.2; 39.82 0.4269 25.4;35.43 0.4 24; 35.43 0.5
25; 35.43 0.6 27; 37.19 0.4 24.5; 37.19 0.4598 24.9; 37.19 0.521 25.6; 36.89 0.4356
24.5; 36.89 0.4478 25.5; 36.89 0.5234 27; 38.36 0.3111 23.9; 38.36 0.4555 24.2; 38.36
0.6788 25.8; 38.65 0.32 25; 38.65 0.4567 26; 38.65 0.5243 27; 42.75 0.3876 25.2; 42.75
0.435 25.8; 42.75 0.64 25.9; 42.46 0.3568 24; 42.46 0.4521 26; 42.46 0.5478 27; 42.17
0.356 24.2; 42.17 0.4567 25.2; 42.17 0.4041 26.2; 41.88 0.56467 24.65; 41.88 0.46532
25.65; 41.88 0.3621 26.65; 41.58 0.47567 24.71; 41.58 0.47267 25.73;41.58 0.44967
25.47; 41.29 0.43334 24.43;41.29 0.35534 25.53; 41.29 0.35734 26.3; 41 0.35987 25.6;
41 0.4635 24.7; 41 0.6345 27.6; 40.7 0.48234 23.95; 40.7 0.37974 24.65; 40.7 0.42594
25.85; 40.41 0.4568 23.89; 40.41 0.4536 24.19; 40.41 0.4286 25.9876; 40.12 0.3857
23.9768; 40.12 0.3767 27.748; 40.12 0.457 27.768; 39.82 0.4469 25.5; 39.82 0.469
25.3; 39.82 0.4369 25.5]
dataout=[0.3145;0.3145;0.3145;0.3629;0.3629;0.3629;0.3548;0.3548;0.3548;0.3952;0.3
952;0.3952;0.4032;0.4032;0.4032;0.5161;0.5161;0.5161;0.5081;0.5081;0.5081;0.5;0.5;
0.5;0.4919;0.4919;0.4919;0.4839;0.4839;0.4839;0.4758;0.4758;0.4758;0.4677;0.4677;0
.4677;0.4597;0.4597;0.4597;0.4516;0.4516;0.4516;0.4435;0.4435;0.4435;0.4355;0.435
5;0.4355;0.3145;0.3145;0.3145;0.3629;0.3629;0.3629;0.3548;0.3548;0.3548;0.3952;0.3
952;0.3952;0.4032;0.4032;0.4032;0.5161;0.5161;0.5161;0.5081;0.5081;0.5081;0.5;0.5;
0.5;0.4919;0.4919;0.4919;0.4839;0.4839;0.4839;0.4758;0.4758;0.4758;0.4677;0.4677;0
.4677;0.4597;0.4597;0.4597;0.4516;0.4516;0.4516;0.4435;0.4435;0.4435;0.4355;0.435
5;0.4355]
Antes de cargar los datos desde el nntool se debe determinar la transpuesta de cada una
de las matrices para que se ajuste al formato de los datos de entrada de esa herramienta.
p1 , t1 , p2 , t 2 ,..., p N , t N
1 N 1 N
F mse e i 2
t i ai 2
N i 1 N i 1
Algoritmo Backpropagation
Este algoritmo se denomina Backpropagation o de propagación inversa debido a que el
error se propaga de manera inversa al funcionamiento normal de la red; de esta forma,
el algoritmo encuentra el error en el proceso de aprendizaje desde las capas más
internas hasta llegar a la entrada; con base en el cálculo de este error se actualizan los
pesos y ganancias de cada capa. Hay un número de variaciones del algoritmo básico
que están basados en otras técnicas de optimización como el gradiente conjugado y
métodos de Newton. En el NNtool de Matlab, se trabaja con varios de esos algoritmos.
X K 1 X K X K
Al igual que los metodos Quasi-Newton, este algoritmo fue diseñado como un método
de entrenamiento de segundo orden donde no es necesario calcular la matriz de
Hessian. Cuando la función de desempeño tiene la forma de una suma de cuadrados,
la matriz de Hessian puede ser aproximada como se muestra en las siguientes
ecuaciones y el gradiente puede ser calculado con la ecuación
H JT J
g JTe
Donde J es la matriz jacobiana que contiene primeras derivadas de los errores de la red
con respecto a los pesos y las ganancias y e es un vector de errores de la red. La matriz
jacobiana puede ser calculada por medio de una técnica de backpropagation descrita
por Hagan y Menhaj , que es mucho menos compleja que el cálculo de la matriz de
Hessian. El algoritmo Levenberg-Marquardt utiliza esta aproximación de la matrix de
Hessian en la siguiente actualización:
1
X K 1 X K J T J I J T e
Donde es un escalar que determina la tendencia del algoritmo, cuando vale cero,
esta ecuación se convierte en el método de Newton utilizando la aproximación de la
matriz de Hessian. Cuando se hace grande, la actualización se convierte en el
gradiente descendente con tamaños de paso pequeños. El método de Newton es más
rápido y mas preciso cerca de un mínimo del error, así que el objetivo es desplazarse
tan rápido como sea posible hacia el método de Newton disminuyendo después de
cada paso exitoso (reducción de la función de desempeño) y es incrementado solo
cuando un paso tentativo (provisional), pudiera incrementar la función de desempeño.
La aplicación de este algoritmo en el entrenamiento de redes neuronales esta descrito
por Hagan y Menhaj y por Hagan, Demuth y Beale.
Esquema de la capa 1
Ya implementado en simulink el proceso con el controlador se procede a verificar su
funcionamiento mediante la selección de un set point especifico, para el caso fue de 38
grados, siendo los grados en los cuales se quería mantener la planta.
La otra prueba que se le hizo al sistema fue someterlo a diferentes niveles de set point y
los resultados se muestran a continuación.
Como se puede observar en la grafica no hubieron oscilaciones en la señal de salida y el
porcentaje de error en las medidas fue menor del 0.03%.
CONCLUSIONES