redes neuronales como memorias asociativas difusas

57
Metodos Neuronales En Sistemas Difusos Redes Neuronales Como Memorias Asociativas Difusas (FAM)

Upload: escom

Post on 18-Jul-2015

3.140 views

Category:

Education


1 download

TRANSCRIPT

Metodos Neuronales En Sistemas Difusos

Redes Neuronales Como Memorias Asociativas Difusas (FAM)

FAM (Fuzzy Associative Memory)

• Propuestas por B. Kosko en 1987.

• La topología de esta red es semejante a la de otras memorias asociativas,

• BAM (Bidirectional Associative Memory)

y• TAM (Temporal Associative Memory).

Operación

• Estas redes almacenan (aprenden) parejas de vectores (A1; C1), (A2; C2),... (AP; CP), y, además de permitir posteriormente recuperar un vector Ci a partir de un incompleto Ai de entrada, también permiten hacerlo en sentido contrario; es decir, recuperar un vector Ai a partir de una entrada Ci incompleta.

Aprendizaje

• En la red FAM el aprendizaje es OFF-LINE de tipo hebbiano.

• El proceso de ajuste de los pesos durante el entrenamiento cuando se presentan P parejas de vectores del tipo,

( ) ( ) ( )( ) ( ) ( )( )kM

kkN

kkk ccaaCA ,,,,,, 11 =

Aprendizaje

• Que deben ser almacenados en la red es:

• Teniendo N neuronas en la capa A, y M neuronas en la capa C.

• La red FAM sólo almacena una pareja (A, C).

CAW T = ( )ji ca ,mínw ij =

Subredes que componen a las FAM

Subredes FAM

• Cuando se utiliza la capa A como entrada, se trata de una red asociativa que, a través de los pesos W, genera como salida C el patrón asociado al de entrada, fig. (a). Cuando la capa de entrada es C, se genera como salida a través de los pesos V el patrón asociado al de entrada B, fig. (b).

La matriz de pesos entre las neuronas de la capa A y C:

• Los pesos de las conexiones de las neuronas de la capa C hacia las de la capa A son iguales a los de las conexiones de A hacia C.

=

MNNNN

M

M

wwww

wwww

wwww

W

321

2322212

1312111 ( ) ( ) ( )( )( ) ( ) ( )( )k

Mkk

k

kN

kkk

cccC

aaaA

,,,

,,,

21

21

=

=

• Es decir vij = wji, con lo que la matriz de pesos V coincidiría con la transpuesta de W: V = WT.

==

=

MNMMM

N

N

T

NMMMM

N

N

wwww

wwww

wwww

W

vvvv

vvvv

vvvv

V

321

2232221

1131211

321

2322212

1312111

Finalizado El Aprendizaje

• Se pueden utilizar estas redes como memorias asociativas para recuperar la información que almacenan.

• Presentar a la entrada de la red un vector A o C, que corresponda exacta o parcialmente con alguno de los utilizados en el entrenamiento.

Funcionamiento de las redes FAM

• Las funciones de activación de las neuronas en las redes FAM son de tipo lineal, con lo que la salida coincide con la entrada neta.

• • NETC netcj scj(t+1) NETA Netai Sai(t+1)

WA ( ){ }jii

N

iwa ,mínmáx

1=

TWC ( ){ }ijj

M

jwc ,mínmáx

1=

Funcionamiento• La red FAM es una memoria asociativa

que utiliza el operador lógico difuso denominado composición, tanto en el aprendizaje como durante su funcionamiento. Esta red es útil para almacenar una regla de control difusa como por ejemplo:

Regla R: SI (x es A) ENTONCES (y será C)

• Durante la fase de entrenamiento se aplica el algoritmo de aprendizaje Hebbiano difuso (ver tabla 3.2) para registrar en los pesos de la red las funciones de pertenencia a los conjuntos difusos A y C.

• Previamente se deberá expresar de forma discreta estas funciones continuas, ya que en los pesos se registrarán de esa forma.

• Por ejemplo en un control difuso para un ventilador, se podría considerar discretizado el rango de temperaturas posibles, tomando un número limitado de valores para definir las funciones de pertenencia.

• Este número de valores coincidirá con el de neuronas de entrada de la red FAM. En la siguiente, Fig. (a), se muestra una posible discretización de las funciones, considerando únicamente las temperaturas 15°C, 18°C, 21°C, 24°C, 27°C y 30°C.

• Para simplificar los cálculos, se van a considerar sólo 3 conjuntos difusos (FRESCA, AGRADABLE, CALIDA) y un rango de 15°C a 31°C.

a)

b)

• En cuanto a los conjuntos difusos de la velocidad del ventilador, sólo se van a considerar tres (LENTA, MEDIA, RAPIDA) y un rango de valores posibles entre 20 y 40 rpm, discretizado en los valores 20, 25, 30, 35, y 40 rpm (ver Fig. (b) anterior).

• Por tanto, los conjuntos difusos estarían formados por los siguientes valores discretos:

• • *TEMPERTURA:• Fresca = {15, 18, 21}; Agradable{18, 21,

24, 27}; Cálida = {27, 30}• • *VELOCIDAD• Lenta = {20, 25, 30}; Media={20, 25, 30, 35,

40}; Rápida = {30, 35, 40}

• Y las reglas de control difuso serían:

• REGLA 1: SI (Temperatura es fresca) ENTONCES (Velocidad será lenta)

• REGLA 2: SI (Temperatura es agradable) ENTONCES (Velocidad será media)

• REGLA 3: SI (Temperatura es cálida) ENTONCES (Velocidad será rápida)

Red FAM para almacenar una regla de control

• Si se desea utilizar una red FAM (ver Fig. anterior) para almacenar una de estas reglas, por ejemplo la 2, se procederá de la siguiente forma:

• Se crean los vectores A y C para registrar la forma de las funciones de pertenencia del conjunto del antecedente (temperatura AGRADABLE) y del consecuente (velocidad MEDIA), respectivamente.

• Estos vectores contienen los valores de las correspondientes funciones para cada una de las temperaturas y velocidades en que han discretizado estos dominios.

• En el caso de la temperatura, puede comprobarse a través de la figura (a) que estos valores son:

( ) ( ) ( )

( ) ( ) ( ) 0.03033.02783.024

67.02117.0180.015

===

===

AGRADABLEAGRADABLEAGRADABLE

AGRADABLEAGRADABLEAGRADABLE

µµµ

µµµ

• Para las velocidades, según la figura (b), los grados de pertenencia de los valores discretos al conjunto de velocidad MEDIA serían:

( ) ( )( ) ( ) ( ) 0.04062.0350.130

62.0250.020

=====

MEDIAMEDIAMEDIA

MEDIAMEDIA

µµµµµ

• Por tanto, los vectores A y C que se utilizarán en la fase de aprendizaje de la red FAM serán:

( ) ( )( ) ( )0,62.0,1,62.0,0,,,,

0,33.0,83.0,67.0,17.0,0,,,,,

54321

654321

====

cccccC

aaaaaaA

• Ya se puede aplicar al algoritmo de aprendizaje hebbiano difuso indicado en la tabla 1 para calcular los pesos de la red FAM:

( )jiji

MNNNN

M

M

T

caminw

wwww

wwww

wwww

CAW

,

321

2322212

1312111

=

==

Pesos De La Red FAM2

( )

=

=

00.017.017.017.000.0

00.033.033.033.000.0

00.062.083.062.000.0

00.062.067.062.000.0

00.017.017.017.000.0

00.000.000.000.000.0

00.062.000.162.000.0

00.0

33.0

83.0

67.0

17.0

00.0

W

• Una vez establecidos los pesos, ya se puede utilizar la red como memoria asociativa, siendo su funcionamiento el descrito por la siguiente expresión difusa:

WEC A =′

• Se aplicará un vector de entradas:

• en las neuronas de la capa de entrada y al propagando la entrada a través de las conexiones con pesos W, se obtiene un vector:

• en las neuronas de la capa de salida.

( )654321 ,,,,, aaaaaaEA =

( )54321 ,,,, cccccC =′

Utilidad de las redes FAM

• La utilidad de este tipo de redes se pone de manifiesto si se emplean varias de ellas para formar la base de reglasde un sistema de control difuso.

• Se usaría K redes FAM, una para cada regla del tipo regla i: SI (x es ai) ENTONCES (y será ci), todas ellas con N neuronas en la capa de entrada (que en este caso sería ai) y M en la capa de salida (ci).

Esquema Funcional De Un Controlador Difuso Basado En

Redes Neuronales

• Al evaluar las reglas se debe añadir a la salida una nueva capa de M neuronas (denominada SUM) con función de activación lineal, que reciba los subconjuntos difusos extraídos de cada red FAMi.

• Con lo anterior se realiza la suma de todos los subconjuntos para obtener un conjunto global, unión de los anteriores, que permita posteriormente, utilizando alguna de las conocidas técnicas de defusificación y calcular el valor concreto de salida (y) del sistema.

Defusificación

• Utilizando el método del centroide al trabajar con valores discretos, la expresión matemática sería:

=

==M

iC

M

iCi

i

i

S

Syy

1

1

Donde:

• es el grado de pertenencia de la muestra

i-ésima del rango de valores discretos en que se ha dividido el dominio de salida al nuevo conjunto global C:

iCS

( )iCC ySi

µ=

• Este valor coincidirá con la salida de la neurona i de la nueva capa de neuronas (SUM) que se ha añadido a la batería de redes FAM.

• La Estructura del módulo de evaluación de reglas de control difusas se muestra acontinuación:

Continuando El Ejemplo

CONTROLADOR DE LA VELOCIDAD DE UN VENTILADOR

EN FUNCIÓN DE LA TEMPERATURA

Diseño

• Para poder comprobar qué velocidad habría que aplicar cuando la temperatura es, por ejemplo de 18°C, habrá que terminar de diseñar el resto de redes FAM que almacenan las reglas.

Reglas y funciones de pertenencia de los conjuntos difusos del ejemplo

• Los vectores de entrenamiento (Ai, Ci), que representan los conjuntos difusos de temperatura y velocidad, son:

• REGLA i:• SI (x es Ai)

ENTONCES (y será Ci)

Regla 1

• R1: A1 = FRESCA

C1 = LENTA

• Para Ai : ( 1, 0.5, 0, 0, 0, 0)

• Para Ci : (1, 0.62, 0, 0, 0)

Regla 2

• R2 A2 = AGRADABLE

C2 =MEDIA

• Para Ai : (0, 0.17, 0.67, 0.83, 0.33, 0)

• Para Ci : (0, 0.62, 1, 0.62, 0)

Regla 3

• R3: A3 = CALIDA

C3 = RAPIDA

• Para Ai : (0, 0, 0, 0, 0.33, 0.83)

• Para Ci : (0, 0, 0, 0.62, 1)

Los Pesos De La Red FAM1

son:

( )

=

=

00.000.000.000.000.0

00.000.000.000.000.0

00.000.000.000.000.0

00.000.000.000.000.0

00.000.000.050.050.0

00.000.000.062.000.1

00.000.000.062.000.1

00.0

00.0

00.0

00.0

50.0

00.1

1 W

Los Pesos De La Red FAM3

Son:

( )

=

=

83.062.000.000.000.0

33.033.000.000.000.0

00.000.000.000.000.0

00.000.000.000.000.0

00.000.000.000.000.0

00.000.000.000.000.0

00.162.000.000.000.0

83.0

33.0

00.0

00.0

00.0

00.0

3 W

• Los pesos de las conexiones entre las neuronas de salida de la batería de reglas FAM y las neuronas de la capa final (SUM) del módulo de evaluación de reglas se van a fijar a valor 1, lo que quiere decir que se va a dar la misma importancia a todas las reglas almacenadas.

Entrada De 18°C (X = 18).

• En primer lugar, este valor pasaría al módulo de fusificación. La función de dicho módulo, en este caso, será la de generar un vector de entrada a la red donde se indique la temperatura discreta más cercana al valor de entrada.

• En este ejemplo, los valores discretos posibles que se habían considerado para la temperatura eran 15°C, 18°C, 21°C, 24°C, 27°C, 30°C, por lo que, como x =18, es evidente que el más cercano es precisamente el mismo valor.

• En el vector que se genera existirán tantas componentes como temperaturas posibles (en este caso, 6), número que será igual al de neuronas de la capa de entrada de las redes FAM.

• Las componentes de este vector serán todas cero, excepto la que coincida, o sea más cercana, con el valor de entrada (x).

• En el ejemplo. Si x =18, la componente con valor 1 será la segunda del vector:

( )000010=AE

• Dicho vector se aplica como entrada a todas las redes FAM de la base de reglas del sistema de control difuso, obteniéndose las siguientes salidas en estas redes:

( )( )( )0.000.00,0.00,0.00,0.00,

0.000.17,0.17,0.17,0.00,

0.000.00,0.00,0.50,0.50,

==′==′==′

33

22

11

WEC

WEC

WEC

A

A

A

• Cada una de estos vectores representa la función de pertenencia de los subconjuntos difusos a los que pertenecerá la salida, en este caso velocidad, del sistema

Subconjuntos difusos para la velocidad cuando la temperatura es de 18°C

• El primero de ellos representa un subconjunto de velocidad LENTA, al que pertenecerá en un 50% el valor final de la velocidad al ser la temperatura de 18°C un 50% FRESCA; el segundo es de velocidad MEDIA, al que pertenecerá en un 17% por ser un 17% AGRADABLE, y el tercero es RAPIDA, al que no pertenecerá en absoluto la velocidad del ventilador cuando la temperatura es de 18°C.

• La salida total de la red se obtiene mediante la suma de estos tres vectores multiplicados por los pesos de las conexiones de las neuronas de salida de las subredes FAM y las de la capa de salida (SUM) de la red, que en este caso tenían el valor de 1 al considerar de igual importancia todas las reglas:

( )0.000.17,0.17,0.67,0.50,=⋅′+⋅′+⋅′= 111 321 CCCSC

Función de pertenencia global y centroide

( )( )( )( )( ) 00.040

17.035

17.030

67.025

50.020

=====

µµµµµ

Defusificación

• El último módulo del sistema se encarga de la defusificación de la salida. Si el método es el del centroide, la velocidad de salida obtenida es:

rpmy 03.2500.017.017.067.050.0

00.04017.03067.02550.020 =++++

⋅+⋅+⋅+⋅=

• Por ultimo, hay que indicar que las redes FAM también pueden utilizarse en sistemas de control con algunas entradas que utilizan reglas de control con varios antecedentes.