Apuntes redes neuronales

67
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 10 10 y 10 11 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. Dendrita Cuerpo celular Axón Sinapsis D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

description

redes neuronales para universitarios. lo basico de redes neuronales para realizar un proyecto.

Transcript of Apuntes redes neuronales

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.

Dendrita

Cuerpo celular

Axón

Sinapsis D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

2

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

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

-

4

REPRESENTACION MATEMATICA DE UNA NEURONA

En la siguiente figura se observa la estructura de una neurona artificial con múltiples entradas.

x1

x2

x3

xk

xn

yΣ f

θ

u

w1

w2

w3

wkwn

En esta estructura, se tiene

u wi ii

n

==∑

1

x

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

( )y f u f w xi ii

n

= = −⎛

⎝⎜

⎠⎟

=∑

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:

1

-1

1

-1 -1

1

b b b

f f f

x x x

Limitador duro Hiperbólica Sigmoidal

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

6

7

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

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)

8

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

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.

9

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

- 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.

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

x2

y

capa 1

capa 2

capa 3

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: ))nut(u,),1t(u),nyt(y,),1t(y(N)t(y −−−−= …… 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)

u(t-1)...

u(t-nu)

y(t)

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

13

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

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

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.

Turbinas

Vapor Sobrecalentado

VaporRecalentado

Caldera

Vapor Saturado

Condensador

VaporCondensado 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 k N CC k P k P k

k CC kaa aa

cond cond

( ) ( ( ), ( ), ( ),( ), ( ))

= − − −−

1 1 21

CC

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).

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

...

x1(t)

x2(t)

xn(t)

x1(t+1)

x2(t+1)

...

xn(t+1)

z-1

z-1

z-1

18

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

Además, se debe mencionar que existen diversos modelos neuronales que son combinaciones de las redes perceptrón multicapa y redes recurrentes.

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:

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

y t N y t y t ny u t u t nu( ) ( ( ), , ( ), ( ), , ( ))= − − − −1 1… … donde N es una red neuronal como se muestra en la siguiente figura con n = ny + nu.

y(t)

...

y(t-1)

u(t-1)

y(t-ny)

u(t-nu)

...

a1

an

anyv1

vny

vn

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:

ax r

ii

i

= −−⎛

⎝⎜⎜

⎠⎟⎟exp

2

donde [ ]x y t y t ny u t u t nu= − − − −( ), , ( ), ( ), (1 1… … ) es el vector de entradas de la red, ri son los centros de las unidades radiales, representan los anchos. σ i

La salida de la red está dada por:

y t v ai ii

n

( ) ==∑

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:

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

) ( )( ) ( ), (y k N y k u k+ =1 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:

)k(xw)k(rww)1k(y T2

n

1iiii10 +φ+=+ ∑

=

ii c)k(x)k(r −= [ ]Tuy )nk(u,),k(u),nk(y,),k(y)k(x −−= ……

23

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

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.

24

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

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.

25

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

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.

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

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

j o f w o bj ij ii

n

= −⎛⎝⎜

⎞⎠⎟

=∑

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

27

En este caso, se considera funciones de activación sigmoide logarítmicas. Además, se define

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

j net w o bj ij ii

n

= −=∑

1

La salida de la neurona j, entonces, está dada por

( )o f netej j net j

= =+ −

11

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

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 t t tp p p pM= 1 2, , ,…

el error cuadrático tiene, para ese patrón, la siguiente expresión

( )E t op pii

M

= −=∑1

22

1pi

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 h w h w hij ij ij( ) ( ) ( )= − +1 ∆ 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 se calcula como ∆w hij( )

∆w hEw

Enet

netwij

p

ij

p

j

j

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

p

j

p

j

j

j

Enet

Eo

onet

= − = −

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 xdx

ddx e e e

f x f xx x x

( ) ( ) ( )=+

⎛⎝⎜

⎞⎠⎟=

+−

+⎛⎝⎜

⎞⎠⎟= −− − −

11

11

1 11

1 Para una neurona j en la capa de salida se tiene, entonces, ( ) (δ j j j jt o o o= − −1 )j Para una neurona en la capa oculta o en la capa de entrada, se tiene ( ) ( )∑ δ−=δ

kjkkjjj wo1o

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 oij j i= ηδ

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 o w hij j i ij= + −ηδ α∆ ( )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

( )E E t opp

P

pi pii

M

p

P

= = −⎛⎝⎜

⎞⎠⎟

= ==∑ ∑∑

1

2

11

12

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 ofRelevant Variables

Initial Neural NetworkStructure Definition

Structural and ParametricOptimization

ModelValidation

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

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

−1 y k( )− 2 ...,Xi: y k( ), , y( ),k na− u k nk1( ),− u k nb nk1 1 1 1( ),..., − − + )

..., u k nknu nu( )− ...,,

u k nb nknu nu nu( )− − +1

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

35

IDENTIFICACION CON REDES NEURONALES Modelación directa

Proceso

Algoritmode Aprendizaje

M

yp

ym

u

d d’

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)

( ))1nt(u,),t(u),1nt(y,),t(yf)1t(y ppp +−+−=+ …… Red neuronal (Modelo) ( ))1nt(u,),t(u),1nt(y,),t(yf)1t(y ppm +−+−=+ …… donde f es la relación de entrada – salida dada por la red neuronal. Luego de un tiempo adecuado de entrenamiento, se tiene: pm yy ≈

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

( ))1nt(u,),t(u),1nt(y,),t(yf)1t(y mmm +−+−=+ …… Modelación inversa

Proceso

Algoritmode Aprendizaje

M

ypur

ss

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

Proceso

Algoritmode Aprendizaje

C

ypur

M

ym

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:

( ))1nt(u,),1t(u),1t(r),1nt(y,),t(yf)t(u pp1 +−−+−+= − ……

Si no se dispone de yp,

( ))1nt(u,),1t(u),1t(r),1nt(y,),t(yf)t(u mm1 +−−+−+= − ……

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

OperadorHumano

Procesou y

RedNeuronal

Procesou 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

G-1 G y

RedNeuronal

Planta y

yd

yd

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:

))t((g)t(y x=

donde

[ ]T)mdt(u),...,1t(u),nt(y),...,1t(y)t( −−−−−=x

En el instante t = τ, el sistema es linealizado alrededor del punto de operación )(τx , obteniéndose el siguiente modelo aproximado:

)mdt(u~b...)1t(u~b)nt(y~a...)1t(y~a)t(y~

m0

n1

−−++−+−−−−−=

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

43

donde

)i(u)it(u)it(u~)i(y)it(y)it(y~

−τ−−=−−τ−−=−

ni1 para x

))t((gati

i ≤≤∂

∂−=

τ=

x

mi1 para x

))t((gbt1in

i ≤≤∂∂

−=τ=++

x

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:

∑ ∑= =

+⎟⎟⎠

⎞⎜⎜⎝

⎛+=

h xn

1j0

n

1kj0kkjj Ww)t(xwtanhW)t(y

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

∑ ∑= =

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛+−=

∂∂ h xn

1j

n

1kj0kkj

2jij

i

w)t(xwtanh1wW)t(x))t((g x

Por lo tanto, el modelo aproximado está dado por:

⎟⎠

⎞⎜⎝

⎛−τ−−τ+τ+

−+−−=

∑∑

∑∑

==

==

m

0ii

n

1ii

m

0ii

n

1ii

)i(ub)i(ya)(y

)it(ub)it(ya)t(y

donde

⎟⎠

⎞⎜⎝

⎛−τ−−τ+τ=τξ ∑∑

==

m

0ii

n

1ii )i(ub)i(ya)(y)(

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

Proceso

Algoritmo de Aprendizaje

C

ur

Modelo de Referencia

+

-

yr

yp er

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:

0 )t(y)t(ylim prt≥εε≤−

∞→

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

En esta estructura, el error entre yr e yp es usado para entrenar al controlador neuronal.

46

Control por modelo interno

ProcesoC

ypur

M

ym

ys +

-

e F

+

-

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:

Proceso

Predictor

yur

M

y

Optimizador

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)

ProcesoC

ypur

MOptimizador

u’

MR

yr

AA

ym

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:

[ ] [ ]∑∑==

−+∆λ++−+δ=u2

1

N

1i

2N

Nj

2m

r )1it('u)i()t/jt(y)jt(y)j(J

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.

ModeloNeuronal

ModeloLineal

OptimizadorProceso

∆uResp.libre

Resp.forzada

e

yu

yl

+

-

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.

)jt(y)jt(y)jt(y forzadolibre +++=+

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.

( )libreT1T ywG)IGG(u −λ+=∆ −

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:

dfuGy ++∆=

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. *ddd nl += con myy*d −= Entonces, la acción de control está dada por:

)dfr(G)IGG(u T1T −−λ+=∆ −

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

53

DMC Proceso

Modelolineal

Modelono lineal

Modelono lineal

Modelono lineal

y

ym

-d*

-

-fr

-dnl

-

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

54

PRINCIPIOS BÁSICOS DE SISTEMAS NEURO-DIFUSOS

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.

( )xfy entonces B es y x A es xSi :R 112111 =

( )xfy entonces B es y x A es xSi :R 222222 = donde Ai y Bi son conjuntos difusos y

( )( ) 232221212

132121111

zxzxzxf

zxzxzxf

++=

++=

Dado x = (x1,x2) un valor numérico de la entrada, el mecanismo de inferencia difusa produce:

( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( )22122111

2221212111*

xBxAxBxAxfxBxAxfxBxAy

++

=

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

55

A1

A2

B1

π

N

f1

x1 x2

f2

y*x1 x2

O42

O41

Σ

O22

O21

N

O11

O12

O13

O14 πB2

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

O31x1

O32x2

56

La salida de la capa 1 es:

( ) ( ) ( ) ( ) ( )( )2221121114131211 xB,xB,xA,xAO,O,O,O = La capa 2 consiste en neuronas difusa, entonces sus salidas son:

( ) ( ) ( ) ( ) ( )( )221221112221 xBxA,xBxAO,O =

La capa 3 es un normalizador. Su salida es:

( )

( ) ( )( ) ( ) ( ) ( )

( ) ( )( ) ( ) ( ) ( )⎟

⎟⎠

⎞⎜⎜⎝

⎛++

=

⎟⎟⎠

⎞⎜⎜⎝

⎛++

=

22122111

2212

22122111

2111

2221

22

2221

213231

xBxAxBxAxBxA,

xBxAxBxAxBxA

OOO,

OOOO,O

La salida de la capa 4 es: ( ) ( )

( ) ( )( )( ) ( ) ( ) ( )

( ) ( )( )( ) ( ) ( ) ( ) ⎟⎟

⎞⎜⎜⎝

⎛+

+++

++=

=

22122111

232221212212

22122111

132121112111

2321314241

xBxAxBxAzxzxzxBxA

,xBxAxBxAzxzxzxBxA

fO,fOO,O

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

57

La salida resultante es:

( ) ( )( ) ( ) ( )( )( ) ( ) ( ) ( ) ⎟⎟

⎞⎜⎜⎝

⎛+

+++++=

=+=

,xBxAxBxA

zxzxzxBxAzxzxzxBxA

OOy

22122111

232221211212132121112111

4241*

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 son parámetros determinados por el número finito de parámetros , ,

jiA

ia ib ic 2,1i = son los parámetros de las consecuencias. El algoritmo de aprendizaje ANFIS consiste en ajustar el conjunto de parámetros a partir de los datos muestreados ( )kk

2k1 y),x,x( N,...,1k =

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 :

( ))y,x(,),y,x( kk11

donde ( )kn

k1

k x,,xx = ∈ nℜ y ℜ∈ky Las reglas difusas definidas son: D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

59

:Ri Si es y … y es entonces

k1x 1

iA knx n

iA

ik

n

1j

ji zxzy +=∑

=

donde son funciones de pertenencia difusas y son números reales.

jiA j

iz

Sea la salida desde el sistema difuso correspondiente a la entrada .

kOkx

Se considera que el operador AND está dado por el producto, entonces el antecedente de la regla i es:

( )kj

n

1j

ji

ki xA∏

=

Entonces, la salida del sistema es:

∑ ∑

=

= =

α

⎟⎟⎠

⎞⎜⎜⎝

⎛+α

= n

1i

ki

m

1i

n

1j

0i

kj

ji

ki

k

zxzO

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

60

( )∑∏

∑ ∑∏

= =

= ==⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

= n

1i

n

1j

kj

ji

m

1i

n

1j

0i

kj

ji

n

1j

ij

k

xA

zxzAO

Se define la medida del error para el patrón de entrenamiento como: thk

( )2kkk y021E −=

donde es la salida del sistema difuso correspondiente al patrón de entrada e es la salida deseada ,

.

kOkx ky

K,,1k =

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 y t ny u t u t nu( ) ( ( ), , ( ), ( ), , ( ))= − − − −1 1… … donde N es una red neuronal como se muestra en la siguiente figura con n = ny + nu.

y(t)

...

y(t-1)

u(t-1)

y(t-ny)

u(t-nu)

...

a1

an

aif 1

f i

f n

y(t)

...

.....

y(t-1)

u(t-1)

y(t-ny)

u(t-nu)

...

.....

a1a1

anan

aiaif 1f 1

f if i

f nf n

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:

ax r

ii

i

= −−⎛

⎝⎜⎜

⎠⎟⎟exp

2

donde [ ]x y t y t ny u t u t nu= − − − −( ), , ( ), ( ), (1 1… … ) es el vector de entradas de la red, ri son los centros de las unidades radiales, representan los anchos. σ i

La salida de la red está dada por:

∑=

=n

1iiiaf)t(y

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 )1t(ud)1t(ycf)t(y iii −+−==

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:

( )⎥⎦

⎤⎢⎣

σ−−

−=−µ 21

21

Ar)1t(yexp)1t(y(

1

( )⎥⎦

⎤⎢⎣

σ−−

−=−µ 21

22

Br)1t(uexp)1t(u(

1

Entonces, el grado de activación de la regla 1 es:

121

2i

BA1

arx

exp

))1t(u())1t(y()1t(u),1t(y(11

=⎥⎥⎦

⎢⎢⎣

σ−

−=

−µ−µ=−−ω

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 y∑ f

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

y f wxnet e xw= =

+ −( ) 11

b) Datos

p x y 1 -3.0 0.3 2 2.0 0.6

η = 0.9 w(0) = 0.1 1º iteración (con primer conjunto de patrones)

o f wx fe

= = × − =+

=( ) ( . . ) .01 3 0 11

0 42550.3

δ = − −= − × × −

×

( ) ( )( . ) . ( . .11 0 4255 0 4255 0 3 0 4255

o o y o = - 3.069 10-2

)

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

66

D. Sáez, EL650 (2007). ControlNeuronal1: Fundamentos de Redes Neuronales. Dpto. Ing. Eléctrica, U. Chile.

.

∆w x= = × − × × −

×

−ηδ 0 9 3 069 10 3 02. . = 8.2873 10-2

w w w( ) ( ) . .1 0 01 8 2873 10 2= + = + × −∆ = 0.18287

2º iteración (con segundo conjunto de patrones)

o f w x f

e

= = ×

+=−

( ( ) ) ( . . )

.

1 018287 2 01

10590430.36574 =

δ = − −= − × × −

×

( ) ( )( . ) . ( . .11 059043 059043 0 6 059043

o o y o = 2.314 10-3

)

.

∆w x= = × × ×

×

−ηδ 0 9 2 3144 10 2 03. . = 4.166 10-3

w w w( ) ( ) . .2 1 018287 4166 10 3= + = + × −∆ = 0.187036

w* = 0.187036 c)

67

p x y 1 -3.0 0.3 2 2.0 0.6

op = f(wx )p

o1 = × f(w * x ) = f(0.187036 -3.0) = 0.36331

o2 = × f(w * x ) = f(0.187036 2.0) = 0.59242

Entonces, los errores de estimación son: e1 = y - o = 0.3 - 0.3633 = -0.06331 1

e2 = y - o = 0.6 - 0.5924 = 0.00762 2

Entonces, el error de ajuste es:

( )e yi

==∑1

22

1

2i i- o = 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.