redes neuronales - U

Anuncio
1
REDES NEURONALES
Las redes neuronales constituyen una poderosa
herramienta para modelar sistemas, especialmente no
lineales, sean dinámicos o estáticos.
El cerebro humano es una sistema muy complejo formado
por muchas células llamadas neuronas; se estima que
existen entre 1010 y 1011 de células en el cerebro. Las
redes neuronales artificiales emulan la arquitectura y
capacidades de sistemas neuronales biológicos.
Una esquema simplificado de una neurona se muestra en
la siguiente figura.
Cuerpo celular
Dendrita
Axón
Sinapsis
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
2
En el cuerpo celular se realizan la mayoría de las
funciones lógicas de la neurona. El axón es el canal de
salida final de la neurona. Las dentritas reciben las señales
de entrada de los axones de otras neuronas y se conectan
al cuerpo celular por medio de las sinapsis.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
3
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
-
4
REPRESENTACION MATEMATICA
DE UNA NEURONA
En la siguiente figura se observa la estructura de una
neurona artificial con múltiples entradas.
x1
x2
w1
w2
x3 w3
wk
xk
wn
xn
Σ
u
f
y
θ
En esta estructura, se tiene
n
u = ∑ w i xi
i =1
donde wi son los pesos de la neurona (sinápsis)
xi son las entradas a la neurona
n es el número de entradas a la neurona
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
5
⎛ n
⎞
y = f ( u ) = f ⎜ ∑ w i xi − θ⎟
⎝ i =1
⎠
donde y es la salida de la neurona (axón)
f es la función de activación, correspondiente, en
general, a una función no lineal (cuerpo celular)
θ es el sesgo
En general, se utilizan las siguientes funciones de
activación:
f
f
1
x
b
f
1
1
b
-1
-1
Limitador duro
Hiperbólica
x
x
b
-1
Sigmoidal
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
6
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
7
Las redes neuronales son estructuras de procesamiento
formadas por una gran cantidad de neuronas, que operan
en paralelo.
Además, los distintos tipos de redes neuronales se generan
a partir de la interconexión de neuronas.
Las principales redes neuronales que se utilizan para
modelación no lineal son:
• Redes perceptrón multicapa
• Redes recurrentes
• Redes de funciones de base radiales (RBFN)
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
8
VENTAJAS DE LAS REDES NEURONALES
Las redes neuronales deben su capacidad de
procesamiento de información a su estructura distribuida y
paralela, a su capacidad de apredizaje y por tanto de
generalización.
Tareas
-
Reconocimiento de patrones
Memorias asociativas
Aproximación funcional
Etc.
Propiedades
- No linealidad. Las neuronas son elementos de proceso
generalmente no lineales. La interconexión de estos
elementos genera estructuras dde transformación de
datas donde este carácter no lineal queda distribuido a
lo largo y ancho de la red.
- Modelado de relaciones de entrada/salida.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
9
- Adaptibilidad. Las redes neuronales son por definición
estructuras adaptivas capaces de ajustar sus pesos, y por
tanto su función de transferencia, a cambios en su
entorno.
- Tolerancia ante fallos. Una red neuronal tiene la
capacidad de seguir respondiendo de forma no
catastrófica cuando parte de su estructura no está
dañada. Esto es debido al tratamiento distribuido de la
información y a la redundancia implícita en su
estructura.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
10
PERCEPTRÓN MULTICAPA
El perceptrón multicapa es una estructura jerárquica que
consiste en varias capas de neuronas totalmente
interconectadas, que admiten como entradas las salidas de
los elementos de proceso (neuronas) de la capa anterior.
x1
y
capa 3
x2
capa 1
capa 2
En las redes perceptrón multicapa se distinguen tres tipos
de capas:
• Capa de entrada. Esta formada por n unidades (siendo n
el número de entradas externas) que se limitan a
distribuir las señales de entrada a la capa siguiente.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
11
• Capas ocultas. Están formadas por neuronas que no
tienen contacto físico con el exterior. El número de
capas ocultas es variable, pudiendo incluso ser nulo.
• Capa de salida. Está formado por m neuronas (siendo m
el número de salidas externas) cuyas salidas constituyen
el vector de salidas externas del perceptrón multicapa.
Los modelos dinámicos neuronales están dados por:
y( t ) = N( y( t − 1),…, y( t − ny), u ( t − 1),…, u ( t − nu ))
donde N es la red neuronal que puede ser un perceptrón
multicapa, como se muestra en la siguiente figura.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
12
y(t-1)
.
.
.
y(t-ny)
y(t)
u(t-1)
..
.
u(t-nu)
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
13
Aplicaciones
-
Aproximación funcional
Reconocimiento de patrones
Filtrado de señales
Eliminación de ruido
Segmentación de imágenes y señales
Control adaptivo
Compresión de datos
Etc.
Ventajas
- Capacidad de representación funcional universal. Gran
rapidez
de
procesamiento.
Genera
buenas
representaciones internas de las características de los
datos de entrada. Ampliamente estudiada. Es la red
neuronal más aplicada en la práctica
Desventajas
- Tiempo de aprendizaje elevado para estructuras
complejas
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
14
Ejemplo Modelación de la química del agua de una
central térmica utilizando redes neuronales.
Se considera la central térmica a carbón Anllares (350
MW), propiedad de la empresa Unión Eléctrica Fenosa
(UEFSA), España. Esta central tiene en operación un
sistema experto denominado SEQA que permite adquirir
variables relacionadas con las propiedades químicas de los
siguientes flujos del ciclo agua-vapor: vapor condensado,
agua de alimentación, vapor saturado, vapor
sobrecalentado y vapor recalentado.
Vapor
Sobrecalentado
Condensador
Turbinas
Vapor
Saturado
Vapor
Recalentado
Vapor
Condensado
Caldera
Agua de
Alimentación
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
15
Las propiedades químicas analizadas para los flujos
considerados son: la conductividad catiónica, la
conductividad específica, el pH y el porcentaje de O2. La
utilización de modelos predictivos para estas propiedades
químicas, en el sistema experto SEQA, permite controlar
los problemas de corrosión de componentes presentes en
la producción de energía eléctrica. Especialmente, es
importante la modelación de la conductividad catiónica
del ciclo agua-vapor, debido a que esta propiedad es muy
representativa de las impurezas del agua.
Como ejemplo de la modelación neuronal de las
propiedades químicas del agua, se presentan los resultados
obtenidos para la modelación de la conductividad
catiónica del agua de alimentación (CCaa). Las variables
de entrada al modelo son: la potencia generada de la
central (P) y la conductividad catiónica del condensado
(CCcond, flujo precedente). Los datos son adquiridos con
un período de muestreo de 15 minutos.
El modelo neuronal para la conductividad catiónica del
agua de alimentación está dada por:
CC aa ( k ) = N (CC aa ( k − 1), P( k − 1), P( k − 2 ),
CC cond ( k ), CC cond ( k − 1))
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
16
donde N es un perceptrón multicapa con una capa oculta
de neuronas de funciones de activación tangente
hiperbólica y una capa de salida lineal.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
17
REDES RECURRENTES
Estos modelos son capaces de representar sistemas
realimentados dinámicos no lineales (Narendra, 1990).
x1(t+1)
x1(t)
x2(t)
x2(t+1)
.
..
.
..
xn(t)
xn(t+1)
z-1
z-1
z-1
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
18
Además, se debe mencionar que existen diversos modelos
neuronales que son combinaciones de las redes perceptrón
multicapa y redes recurrentes.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
19
REDES DE FUNCIONES
DE BASE RADIALES (RBFN)
Las redes de funciones de base radiales (RBFN “Radial
Basis Function Networks”) consisten en dos capas (Jang,
1993). Los modelos dinámicos basados en las redes
RBFN están dados por:
y( t ) = N( y( t − 1), … , y( t − ny), u( t − 1), … , u( t − nu ))
donde N es una red neuronal como se muestra en la
siguiente figura con n = ny + nu.
a1
y(t-1)
..
.
y(t-ny)
u(t-1)
..
.
u(t-nu)
any
v1
vny
∑
y(t)
vn
an
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
20
La capa oculta esta compuesta por n unidades radiales
totalmente conectadas al vector de entrada. Las funciones
de transferencia de la capa oculta son similares a una
función de densidad gaussiana, es decir:
⎛ x − ri
a i = exp⎜⎜ −
σ i2
⎝
2
⎞
⎟
⎟
⎠
donde x = [ y( t − 1), … , y( t − ny), u( t − 1), … u( t − nu )] es el vector
de entradas de la red, ri son los centros de las unidades
radiales, σ i representan los anchos.
La salida de la red está dada por:
n
y( t ) = ∑ v i a i
i =1
donde vi son los pesos de las unidades radiales.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
21
Ejemplo Modelación neuronal basada en RBFN para un
fermentador batch de alimentación.
La presión en el estanque de fermentación puede ser
controlada a través del cambio de flujo de aire de salida
manteniendo constante el flujo de aire de entrada.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
22
El modelo de la red está dado por:
y( k + 1) = N( y( k ), u ( k ))
donde y(k) es la presión en el estanque y u(k) es el flujo
de salida. Además, N es una red neuronal lineal/RBF dada
por las siguientes ecuaciones:
n
y(k + 1) = w 0 + ∑ w 1i φi ri (k ) + w T2 x (k )
i =1
ri (k ) = x (k ) − c i
[
x (k ) = y(k ),…, y(k − n y ), u (k ),…, u (k − n u )
]
T
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
23
Aplicaciones
- Aproximación funcional
- Reconocimiento de patrones
Ventajas
Capacidad de representación funcional universal. La
estructura de esta red tiene interpretación directa, lo que
permite realizar una buena inicialización de los pesos de
la red, y extraer conocimiento de las estructuras ajustadas.
La buena inicialización de los pesos acelera el proceso de
aprendizaje.
Desventajas
El procesamiento realizado es algo más complejo que en
el caso del perceptrón multicapa.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
24
OTROS TIPOS DE REDES
Adaline. Estas neuronas tienen capacidad de aprendizaje
debido a que sus pesos son cambiados adaptivamente de
acuerdo a un algoritmo adaptivo. Sus aplicaciones
principales son: filtrado adaptivo de señales,
reconocimiento
de
patrones.
Son
fácilmente
implementables en hardware debido a su sencillez y
homogeneidad, sin embargo sólo son capaces de resolver
problemas de clasificación linealmente separables y llevar
a cabo transformaciones lineales.
Mapas autoorganizativos de Kohonen. En este caso, las
neuronas están ordenadas topológicamente. Frente a la
presentación de un patrón n-dimensional de entrada,
compiten lateralmente hasta que sólo una de ellas queda
activa. El objetivo es que patrones de entrada con
características parecidas queden asociados a neuronas
topológicamente cercanas. Sus principales aplicaciones
son: agrupación y representación de datos, compresión de
datos y optimización.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
25
ENTRENAMIENTO DE REDES NEURONALES
Se entiende por entrenamiento el cálculo de pesos y
sesgos de manera que la red se comporte de una manera
deseada. De acuerdo al tipo de entrenamiento, las redes se
pueden subdividir en dos grandes grupos:
• Redes con entrenamiento supervisado. Estas redes se
entrenan presentando, para cada combinación de
entradas, las salidas que se espera ellas produzcan. Los
algoritmos de entrenamiento calculan pesos y sesgos
nuevos de manera de minimizar el error entre la salida
deseada y la obtenida realmente.
• Redes sin supervisión. Los algoritmos de entrenamiento
calculan nuevos pesos libremente. Estas redes se utilizan
como clasificadores, pues se caracterizan por asociar
una combinación de entradas especifica con una sola
salida.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
26
ALGORITMO DE ENTRENAMIENTO
BACKPROPAGATION
El algoritmo de entrenamiento backpropagation se utiliza
para ajustar los pesos y sesgos de un red, con el fin de
minimizar la suma del cuadrado de los errores de la red.
El algoritmo backpropagation es un método iterativo de
optimización de descenso según el gradiente, cuyos
detalles se presentan a continuación.
Para una neurona j en una capa oculta o en la salida, la
señal de salida es
⎛ n
⎞
o j = f ⎜ ∑ w ijo i − b j ⎟
⎝ i =1
⎠
donde f es la función de activación de la neurona
wij son los pesos de las conexiones entre la neurona
considerada, j, y la neurona i, perteneciente a la
capa precedente.
oi es la salida de la neurona i de la capa precedente
bj es el sesgo de la neurona j
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
27
En este caso, se considera funciones de activación
sigmoide logarítmicas.
Además, se define
n
net j = ∑ w ij o i − b j
i =1
La salida de la neurona j, entonces, está dada por
(
)
o j = f net j =
1
1+ e
− net j
Para el entrenamiento, el valor -bj se considera como un
peso correspondiente a la conexión de la neurona j con
una supuesta neurona de la capa precedente cuya salida es
constante e igual a uno.
El algoritmo de backpropagation permite ajustar los pesos
de la red neuronal con el fin de minimizar el error
cuadrático sobre un conjunto de entradas y salidas
asociadas (patrones) que la red debe ser capaz de aprender
para luego realizar generalizaciones a partir de ellas.
Además, se define como superficie de error a la función
multivariable generada por la expresión del error de ajuste
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
28
en términos de los pesos y sesgos de las neuronas de la
red.
El algoritmo backpropagation permite determinar los
valores de los pesos para los cuales la función de error es
mínima. Esto no siempre se logra, convergiendo muchas
veces el algoritmo a mínimos locales, no al mínimo global
buscado, o simplemente no convergiendo.
Se considera una red con M neuronas en la capa de salida
y suponiendo que se dispone de un conjunto de
entrenamiento con P patrones, uno de los cuales,
denominado p, tiene salidas dadas por
[
t p = t p1 , t p 2 ,…, t pM
]
el error cuadrático tiene, para ese patrón, la siguiente
expresión
(
1 M
E p = ∑ t pi − o pi
2 i =1
)
2
que corresponde al error tomado para derivar la regla de
optimización.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
29
Los valores tpi representan las salidas deseadas ante las
entradas correspondientes al patrón p. Cuando dicho
patrón es presentado a la red, los pesos se modifican
según una regla iterativa derivada del método de
optimización según el gradiente, con lo cual el peso wij
según la ecuación
w ij ( h) = w ij ( h − 1) + ∆w ij ( h)
donde h corresponde al contador dentro de una iteración.
En este caso, una iteración se define como la presentación
(una vez) de todos los patrones entrada/salida de los
cuales se dispone para el entrenamiento.
El valor de ∆w ij ( h) se calcula como
⎛ ∂E p ∂net j ⎞
⎛ ∂E p ⎞
⎟⎟
⎟
⎜
= η⎜⎜ −
∆w ij ( h ) = η⎜ −
⎟
⎝ ∂net j ∂w ij ⎠
⎝ ∂w ij ⎠
(*)
donde η es la tasa de aprendizaje (constante de
proporcionalidad)
( 0 < η < 1)
En general, los pesos se inicializan entre cero y uno
aleatoriamente.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
30
Se define el parámetro δj como
δj = −
∂E p
∂net j
=−
∂E p ∂o j
∂o j ∂net j
En las expresión siguientes, el subíndice p se ha omitido
por simplicidad.
Para calcular las derivadas es necesario tener en cuenta
que la función de activación escogida es una sigmoide
logarítmica, cuya derivada es
df ( x ) d ⎛ 1 ⎞
1 ⎛
1 ⎞
= ⎜
1
=
−
= f ( x )(1 − f ( x ))
−x ⎟
−x ⎜
−x ⎟
⎝
⎠
⎝
⎠
dx
dx 1 + e
1+ e
1+ e
Para una neurona j en la capa de salida se tiene, entonces,
(
) (
δ j = t j − oj oj 1 − oj
)
Para una neurona en la capa oculta o en la capa de
entrada, se tiene
δ j = o j (1 − o j )∑ (δ k w jk )
k
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
31
donde el contador k cubre las neuronas de la capa
posterior a la j.
Entonces, la corrección de los pesos se comienza por la
capa de salida y se propaga hacia atrás hasta llegar a la
capa de entrada.
Con esto, el término (*) se puede expresar como
∆w ij = ηδ joi
Ahora bien, normalmente no se emplea sólo esta
expresión sino que se agrega un término denominado
momentum, que corresponde al cambio anterior en el peso
ponderado por el coeficiente de momentum. Entonces, se
tiene
∆w ij = ηδ joi + α∆w ij ( h − 1)
donde α es el coeficiente de momento. Este término
permite suavizar la convergencia del método y ayuda a
que la convergencia de los pesos no se vea demasiado
afectada por irregularidades en la superficie de error.
Considerando los P patrones de que se dispone y con los
cuales se realizará el entrenamiento, la expresión para el
error total, o error de ajuste, es la siguiente
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
32
2⎞
⎛1 M
E = ∑ E p = ∑ ⎜ ∑ t pi − opi ⎟
⎠
p =1
p =1 ⎝ 2 i =1
P
P
(
)
En general, el entrenamiento se considera acabado cuando
el valor de E es menor o igual que un límite
preestablecido.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
33
IDENTIFICACIÓN BASADA EN REDES NEURONALES
Data Selection
Selection of
Relevant Variables
Initial Neural Network
Structure Definition
Structural and Parametric
Optimization
Model
Validation
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
34
1.- Selección de datos
a) Conjunto de entrenamiento
b) Conjunto de test
c) Conjunto de validación
2.- Selección de variables de entrada relevantes
Xi:
y( k − 1),
y ( k − 2 ),
u nu ( k − nb nu − nk nu + 1)
...,
y( k − na ),
u1 ( k − nk), ..., u1 ( k − nb1 − nk1 + 1), ..., u nu ( k − nk nu ), ...,
)
a) Análisis convencional
b) Análisis de sensibilidades
3.- Definición de la estructura inicial de la red
a) Perceptron multicapa
b) RBFN
4.- Optimización paramétrica y estructural
Numero óptimo de neuronas y capas ocultas.
5.- Validación del modelo
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
35
IDENTIFICACION CON REDES NEURONALES
Modelación directa
d
d’
yp
u
Proceso
ym
M
Algoritmo
de Aprendizaje
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
36
En este caso, se entrena una red neuronal de manera de
obtener la dinámica directa de la planta.
La red es colocada en paralela a la planta y el error entre
el sistema y las salidas de la red son usados como entrada
al entrenamiento (“Backpropagation”).
Ecuación del sistema no lineal (Proceso)
y p ( t + 1) = f (y p ( t ),…, y p ( t − n + 1), u ( t ),…, u ( t − n + 1) )
Red neuronal (Modelo)
y m ( t + 1) = f̂ (y p ( t ),…, y p ( t − n + 1), u ( t ),…, u ( t − n + 1) )
donde f̂ es la relación de entrada – salida dada por la red
neuronal.
Luego de un tiempo adecuado de entrenamiento, se tiene:
ym ≈ yp
De esta manera, la red se independiza de la planta, es
decir:
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
37
y m ( t + 1) = f̂ (y m ( t ),…, y m ( t − n + 1), u ( t ),…, u ( t − n + 1) )
Modelación inversa
ss
yp
u
r
Proceso
M
Algoritmo
de Aprendizaje
ss es la señal de entrada para el entrenamiento.
Los modelos inversos de la dinámica de la planta juegan
un rol importante en el diseño de control.
La salida yp es usada como entrada a la red neuronal. La
salida de la red u es comparada con la entrada del sistema
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
38
ss (señal de entrenamiento) y este error es usado para
entrenar la red.
Esta estructura claramente tiende a forzar a la red
neuronal a representar la dinámica inversa de la planta.
Modelación inversa especializada
yp
u
r
Proceso
C
Algoritmo
de Aprendizaje
ym
M
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
39
En este caso, el modelo red neuronal inverso precede al
sistema y recibe como entrada la referencia deseada de la
salida.
Esta estructura de aprendizaje contiene además un modelo
red neuronal directo (M).
La señal de error para el algoritmo de entrenamiento, en
este caso, es la diferencia entre la señal entrenada ym y la
señal entrenada yp.
Alternativamente, la señal de error puede ser la diferencia
entre r y yp.
La estructura entrada salida de la modelación del sistema
inverso está dada por:
u ( t ) = f −1 (y p ( t ),…, y p ( t + n − 1), r ( t + 1), u ( t − 1),…, u ( t − n + 1) )
Si no se dispone de yp,
u ( t ) = f −1 (y m ( t ),… , y m ( t + n − 1), r ( t + 1), u ( t − 1), … , u ( t − n + 1) )
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
40
ESTRUCTURAS DE CONTROL
CON REDES NEURONALES
Existen diversas estructuras de control bien establecidas
para sistemas no lineales (Hunt, 1992).
Control supervisor o por operador
Operador
Humano
u
Red
Neuronal
u
Proceso
Proceso
y
y
En este caso, se diseña un controlador que imite las
acciones de control del operador humano.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
41
El controlador corresponde a una red neuronal que es
entrenada con la información sensioral recibida por el
operador y la salida del proceso.
Control inverso directo
yd
yd
G-1
Red
Neuronal
G
Planta
y
y
En este caso, se utiliza un modelo inverso de la planta
talque el sistema compuesto resulte la identidad entre la
salida del proceso y la salida deseada.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
42
CONTROL POR LINEALIZACION INSTANTANEA
El enfoque más común de control para sistemas no
lineales es aproximar el sistema por un sistema lineal en
una región y luego diseñar una estrategia de control lineal.
Los modelos neuronales son estructuras no lineales que se
pueden linealizar. Esta linealización puede ser en cada
instante de muestreo y por eso se denomina linealización
instantanea.
Consideremos el siguiente modelo neuronal:
y( t ) = g ( x ( t ))
donde
x( t ) = [y( t − 1),..., y( t − n ), u ( t − 1),..., u ( t − d − m )]
T
En el instante t = τ, el sistema es linealizado alrededor del
punto de operación x (τ) , obteniéndose el siguiente
modelo aproximado:
~y ( t ) = −a ~y ( t − 1) − ... − a ~y ( t − n )
1
n
+b ~
u ( t − 1) + ... + b ~
u ( t − d − m)
0
m
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
43
donde
~y ( t − i) = y( t − i) − y( τ − i)
~
u ( t − i) = u ( t − i) − u ( τ − i)
∂g ( x( t ))
ai = −
para 1 ≤ i ≤ n
∂x i t = τ
bi = −
∂g ( x( t ))
para 1 ≤ i ≤ m
∂x n +i +1 t = τ
Para un modelo neuronal perceptron multicapa con nx
entradas, una capa oculta con nh neuronas con función
de activación tangente hiperbolica y una capa lineal
de salida, se tiene:
⎛ nx
⎞
y( t ) = ∑ Wj tanh ⎜⎜ ∑ w kj x k ( t ) + w 0 j ⎟⎟ + W0
j=1
⎝ k =1
⎠
nh
Entonces, la derivada de la salida con rspecto a la
entrada xi(t) es:
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
44
nx
⎛
⎛
⎞⎞
∂g (x( t )) n h
2
= ∑ Wj w ji ⎜⎜1 − tanh ⎜⎜ ∑ w kj x k ( t ) + w 0 j ⎟⎟ ⎟⎟
∂x i ( t )
j=1
⎝ k =1
⎠⎠
⎝
Por lo tanto, el modelo aproximado está dado por:
n
m
i =1
i =0
y( t ) = − ∑ a i y( t − i) + ∑ b i u ( t − i)
n
m
⎛
⎞
+ ⎜ y ( τ) + ∑ a i y ( τ − i ) − ∑ b i u ( τ − i ) ⎟
i =1
i =0
⎝
⎠
donde
n
m
⎛
⎞
ξ ( τ) = ⎜ y ( τ) + ∑ a i y ( τ − i ) − ∑ b i u ( τ − i ) ⎟
i =1
i =0
⎝
⎠
es un termino constante (bias).
A partir, de este modelo linealizado se deriva un
controlador lineal, que es actualizado en el siguiente
instante.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
45
Control por modelo de referencia
Modelo de
Referencia
yp
u
r
yr
+
Proceso
-
er
C
Algoritmo
de Aprendizaje
El funcionamiento deseado del sistema en lazo cerrado es
especificado a través de un modelo de referencia estable,
que se define por el par entrada-salida {r(t),yr(t)}.
El sistema de control pretende llevar a la salida de la
planta yp(t) a la salida del modelo de referencia yr(t)
asintoticamente, es decir:
lim y r ( t ) − y p ( t ) ≤ ε
t →∞
ε≥0
En esta estructura, el error entre yr e yp es usado para
entrenar al controlador neuronal.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
46
Control por modelo interno
ys +
-
e
F
u
r
yp
Proceso
C
+
ym
M
-
En este caso, los modelos directo e inverso son utilizados
directamente como elementos dentro del lazo de
retroalimentación.
La diferencia entre la salida del sistema yp y la salida del
modelo ym es utilizada en la retroalimentación.
La retroalimentación es usada por el subsistema
controlador que utiliza un controlador relacionado con el
inverso del sistema.
El subsitema F es usualmente un filtro lineal que
introduce robustez al sistema.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
47
CONTROL PREDICTIVO
BASADO EN REDES NEURONALES
En general, los controladores predictivos basado en redes
neuronales presentan el siguiente esquema básico:
r
y
u
Optimizador
Proceso
y
Predictor
M
En este esquema, la obtención de la ley de control con redes neuronales
puede considerar alguna de las siguientes alternativas:
1.- Determinar el modelo del sistema con una red
neuronal. El modelo es usado para predecir las salidas
futuras de la planta. Esto permite tratar con procesos
no lineales.
2.- Entrenar una red neuronal para que realice la misma
tarea que un controlador predictivo. El entrenamiento
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
48
se realiza por simulación fuera de línea. De este modo,
se obtiene un controlador más rápido.
3.- Entrenar una red neuronal de forma que optimice un
criterio. El modelo es evaluado tan solo en la fase de
entrenamiento del controlador.
A continuación, se presentan algunas estrategias de control predictivo
basado en redes neuronales
Hunt (1992)
yr
ym
u’
Optimizador
M
MR
AA
u
r
yp
Proceso
C
En este caso, una red neuronal (M) predice las respuestas
futuras de la planta (ym) sobre un horizonte de tiempo.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
49
Las predicciones alimentan al optimizador de manera de
optimizar el siguiente criterio:
J=
∑ δ( j)[y (t + j) − y
N2
j = N1
r
]
Nu
m ( t + j / t ) + ∑ λ (i)[∆u ' ( t + i − 1) ]
2
2
i =1
donde yr puede ser la respuesta de un modelo de
referencia (trayectoria de referencia).
Una alternativa es entrenar una red neuronal C de manera
de imitar la acción de control u’.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
50
Arahal (1997)
GPC basado en respuesta libre (red neuronal) y respuesta
forzada.
Modelo Resp.
Neuronal libre
e
- yl
Resp.
forzada
Modelo
Lineal
∆u
+
u
Proceso
y
Optimizador
r
Se propone dividir la respuesta del sistema en libre y
forzada. La respuesta forzada es debido a la señal de
control, el resto se considera respuesta libre.
ŷ( t + j) = ŷ libre ( t + j) + ŷ forzado ( t + j)
Para predecir la respuesta forzada se usará un modelo
lineal.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
51
La predicción de la respuesta libre se hará en base a un
modelo neuronal, válido para todo rango de operación.
El proceso de optimización puede resolverse
analíticamente puesto que el modelo dependiente de la
señal de mando es lineal.
∆u = (G T G + λI) −1 G T (w − ŷ libre )
A fin de obtener mejores resultados, el modelo usado para
calcular la respuesta forzada se cambia con el punto de
operación.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
52
Draeger (1995)
DMC basado en redes neuronales
Se considera el siguiente modelo lineal respuesta al escalón:
ŷ = G∆u + f + d
con G es la matriz con coeficientes de la respuesta al
escalón, f es agrupa los términos conocidos hasta t
(respuesta libre) y d es un vector de perturbaciones.
El vector de perturbaciones será tal que una parte
representará la no linealidad del proceso y la otra parte
considera las influencias desconocidas.
d = d nl + d *
con
d* = y − y m
Entonces, la acción de control está dada por:
∆u = (G T G + λI) −1 G T (r − f − d)
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
53
Modelo
no lineal
f r
-
∑
-
dnl
DMC
Proceso
-
Modelo
lineal
Modelo
no lineal
y
ym
-
d*
Modelo
no lineal
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
54
PRINCIPIOS BÁSICOS DE SISTEMAS NEURODIFUSOS
La principal razón de representar un sistema difuso en
términos de una red neuronal es utilizar la capacidad de
aprendizaje de las redes para mejorar su funcionamiento.
Sistema de inferencia difusa neuronal adaptiva (ANFIS).
Modelo de Takagi-Sigino.
R 1 : Si x1 es A1 y x 2 es B1 entonces y = f1 (x )
R 2 : Si x 2 es A 2 y x 2 es B2 entonces y = f 2 (x )
donde Ai y Bi son conjuntos difusos y
f1 (x ) = z11x1 + z12 x 2 + z13
f 2 (x ) = z 21x1 + z 22 x 2 + z 23
Dado x = (x1,x2) un valor numérico de la entrada, el
mecanismo de inferencia difusa produce:
y* =
A1 (x1 )B1 (x 2 )f1 (x ) + A 2 (x1 )B2 (x 2 )f 2 (x )
A1 (x1 )B1 (x 2 ) + A 2 (x1 )B2 (x 2 )
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
55
A1
O11
x1
A2
B1
x2
O12
N
O21
f1
O41
x1 x2
Σ
O13
O14
B2
π
O31
π
O22
N
O32
f2
O42
x1 x2
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
y*
56
La salida de la capa 1 es:
(O11 , O12 , O13 , O14 ) = (A1 (x1 ), A 2 (x1 ), B1 (x 2 ), B2 (x 2 ))
La capa 2 consiste en neuronas difusa, entonces sus
salidas son:
(O 21 , O 22 ) = (A1 (x1 )B1 (x 2 ), A 2 (x1 )B2 (x 2 ))
La capa 3 es un normalizador. Su salida es:
O 22 ⎞
O 21
⎟⎟
,
⎝ O 21 + O 22 O 21 + O 22 ⎠
⎛
(O 31 , O 32 ) = ⎜⎜
⎛
⎞
A1 (x 1 )B1 (x 2 )
A 2 (x 1 )B 2 (x 2 )
⎟⎟
= ⎜⎜
,
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
+
+
A
x
B
x
A
x
B
x
A
x
B
x
A
x
B
x
2
1
2
2
1
1
1
2
2
1
2
2 ⎠
⎝ 1 1 1 2
La salida de la capa 4 es:
(O41, O42 ) = (O31f1, O32f2 )
⎛ A (x )B (x )(z x + z x + z ) A (x )B (x )(z x + z x + z ) ⎞
= ⎜⎜ 1 1 1 2 11 1 12 2 13 , 2 1 2 2 21 1 22 2 23 ⎟⎟
A1 (x1 )B1 (x2 ) + A2 (x1 )B2 (x2 ) ⎠
⎝ A1 (x1 )B1 (x2 ) + A2 (x1 )B2 (x2 )
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
57
La salida resultante es:
y* = O41 + O42 =
⎛ A (x )B (x )(z x + z x + z ) + A2 (x1 )B2 (x1 )(z21x1 + z22x2 + z23) ⎞
= ⎜⎜ 1 1 1 2 11 1 12 2 13
,⎟⎟
A1 (x1 )B1 (x2 ) + A2 (x1 )B2 (x2 )
⎝
⎠
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
58
Algoritmo de Aprendizaje ANFIS
En la estructura ANFIS, los parámetros de las premisas y
consecuencias son los pesos.
Específicamente, las funciones de pertenencia A ij son
parámetros determinados por el número finito de
i = 1,2 son los parámetros de las
parámetros a i , b i , c i
consecuencias.
El algoritmo de aprendizaje ANFIS consiste en ajustar el
conjunto de parámetros a partir de los datos muestreados
((x
k
k
k
,
x
),
y
1
2
)
k = 1,..., N
Se describe un método de aprendizaje de las funciones de
pertenencia para las premisas y parámetros de las
consecuencias.
El conjunto de entrenamiento está dado por :
((x , y ),
1
donde
(
x k = x1k , , x kn
1
)
, (x k , y k )
)
∈ ℜn y y k ∈ ℜ
Las reglas difusas definidas son:
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
59
R i : Si x 1k es A1i y … y x kn es A in entonces
n
y = ∑ z ij x k + z i
j=1
donde A ij son funciones de pertenencia difusas y z ij son
números reales.
Sea O k la salida desde el sistema difuso correspondiente
a la entrada x k .
Se considera que el operador AND está dado por el
producto, entonces el antecedente de la regla i es:
α ik
( )
n
= ∏ A ij x kj
j=1
Entonces, la salida del sistema es:
m
∑
Ok =
i =1
⎞
j k
0⎟
z
x
z
+
∑ i j i⎟
⎠
⎝ j=1
⎛
α ik ⎜⎜
n
n
∑ α ik
i =1
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
60
⎛ n i ⎞⎛ n j k
⎞
0
⎜
⎟
⎜
A j ⎟⎜ ∑ z i x j + z i ⎟⎟
∑
∏
⎜
i =1 ⎝ j=1
⎠
⎠⎝ j=1
Ok =
n
n
∑∏ A ij x kj
m
( )
i =1 j=1
Se define la medida del error para el patrón de
entrenamiento k th como:
Ek =
(
1 k
0 − yk
2
)
2
donde O k es la salida del sistema difuso correspondiente
al patrón de entrada x k e y k es la salida deseada ,
k = 1, , K .
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
61
Equivalencia de redes de funciones de base radiales
(RBFN) y sistemas difusos
Las redes de funciones de base radiales (RBFN “Radial
Basis Function Networks”) consisten en dos capas (Jang,
1993). Los modelos dinámicos basados en las redes
RBFN están dados por:
y( t ) = N( y( t − 1), … , y( t − ny), u( t − 1), … , u( t − nu ))
donde N es una red neuronal como se muestra en la
siguiente figura con n = ny + nu.
a1
y(t-1)
.
.
.
ai
f1
y(t-ny)
fi
u(t-1)
.
.
.
fn
u(t-nu)
∑
y(t)
an
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
62
La capa oculta esta compuesta por n unidades radiales
totalmente conectadas al vector de entrada. Las funciones
de transferencia de la capa oculta son similares a una
función de densidad gaussiana, es decir:
⎛ x − ri
a i = exp⎜⎜ −
σ 2i
⎝
2
⎞
⎟
⎟
⎠
donde x = [ y( t − 1), … , y( t − ny), u( t − 1), … u( t − nu )] es el vector
de entradas de la red, ri son los centros de las unidades
radiales, σ i representan los anchos.
La salida de la red está dada por:
n
y( t ) = ∑ f i a i
i =1
donde fi son los pesos de las unidades radiales.
Un sistema sistema difuso equivalente para dos entradas
está dado por:
Si y(t-1) es Ai y u(t-1) es Bi
entonces y( t ) = f i = c i y( t − 1) + d i u ( t − 1)
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
63
Además, las funciones de pertenencia de las entradas para
la regla 1 son:
⎡ (y( t − 1) − r1 )2 ⎤
µ A1 ( y( t − 1) = exp ⎢−
⎥
2
σ
1
⎣
⎦
⎡ (u ( t − 1) − r2 )2 ⎤
µ B1 (u ( t − 1) = exp ⎢−
⎥
2
σ
1
⎣
⎦
Entonces, el grado de activación de la regla 1 es:
ω1 ( y( t − 1), u ( t − 1) = µ A1 ( y( t − 1))µ B1 (u ( t − 1))
⎡ x − ri 2 ⎤
= exp ⎢−
⎥ = a1
2
σ1 ⎥
⎢⎣
⎦
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
64
Ejemplo Se tiene una red neuronal de una capa, una
entrada - una salida, cuya función de transferencia no
lineal es una sigmoide logarítmica.
a) Dibuje un esquema que represente la red antes
mencionada, indicando claramente: entradas, pesos,
expresiones para la salida y para la función NET.
Considere que no hay sesgos asociados a la red.
b) Dados los siguientes valores para la entrada X = {-3.0;
2.0} y para la salida Y = {0.3; 0.6}, determine
mediante el algoritmo de entrenamiento denominado
backpropagation, el peso asociado a dicha entrada.
Considere la tasa de aprendizaje es 0.9 y que
inicialmente w es 0.1.
c) Compruebe la efectividad de su entrenamiento
evaluando la salida de la red, para las entradas del
punto b), utilizando el peso encontrado. Comente.
Solución
a)
x
∑ w
f
y
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
65
donde x es la entrada
y es la salida
w es el peso
f es una función sigmoide
1
y = f ( wx ) =
− xw
net 1 + e
b) Datos
p
1
2
x
-3.0
2.0
y
0.3
0.6
η = 0.9
w(0) = 0.1
1º iteración (con primer conjunto de patrones)
o = f ( wx) = f ( 01
. × −3.0) =
1
= 0.4255
1 + e 0.3
δ = (1 − o) o( y − o)
= (1 − 0.4255) × 0.4255 × ( 0.3 − 0.4255)
= - 3.069 × 10-2
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
66
∆w = ηδx = 0.9 × −3.069 × 10−2 × −3.0
= 8.2873 × 10-2
w (1) = w ( 0) + ∆w = 01
. + 8.2873 × 10−2
= 0.18287
2º iteración (con segundo conjunto de patrones)
o = f ( w (1) x) = f ( 018287
.
× 2.0)
1
=
= 0.59043
−0.36574
1+ e
δ = (1 − o) o( y − o)
= (1 − 0.59043) × 0.59043 × ( 0.6 − 0.59043)
= 2.314 × 10-3
∆w = ηδx = 0.9 × 2.3144 × 10−3 × 2.0
= 4.166 × 10-3
w ( 2) = w (1) + ∆w = 018287
.
+ 4.166 × 10−3
= 0.187036
w* = 0.187036
c)
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
67
p
1
2
x
-3.0
2.0
y
0.3
0.6
o p = f(wx p )
o1 = f(w * x1 ) = f(0.187036 × -3.0) = 0.3633
o2 = f(w * x 2 ) = f(0.187036 × 2.0) = 0.5924
Entonces, los errores de estimación son:
e1 = y1 - o1 = 0.3 - 0.3633 = -0.0633
e2 = y 2 - o2 = 0.6 - 0.5924 = 0.0076
Entonces, el error de ajuste es:
(
1 2 i i
e = ∑ y -o
2 i =1
)
2
= 0.002
Comentario
Se podría mejorar este peso resultante (w*), si se realizan
más iteraciones con los mismos set de datos. También se
podría realizar de nuevo las iteraciones empezando con el
x = 2 e y = 0.6, lo cual podría mejora el resultado.
D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U.
Chile.
Descargar