Capítulo 4 Modelado de sistemas dinámicos utilizando ...

26
4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 81 Capítulo 4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares En este capítulo se consideran las redes neuronales modulares para modelar sistemas dinámicos no lineales. Se describe un mecanismo de modelado que utiliza las técnicas evolutivas para crear modelos neuronales formados por módulos neuronales. En la primera sección se centra el tipo de redes modulares que se manejará, además de repasar las tendencias más interesantes en este sentido. El problema del aprendizaje en redes modulares merece un tratamiento especial, que le será dado en la segunda sección. La tercera sección presenta las técnicas evolutivas y su adecuación al problema de la optimización de redes modulares. Finalmente, la última sección describe la herramienta de modelado. 4.1 Modelado de sistemas dinámicos con redes neuronales modulares 4.1.1 Redes modulares Las redes neuronales modulares (Modular Artificial Neural Networks, MANN) se han estudiado y utilizado desde el inicio de la historia de las redes neuronales (ver, por ejemplo, los trabajos de Albus y de Fukushima). Sin embargo, no ha sido hasta recientemente que han empezado a recibir un tratamiento diferenciado de las ANN sencillas. De hecho, en los últimos años han sido protagonistas de números especiales en revistas ([Shar-96] y [Shar-97]) y de libros dedicados ([Petri-98] y [Shar-99]). Dentro de las MANN se diferencian, principalmente, dos grupos operacionales: los ensembles de redes y las redes modulares. En los primeros, cada módulo obtiene una solución del

Transcript of Capítulo 4 Modelado de sistemas dinámicos utilizando ...

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 81

Capítulo 4

Modelado de sistemas dinámicos utilizando técnicas evolutivasy redes neuronales modulares

En este capítulo se consideran las redes neuronales modulares para modelar sistemas dinámicosno lineales. Se describe un mecanismo de modelado que utiliza las técnicas evolutivas paracrear modelos neuronales formados por módulos neuronales.

En la primera sección se centra el tipo de redes modulares que se manejará, además de repasarlas tendencias más interesantes en este sentido. El problema del aprendizaje en redes modularesmerece un tratamiento especial, que le será dado en la segunda sección. La tercera secciónpresenta las técnicas evolutivas y su adecuación al problema de la optimización de redesmodulares. Finalmente, la última sección describe la herramienta de modelado.

4.1 Modelado de sistemas dinámicos con redes neuronales modulares

4.1.1 Redes modulares

Las redes neuronales modulares (Modular Artificial Neural Networks, MANN) se han estudiadoy utilizado desde el inicio de la historia de las redes neuronales (ver, por ejemplo, los trabajos deAlbus y de Fukushima). Sin embargo, no ha sido hasta recientemente que han empezado arecibir un tratamiento diferenciado de las ANN sencillas. De hecho, en los últimos años hansido protagonistas de números especiales en revistas ([Shar-96] y [Shar-97]) y de librosdedicados ([Petri-98] y [Shar-99]).

Dentro de las MANN se diferencian, principalmente, dos grupos operacionales: los ensemblesde redes y las redes modulares. En los primeros, cada módulo obtiene una solución del

82 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

problema que se está tratando (por ejemplo: aproximación de funciones, clasificación depatrones, etc.) y la solución global consiste en alguna forma de agregación de todas ellas. Lasredes modulares, por el contrario, resuelven el problema fragmentándolo en problemas mássencillos, cada uno de los cuales es tratado enteramente por un módulo.

Los ensembles de redes están fuertemente enraizados en métodos estadísticos conocidos yestudiados bajo el nombre de combinación de estimadores. En ellos, se busca la mejor forma decombinar un conjunto de respuestas de manera que el resultado final sea más parecido aldeseado que el de cada una por separado. Las respuestas son las que dan las redes neuronales yla combinación tiene como principal objetivo minimizar la correlación entre los errores de losestimadores. Como se puede ver, el propósito de realizar este tipo de combinación es,principalmente, mejorar el rendimiento global.

En este trabajo nos interesa más el segundo tipo de MANN, las que dividen para vencer. Estastambién pueden clasificarse según el método de partición del problema, que puede ser explícitoo automático. En el primer caso, un conocimiento profundo del problema permite subdividirloen tareas conceptualmente separadas y asignarle una ANN a cada una de ellas. Las aplicacionesmás corrientes de partición explícita se dan en el ámbito de la clasificación, y en concreto enreconocimiento del habla (ver [Chen-98], [Ben-92] y [Wai-89] por ejemplo).

Los métodos automáticos de partición del problema, por otro lado, representan el área en la queparece quedar más por explorar. El método que más atención ha atraído es el de la combinaciónde expertos (mixture of experts) en sus múltiples versiones, de las que [Jac-94] es, seguramente,la más conocida.

Una MANN de combinación de expertos (ver figura 4.1) es una red formada por módulosexpertos y un módulo administrador (gating module, en inglés). Los expertos realizanaproximaciones precisas en subespacios de la entrada, de tal manera que cada uno se especializasólo en una parte del problema a resolver. El módulo administrador es quien se encarga dedecidir, en función de las entradas o de otros parámetros, qué experto o expertos generarán lasalida. Las diferentes maneras de combinar expertos no sólo varían en el tipo de ANN queforman tanto los expertos como el administrador (redes supervisadas o no, recurrentes o no,funciones de activación gausianas o sigmoidales, etc.) sino que también varían en el algoritmoque utilizan para dividir el problema y realizar la asignación de crédito a los expertos.

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 83

x1

yd

x2

xn

y1

ym

w1

wm

Móduloadministrador

Móduloexperto 1

Módulo experto m

Fig. 4.1: esquema de una red de combinación de expertos

Por último, las técnicas evolutivas se utilizan también como métodos automáticos de particióndel problema. En [Hap-94] se utilizan módulos que modelan el comportamiento de lasmicrocolumnas biológicas, consideradas frecuentemente como módulos funcionaleselementales. La estructura y los pesos de conexión entre módulos se optimizan mediantetécnicas evolutivas.

4.1.2 Redes modulares e identificación de sistemas dinámicos

Anteriormente se ha apuntado que los campos de aplicación más frecuentes de las MANNestaban en problemas de clasificación.

Efectivamente, existen muy pocas aplicaciones de identificación con redes modulares. Las másdestacables se describen en [Jac-93] y [Nar-97] y ambas están más relacionadas con el controlque con la identificación. La primera consiste en un sistema de control de trayectorias en unrobot de dos articulaciones, utilizando combinaciones de expertos. La segunda es un mecanismode control, también basado en combinaciones de expertos, similar al gain scheduling.

4.2 Aprendizaje en redes neuronales modulares

El aprendizaje en redes modulares neuronales puede llevarse a cabo de forma secuencial ocooperativa. El aprendizaje secuencial consiste en entrenar cada módulo por separado y, cuando

84 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

todos han adaptado sus pesos a valores óptimos de reconocimiento, unirlos en la red modular.Este procedimiento tiene dos inconvenientes importantes. El primero es que el resultado globalno tiene por qué ser óptimo y el segundo, y más importante en este trabajo, es que, para poderrealizarlo, son necesarios los valores deseados en puntos intermedios de la red modular. Estoquiere decir que se necesitan los valores esperados de las activaciones de cada uno de losmódulos, cosa que no siempre está disponible.

El aprendizaje cooperativo, por otro lado, consiste en el entrenamiento global de toda la redmodular. Su mayor inconveniente estriba en la dificultad de mezclar algoritmos diferentes paraobtener uno único que permita el cálculo de los pesos de cada módulo en una red conarquitecturas neuronales diversas.

En el contexto del modelado de sistemas dinámicos es evidente que un algoritmo secuencial esinaplicable. Para ello se precisarían medidas de señales internas al sistema que generalmente noestán disponibles y, por otro lado, tampoco tienen por qué existir. Es necesario, por tanto,utilizar un algoritmo cooperativo.

Los algoritmos cooperativos de aprendizaje en redes modulares descritos hasta el momento,especialmente el expectation-maximization, [Jac-94], y otros menos conocidos ([Elsh-94], porejemplo) están fuertemente condicionados por los tipos de módulos y sus formas deinterconexión.

El algoritmo presentado en [Cat-94] y [Cat-97] permite mezclar redes de propagación directa yrecurrente. Tiene la ventaja de utilizar, en los módulos recurrentes, el Real Time RecurrentLearning (RTRL), que es un algoritmo que no precisa información sobre las dependenciastemporales entre los datos utilizados para el entrenamiento. Su principal desventaja es que sóloes aplicable si los módulos tienen una estructura determinada, es decir, si están distribuidossegún una primera capa neuronal recurrente y las siguientes de propagación directa. Además, elRTRL es un algoritmo de aprendizaje de alto coste computacional (O(n4), siendo n el número deneuronas).

Por otro lado, existen descripciones de métodos para generar algoritmos de aprendizaje que,aunque no están específicamente orientados a las redes modulares, pueden adaptarse a ellas. Porejemplo, en [Wan-96] se utiliza una transformación gráfica que, de forma sencilla, permite lacreación de algoritmos de aprendizaje (de descenso del gradiente) para estructuras neuronalesarbitrarias. El mayor inconveniente que plantea es que, en el caso de aplicarse a estructuras nodescritas de antemano, es necesario incorporar las reglas de transformación en el algoritmo.

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 85

En [Bot-91], se describe un método genérico para la creación de algoritmos de aprendizajecooperativos en redes modulares, planteado a partir de restricciones de la operación de cadamódulo en forma lagrangiana. En él, los módulos pueden tomar formas muy diferentes, desderedes feedforward hasta módulos de programación dinámica u otros métodos no necesariamenterelacionados con las ANN. Los principales requisitos para poder aplicar esta metodología sondos: el patrón de conexiones en la red modular no puede contener conexiones hacia atrás(recurrencia) y la función que realiza cada módulo ha de ser diferenciable, para realizar undescenso de gradiente sobre la función de coste.

Un resultado interesante es que, cuando cada módulo de la MANN corresponde a una neurona,el algoritmo de aprendizaje cooperativo resulta ser backpropagation. Esta metodología se aplicaen [Fogel-93] de forma parcial. Es decir, primero se entrenan los módulos secuencialmente ydespués en forma cooperativa. Los resultados que obtienen en aplicaciones de reconocimientode caracteres y caras humanas son muy positivos.

El algoritmo que se propone en este trabajo se divide en dos niveles: el nivel intermodular y elnivel intramodular. Respecto al aprendizaje intramodular se utilizan los algoritmos clásicos. Enredes de propagación directa se puede utilizar backpropagation (BP), o cualquiera de susvariantes: delta-bar-delta (DBD), quickprop (QBP), etc; y para las redes recurrentes se puedeutilizar backpropagation through time (BPTT) o cualquiera de sus variantes.

El aprendizaje intermodular se lleva a cabo mediante una extensión de BP a las redes demódulos, tal y como se explica seguidamente.

4.2.1 Conceptos básicos de BP y BPTT

Se resumen aquí los conceptos fundamentales de BP y BPTT para entender el funcionamientodel algoritmo global de aprendizaje. En la figura 4.2 aparece un fragmento de una red neuronal,útil para comprender el orden de precedencia entre las variables de los cálculos y los símbolosque se emplean a continuación.

xini nj nk

wjixj

wkj

Fig. 4.2: fragmento de una red neuronal y símbolos

86 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

En las redes feedforward existen dos fases diferenciadas: la propagación hacia delante y lapropagación hacia atrás. En la primera se calcula la activación de cada neurona según

( )jjIi

ijijj sfxwfx =

= ∑

(4.1)

siendo fj la función de activación de cada neurona (sigmoidal, identidad, etc.) e I el conjunto deíndices de las neuronas que entregan su salida a la neurona j.

La fase de propagación hacia atrás consiste en el cálculo de “las deltas”, factor relacionado conel gradiente del error:

( ) ∑∈

⋅=Kk

kjkjjj wsf δδ ' (4.2)

siendo ahora K el conjunto de índices a los que la neurona j entrega su salida. Existe un caso en

el que δj toma valores especiales, las neuronas de salida, y se calcula según:

( ) ( ) ( )jjjjjjjj xxdsfesfout −⋅=⋅= ''δ (4.3)

Es decir, en las neuronas de salida se utiliza el error, que es la diferencia entre la salida deseada,xdj, y la salida real, xj.

Finalmente es posible modificar los pesos, siguiendo la dirección contraria al gradiente del errorutilizando:

ijji

ji xw

Ew ηδη =

∂∂=∆ (4.4)

En BPTT el algoritmo es similar. La única diferencia estriba en que la red sobre la que secalculan tanto las deltas como los demás parámetros es una versión “desplegada en el tiempo”de la red recurrente. La figura 4.3 muestra una red recurrente de dos neuronas y su versióndesplegada en el tiempo. Puesto que las ecuaciones del algoritmo de aprendizaje son análogas alas de BP, se ilustrarán con un ejemplo los cambios que introduce contemplar el tiempo. Vamosa calcular la derivada del error, en el instante k, con respecto al peso w2,in, el que conecta laentrada con la neurona 2.

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 87

x(k) y(k)

x2(k-1)

x1(k)

x(k-2) x(k-1) x(k)

y(k-2) y(k-1) y(k)

k-2

x2(k-2) x2(k-1) x2(k)

k-1 k

Fig. 4.3: red recurrente y su versión desplegada en el tiempo

La activación x2(k) se calcula a partir de la entrada y de la activación en el instante anterior:

( ) ( ))()1()()( 22222,222 ksfkxwkxwfkx inin =−⋅+⋅=

En vez de una delta se calculan D+1 deltas:

( ) 0)()(')( 2,222 =⋅⋅= ∑i

ii wkksfk δδ

( )

( ) ( ) Dnwnkwnknksf

wnkwnknksfnkj

jji

ii

..1)1()1(0)('

)1()()(')(

22212122

2,2,222

=⋅+−+⋅+−+⋅−=

=

⋅+−+⋅−⋅−=− ∑∑

δδ

δδδ

El parámetro D indica el orden de la dependencia temporal entre datos. Finalmente, en laderivada del error contribuyen todas las deltas:

∑=

−⋅−=∂

Dnin

in

nkxnkw

E

..02

,2

)()(δ

Queda claro, por tanto, que la variación de un peso depende de las activaciones y errores en elinstante k y de las activaciones en los instantes anteriores.

Así como la comprensión conceptual de BPTT es sencilla, si se entiende lo que se hace en BP,la realización algorítmica es algo confusa y se remite al lector a las fuentes originales para másdetalles, [Rum-86].

88 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

4.2.2 Aprendizaje modular (Modular BackPropagation, MBP)

MBP, Modular BackPropagation, es un algoritmo diseñado a propósito en este estudio quepermite el aprendizaje en redes neuronales modulares. Su tarea es la de gestionar el aprendizajede los módulos, que utilizan algoritmos de descenso de gradiente.

MBP está especialmente indicado para entrenar redes en las que se sigue un patrón deconexiones entre módulos hacia adelante. Éstos pueden ser, internamente, recurrentes o depropagación directa. Se suponen módulos con una entrada y una salida, pero extender elalgoritmo a múltiples entradas y salidas es inmediato.

M1

M2

M3

M4 M5

Fig. 4.4: red modular de 5 módulos, los módulos 3 y 4 son recurrentes

MBP se basa, igual que BP, en una fase de propagación hacia delante y otra de propagaciónhacia atrás. Dada una red modular (por ejemplo la de la figura 4.4), se requiere, en primer lugar,calcular el orden de precedencia entre módulos (ver figura 4.5). Para ello se crea la lista

[ ]MpppP K,, 21= , que indica que es necesario conocer la salida del módulo pi para obtener

la entrada de cualquier módulo pj con j > i.

M1 M2 M4 M5M3

Fig. 4.5: la misma red ordenada dispuesta en un posible orden de precedencia

Un módulo Mj realiza una transformación (estática o dinámica) de sus entradas mediante lasiguiente relación

)( pjpjpj inFout =

y la entrada se calcula según

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 89

∑<

⋅=pjpi

pipjpipj aoutin ,

La matriz A = {aij} es la matriz de adyacencia de la red modular y aij = 1 si Mj entrega su salidaa Mi, sino vale cero.

Puesto que, para cada patrón de entrada a la red existe un patrón de salida deseada, es posiblecalcular el error asociado a la salida de cada módulo:

<⋅∆

=−= ∑

>Mj

pjpkpjpkpk

Mjpj

pj ppak

ppkoutktargetkerror

,)(

)()()(

y ∆pk(k) es la delta equivalente en la entrada del módulo pk que, recordemos, se obtiene con:

∑ ∑∑= ∈=

⋅−=−=∆Dn Jj

injjDn

inpj wnknkk..0

,..0

)()()( δδ

es decir, a partir de las deltas de las neuronas que reciben la entrada, calculadas con BP o BPTT.

MBP, sin embargo, no lleva a cabo los cálculos del aprendizaje. La tarea de MBP es gestionartoda esta información y permitir el correcto aprendizaje de una red modular, utilizando comoherramientas de cálculo los algoritmos BP, BPTT y sus modificaciones más habituales (delta-bar-delta, quickprop, alopex, etc.)

Un módulo neuronal lleva asociada la siguiente información:

– La matriz de pesos: W = {wij}

– La matriz de derivadas del error respecto a cada peso: ∂E = {∂E/∂wij}

– Las activaciones de las neuronas: xi(k), ..., xi(k-D)

– Las derivadas de las activaciones: fi’(si(k)), ..., fi’(si(k-D))

– Las deltas: δi(k), ..., δi(k-D)

– Otra información dependiente del algoritmo de aprendizaje

Se define contexto(m, t) a la información necesaria para calcular la salida, outm, de un módulo y

la delta equivalente a su entrada en un paso de propagación atrás, δin(k-t)

{ })(),1(),()),(('),(),( kWtktktksftkxtmcontexto iiiii +−−−−= δδ

90 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

Así pues, la tarea de MBP consiste en escoger en cada momento el contexto a tratar, generar losdatos necesarios para calcular la propagación directa o la inversa y activar el algoritmo deaprendizaje correspondiente sobre ese módulo.

Consideremos una red modular de cinco módulos (como la de las figuras 4.4 y 4.5) con D = 2,es decir, con una dependencia temporal de dos muestras entre datos. Pues bien, para entrenaresta red es necesario manejar simultáneamente la información de 5·(2+1) = 15 contextos.

La propagación hacia adelante, para un patrón k, se resume en el siguiente algoritmo:

para j desde 1 hasta M

∑<

⋅=pjpi

pipjpipj aoutin , (el módulo de entrada cumple outp1 = entrada)

Activar contexto(pj, 0)

)( pjpjpj inFout =

fpara

La propagación hacia atrás se realiza desplegando la red modular en el tiempo y se resume en elsiguiente algoritmo:

para t desde 0 hasta D

para j desde M hasta 1

<⋅

=>==−

=

∑ ∑>

Mjpjpk

pjpkpkin

Mj

Mjpj

pj

ppatk

ppt

pptkoutktarget

terror

para)(

,0para0

,0para)()(

)(

,)(δ

Activar contexto(pj, t)

δin(pj) = propagación atrás(Mpj)

fpara

fpara

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 91

Continuando con el ejemplo anterior, veamos como se calculan algunos valores interesantespara ilustrar el funcionamiento de MBP. En la figura 4.6 aparece la red modular, en el patrón k,desplegada en el tiempo hacia atrás dos veces. Como ya se ha comentado y se puede observar,esta red utiliza la información de 15 módulos.

t=0

t=-1

t=-2

Conexiones recurrentes

Conexiones recurrentes

M1 M2 M4 M5M3 Patrón k

Fig. 4.6: red modular desplegada en el tiempo desde k-2 hasta k

El orden de precedencia, según la disposición propuesta, es P = [1, 3, 2, 4, 5], pero tambiénsería válido P = [1, 2, 3, 4, 5]. La propagación hacia adelante calcula la salida de la red según:

( ) ( ) ( )( )( ))(()(()(()( 131241255 kinFFkinFFFkinFFFoutkout ++==

En t = -1, error3(-1) = δin(4)(-1). Pero, puesto que M3 es un módulo recurrente, para calcular

δin(3)(-1), el algoritmo de aprendizaje necesita tener acceso a las deltas de las neuronas delmódulo en t = -1 y en t = 0, tal como se indica en la figura 4.6 con las flechas claras.

Por otro lado, en t = -2,

error2(k) = δin(4)(-2) + δin(5)(-2)

Sin embargo, como que error5(-2) = 0 δin(5)(-2) = 0 forzosamente, por tanto,

error2(k) = δin(4)(-2)

92 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

4.2.2.1 Coste computacional de MBP

En este apartado se compara el coste computacional (en cálculo y memoria) del algoritmo MBPcon el de BP, para redes de propagación directa, y BPTT, para redes recurrentes. En estacomparación se consideran MANN y, con los algoritmos clásicos, se supone la interconexión detodos los módulos como una sola red global. La ANN global es, en general, recurrente (porcontener algún módulo recurrente) y debe simularse utilizando BPTT o RTRL (o cualquier otroalgoritmo de aprendizaje que permita recurrencia). Con MBP, por otro lado, se simula cadamódulo utilizando el algoritmo de aprendizaje más adecuado para su caso.

Dada una red modular de N neuronas, el coste computacional, en cálculo y memoria, debackpropagation es:

NNNNNN

NN

32 :memoria,2 :cálculo total

22

3 :atrás hacian propagació

22:adelante hacian propagació

222

2

++

+

+

La misma red entrenada con backpropagation through time, con dependencia temporal de Dperiodos de muestreo entre los datos, tiene los siguientes costes computacionales:

NN

NDND

NDND

NN

112 :memoria total

)2()22( :cálculo total

)1()12( :atrás hacian propagació

:adelante hacian propagació2

2

2

2

++++

++++

El cálculo de los costes con MBP es más difícil de establecer, porque depende del número,tamaño y tipo de los módulos de la red modular. Para obtener cotas superiores e inferiores delos costes se han tenido en cuenta dos casos. En el primero, todos los módulos son depropagación directa (y se entrenan con BP) y en el segundo todos son recurrentes (y utilizanBPTT). Se considera, ahora, que la red tiene m módulos, que ni es el número de neuronas de

cada módulo y que se cumple, consecuentemente que ∑= inN . El coste computacional en el

primer caso es

NNm

nNm

nnmm

nnmm

mi

m

ii

m

ii

523 :memoria total

22 :cálculo total

2

3

2

3

22 :atrás hacian propagació

2222:adelante hacian propagació

2

22

22

22

++

++

+++

+++ ∑

y en el segundo caso es

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 93

NDNm

nDNDm

nnDmm

nnmm

mi

mii

mii

)52(23 :memoria total

)22()32( :cálculo

22)1(22

222

22

22

22

+++

++++

++++

+++ ∑∑

Resulta complicado extraer, de estas expresiones, resultados cuantitativos respecto a laeficiencia de uno u otro método. Sin embargo, es posible dar conclusiones de tipo cualitativoobservando que m puede variar desde 1 hasta N.

Para m = 1 tenemos una red compuesta por un solo módulo. En este caso el coste de MBP paraentrenar una red monolítica es

BPTT móduloun para )22()32()22()32(1

BP móduloun para 22221

22

22

NDNDnDND

NNnN

mi

mi

+++=++++

+=++

que, asintóticamente (N → ∞), tiene el mismo coste que el algoritmo monolítico.

Cuando m = N tenemos una red con módulos de una sola neurona. El coste de MBP ahora es

BPTT módulos para )54(1)22()32(

BP módulos para 4122

222

222

NNDNDNDN

NNNNN

N

N

++=++++

+=++

Aquí se observa que el peso de cálculo recae principalmente en la gestión de MBP, más que enlos algoritmos que éste pueda llamar, como era de esperar por el hecho de tener tantos módulosen la red. Por otro lado, es computacionalmente más eficiente que la ejecución como una únicared.

Aparte de estos casos extremos, en los que la diferencia no parece justificar plenamente lautilización de MBP, la figura 4.7 refleja la diferencia entre MBP y BP para diferentes valores deN y m, suponiendo que la red es toda de propagación directa.

94 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

5 10 15 20 25 30 35 402

4

6

8

10

12

14

16

18

20

200

100

100 0

0

-100

-100

-200

-200

-400

-400

Fig. 4.7: diferencia entre MBP y BP, el diagrama de contornos refleja la curva cero

Se observa en la gráfica tridimensional que ésta toma, en general, valores negativos. Eldiagrama de contornos destaca con más nitidez la curva que separa la parte negativa de lapositiva, y se observa que, solamente para números de neuronas pequeños y cantidades demódulos grandes, es menos eficiente la implementación de MBP. Por otro lado, estos casos sonpoco significativos, puesto que no tiene sentido una red con más módulos que neuronas.

5 10 15 20 25 30 35 402

4

6

8

10

12

14

16

18

20

0

0 -100

-100

-200

-400

Fig. 4.8: diferencia entre MBP y BPTT, el diagrama de contornos refleja la curva cero

En la figura 4.8 se observan unos resultados similares, más acusados, para el caso de redesmodulares compuestas por módulos recurrentes.

Para finalizar este apartado de comparación entre algoritmos de aprendizaje clásicos y MBPfalta comentar que la situación típica es la de una red modular mixta, en la que convivenmódulos recurrentes y módulos de propagación directa. En ese caso, MBP es más eficiente,todavía, porque los módulos recurrentes aprenden con BPTT y los no recurrentes con BP. En laimplementación monolítica toda la red resultante sería recurrente y utilizaría BPTT.

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 95

Por todo ello, el método de simulación y aprendizaje escogido es MBP: módulo a módulo ycada uno con el algoritmo más adecuado a su estructura.

4.3 Técnicas evolutivas como herramientas de optimización y MANN

En el capítulo 2 se ha justificado la utilización de redes neuronales para la modelado eidentificación de sistemas dinámicos. Se han sugerido las redes modulares como una alternativainteresante para minimizar algunos de los efectos menos deseables de las redes simples.También se ha descrito, en este capítulo, un algoritmo de aprendizaje, MBP, capaz de entrenarredes de módulos neuronales eficientemente.

Sin embargo, queda por resolver un problema fundamental para poder plantear un métodointegral de modelado de sistemas no lineales mediante MANN. Se trata de la determinación dela estructura modular del modelo. Es decir, queda por saber cuáles serán los NM que formaránparte del modelo y cómo estarán conectados entre ellos. Este problema es, probablemente, elmás complejo de los que se plantean en este estudio. El espacio de búsqueda es enorme y lahipersuperficie de error poco regular, multimodal y difícil de caracterizar analíticamente. Es, endefinitiva, el clásico problema en el que no existen métodos de búsqueda eficientes.

En esta sección se introducen las técnicas evolutivas de optimización, que son métodosfrecuentemente útiles ante problemas como el planteado. También se esbozan las aplicacionesmás frecuentes de las técnicas evolutivas en el diseño de redes neuronales y, finalmente, sedescribe la programación evolutiva como método para optimizar estructuras de redesmodulares.

4.3.1 Introducción a las técnicas evolutivas de optimización

Las técnicas evolutivas son métodos de optimización inspirados en la evolución natural. Susprincipales características son: operan sobre puntos del espacio de búsqueda (o codificacionesde éstos) en vez de operar sobre la función objetivo; utilizan simultáneamente la informaciónasociada a un conjunto de posibles soluciones; son técnicas con reglas de transiciónestocásticas; y, por último, no garantizan la optimalidad de la solución final (en tiempo finito).

Los primeros trabajos que describen técnicas evolutivas se publicaron a finales de los años 50 yprincipios de los 60, pero tuvieron poca repercusión debido, esencialmente, a la escasa potenciacomputacional del momento, que dificultaba la realización de experimentos. Durante los años70 se dieron, de forma independiente, las bases de dos de las técnicas más conocidasactualmente: los algoritmos genéticos (Genetic Algorithms, GA) y las estrategias evolutivas

96 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

(Evolution Strategies, ES). Los resultados más interesantes, al respecto, son la demostración deconvergencia en una solución óptima para ES, [Born-78], y el schema theorem para GA,[Hol-75]. Éste último fue reinterpretado en lo que se ha venido a llamar el principio delparalelismo implícito de los GA [Gol-89], en que se afirma que la evaluación de m solucionescandidatas está procesando paralela, e implícitamente, m3 soluciones candidatas.

En la actualidad, las técnicas evolutivas están bien fundamentadas (por ejemplo, todas tienen laconvergencia demostrada) y son motivo de publicaciones periódicas y conferenciasinternacionales enteramente dedicadas a ellas. Se remite al lector a alguno de los libros sobre eltema (como [Bäck-96] y [Dav-91]) para profundizar en los resultados teóricos y aplicacionesusuales de las diferentes técnicas.

Seguidamente se explica el funcionamiento básico de un algoritmo genético. En primer lugar, esnecesaria una función a optimizar, f(x), en la que x, que en este contexto se suele llamarindividuo, puede tomar múltiples formas y representa un candidato a solución, o lo que es lomismo, un punto del espacio de búsqueda. En los GA, x se codifica utilizando un vector binario

o real. El conjunto Χ mantiene un número prefijado de soluciones y se suele denominarpoblación de soluciones. El algoritmo consiste en la ejecución de los siguientes pasos:

Crear aleatoriamente la población inicial(Χ)

Evaluar todos los individuos(f, x)

mientras condición de fin<>FALSO hacer

Χ := selección(Χ)

Χ := recombinación(Χ)

Χ := mutación(Χ)

Evaluar todos los individuos(f, x)

Evaluar condición de fin

fmientras

En este algoritmo se destacan dos procesos diferentes: la evaluación de individuos y laaplicación de operadores genéticos. La evaluación consiste en obtener un índice decomportamiento, la bondad, asociado a cada individuo a partir de la función de evaluación f.Una característica muy interesante de las técnicas evolutivas es que la función de evaluación noestá restringida en forma alguna, es decir, no necesita ser derivable o analítica como en otrosmétodos de optimización.

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 97

Los operadores genéticos de selección, mutación y recombinación tienen reglas de transiciónestocásticas y realizan las siguientes tareas: la selección escoge los individuos de mayor bondadpara participar en la siguiente iteración, la mutación altera características de las soluciones; porejemplo, en una codificación binaria cambiaría ceros por unos, y viceversa, en posicionesaleatorias de cada individuo; la recombinación permite combinar dos soluciones (padres) yobtener otras dos que contienen características de sus progenitoras.

4.3.2 Utilización de técnicas evolutivas en la optimización de redes neuronales

Las técnicas evolutivas se pueden aplicar en la optimización de redes neuronales a tres nivelesconceptuales diferentes. El nivel más bajo es el paramétrico, que determina el comportamientoinstantáneo de la red. El segundo nivel es el topológico, que define el rango de comportamientosalcanzable. Estos dos niveles corresponden a características estáticas de una ANN, pesos ytopología. El tercero es el dinámico, que describe el mecanismo de adaptación de la red a suentorno, el conjunto de entradas y salidas que debe aprender. Este nivel se refiere al algoritmo omecanismo de aprendizaje.

La utilización de técnicas evolutivas en la optimización de redes neuronales despertó graninterés a principios de los años 90. Se aplicaban algoritmos genéticos, más frecuentemente quelas otras técnicas evolutivas, para substituir a los algoritmos de aprendizaje clásicos. Losresultados nunca fueron desalentadores, pero estudios más recientes ([Yao-93] y [Koehn-94])demuestran que los algoritmos genéticos no superan a los algoritmos de aprendizaje basados engradiente, sobre todo en problemas no triviales.

La optimización de topologías con algoritmos genéticos es un tema que se ha tratado largamente(tres ejemplos clásicos son [Harp-91], [McD-93], [Mil-89] y uno de los diversos repasos delestado del tema se da en [Kus-94]). Sin embargo, la optimización de topologías con este tipo detécnicas evolutivas da lugar a un problema de difícil solución. Es el problema de codificar la redneuronal de forma que el operador de recombinación genética tenga pleno sentido. Esteproblema, descrito en [Koehn-94], se ha estudiado (por ejemplo, en [Rad-93]) sin llegar aresultados concluyentes suficientemente generales. Aún así, existen otros métodos decodificación, como los que utilizan reglas para generar las ANN, con resultados positivos.

Una aplicación que se ha estudiado poco, a pesar de su gran interés, es la optimización dealgoritmos de aprendizaje con algoritmos genéticos. El experimento descrito en [Chal-90] fue,casi con certeza, el primero que se realizó al respecto, dando lugar a resultados muyinteresantes, como el “redescubrimiento” de la conocida delta rule, aunque también se trata eltema en otros artículos, como [Yao-93].

98 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

4.3.3 Programación evolutiva

El problema de la codificación de las redes neuronales y, en general, de las estructuras de grafosdirigidos, ha planteado grandes controversias respecto a la aplicación de operadores derecombinación en estos tipos de estructuras, como se comenta en el precedente apartado. Anteesta situación, la programación evolutiva (EP, Evolutionary Programming) ha ido emergiendocomo una alternativa válida a los algoritmos genéticos, puesto que ésta tiene como únicosoperadores genéticos la selección y la mutación. La EP surgió a mediados de los años 60 ([Fog-66]) como un método de “adquisición de inteligencia” en el que, de forma automática, sediseñaban autómatas de estado finito para reconocer secuencias de un alfabeto.

Un algoritmo de EP tiene como característica principal que no codifica las solucionescandidatas, sino que trabaja directamente con ellas. Por esta razón es, generalmente, máscomplicado plantear el operador de recombinación genética, de manera que el algoritmoresultante es el siguiente:

Crear aleatoriamente la población inicial(Χ)

Evaluar todos los individuos(f, x ∈ X)

mientras condición de fin<>FALSO hacer

ΧNueva := mutación(Χ)

Evaluar todos los individuos(f, x ∈ XNueva)

Χ := selección(Χ, XNueva)

Evaluar condición de fin

fmientras

Como se puede observar, toda la potencia de búsqueda se deja en manos del operador demutación.

La EP se ha utilizado, con éxito, en la optimización de redes neuronales, especialmente en laoptimización topológica porque resuelve, de forma natural, el problema de la codificación de laestructura neuronal.

En [McD-94] se propone un sistema, basado en EP, de optimización de los pesos deperceptrones (conectados entre sí de forma recurrente para formar filtros IIR) capaz de hacerpredicción en series temporales. En [Ange-94] se describe un sistema que diseña redes

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 99

recurrentes (tanto la topología como los pesos) y se comprueba su funcionamiento en 3problemas de creciente complejidad. Otro ejemplo interesante es [Fog-93]. Finalmente, esinteresante mencionar [Yao-98] como un paso más allá en la optimización de redes neuronalescon EP puesto que aquí se diseñan redes modulares, de tipo ensemble.

El operador de selección se realiza de diferentes formas pero, en general, parte de dos conjuntosde soluciones, de tamaño M, y devuelve un conjunto nuevo, de igual tamaño. Recordemos que,en este punto, las soluciones que recibe el operador de selección han sido evaluadas y, por tanto,es posible compararlas utilizando la bondad obtenida para cada una. Los dos métodos deselección típicos son el elitista y el competitivo. En el primero, se reciben 2·M soluciones, seordenan, y se escogen las M mejores; el resto es descartado. El segundo consiste en generar Mcompeticiones, de las que los ganadores formarán el conjunto seleccionado. Una competición serealiza comparando la bondad de dos o más soluciones extraídas al azar entre las 2·M iniciales.

El operador de mutación suele comprender dos pasos: determinación de la severidad de lamutación y la propia mutación. La severidad se puede calcular como una función de la bondadóptima, de manera que para bondades lejanas a la óptima las mutaciones sean grandes y parabondades cercanas a la óptima las mutaciones sean pequeñas. Cuando el problema a optimizares de tipo numérico, tanto la severidad como la mutación son calculables de forma directa. Porejemplo, la mutación puede realizarse sumando a cada parámetro un valor aleatorio extraído deuna distribución gaussiana centrada en cero y con desviación estándar proporcional a laseveridad. Sin embargo, en otros tipos de problemas, como el de la optimización de topologíasneuronales, es más complicado establecer una relación clara entre bondad y severidad.

En la siguiente sección se describe un algoritmo de programación evolutiva para la modelado eidentificación de sistemas dinámicos no lineales con redes neuronales modulares. En ella seprecisa cómo se han implementado tanto la selección como la mutación y cómo se evalúan lasredes modulares resultantes.

4.4 Descripción de la herramienta de modelado de sistemas no linealescon redes neuronales modulares

En este estudio se ha desarrollado, expresamente, una herramienta para comprobar la viabilidadde los módulos neuronales como mecanismos de modelado de sistemas dinámicos no lineales.

La herramienta de modelado que se describe a continuación está especialmente indicada en laobtención de modelos, basados en redes neuronales, de sistemas construidos a partir deconexiones en serie y en paralelo de características no lineales y sistemas con dinámica lineal.

100 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

Los tipos de características no lineales a los cuales se adapta mejor la identificación con estaherramienta corresponden a las clásicas no-linealidades duras (hard nonlinearities) o acombinaciones de éstas, aunque no se excluyen otros comportamientos.

El proceso de modelado es particularmente útil cuando existe información previa acerca delsistema, porque la búsqueda es esencialmente estocástica y sesgarla en un sentido u otro noplantea ningún inconveniente. Sin embargo, la única información necesaria para realizar elmodelado consiste en un conjunto suficientemente amplio y significativo de datos de entrada ysalida. En este trabajo no se trata explícitamente la metodología de obtención de datos y seaprovecharán otras ya desarrolladas ([Codi-96] y [Esco-97]). El conjunto de datos, S, hay quedividirlo en dos partes disjuntas, SI y SV, que corresponden a los datos de identificación yvalidación, respectivamente. Además, cuando sea posible, el primer subconjunto se dividirátambién en datos para realizar la fase de aprendizaje, SA, y datos para la fase de reconocimientoo test, ST.

Esta herramienta está indicada en sistemas de una entrada y una salida. Los modelos resultantesson redes neuronales modulares, que representan sistemas dinámicos en tiempo discreto y cuyosmódulos serán directamente interpretables como funciones conocidas.

4.4.1 Funcionamiento general de la herramienta de modelado

La herramienta de modelado se basa en dos mecanismos: el entorno de optimización evolutiva yel simulador de MANN. El funcionamiento general, esquematizado en la figura 4.9, se explica acontinuación.

El entorno de optimización evolutiva es el encargado de generar y evaluar soluciones candidatasa resolver el problema de modelado. Estas soluciones son redes neuronales modulares. La tareadel simulador de MANN es doble. Por un lado, calcula las bondades de cada red de la poblacióny, por otro, realiza un corto aprendizaje para adaptar, si es necesario, los pesos modificables delos módulos neuronales.

El simulador de MANN utiliza el algoritmo MBP para gestionar las fases de reconocimiento yaprendizaje en redes neuronales modulares.

Esta herramienta está formada por algoritmos y estructuras de datos programados en C y enMATLAB conjuntamente. En esta sección, más que describir los programas que se hanrealizado, se describen los objetos abstractos que subyacen tras ellos, que son:

– El entorno de optimización evolutiva

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 101

– El simulador de MANN

– El simulador de redes neuronales

– La población de soluciones

Aprendizaje módulo amódulo

mutación

selección

evaluación

Algoritmo EP Simulador MANN

Conversión a MANN

Conversión a grafo de módulos

Fig. 4.9: esquema de funcionamiento de la herramienta de modelado con MANN

4.4.2 Entorno de optimización evolutiva

El entorno de optimización evolutiva, programado en MATLAB, sigue las características de unalgoritmo de programación evolutiva y los objetos que utiliza para representar las solucionescandidatas son grafos acíclicos dirigidos. Estos grafos realizan alguna operación sobre unconjunto fijo de entradas, que depende de la estructura del grafo y de los tipos de nodos que locomponen.

Los grafos que aquí se tratan constan de un nodo de entrada, uno de salida y cero o más nodosintermedios. Los nodos intermedios realizan alguna función sobre el conjunto de entradas quereciben. Los arcos relacionan las salidas de un nodo con las entradas de otro, de forma que un

102 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

nodo al que le llega más de un arco recibe la suma de las salidas de los nodos emisores. Esevidente que, en este trabajo, los nodos corresponden a módulos neuronales y los grafos a redesde módulos, sin embargo, se seguirá empleando la nomenclatura de los grafos puesto que elentorno de optimización evolutiva es genérico, en este sentido.

Aunque el algoritmo genérico de EP ya ha sido explicado, existen ciertas operaciones que, portratar con grafos, requieren aclaraciones adicionales. En concreto la mutación y la inicializaciónse explican seguidamente.

La mutación es el motor de exploración en la EP. Así como los algoritmos genéticos clásicosdisponen de dos operadores diferentes (mutación y recombinación) para descubrir nuevasregiones del espacio de búsqueda y para explorar las conocidas, los EP solamente disponen deloperador de mutación para ambas tareas. Por ello, este operador es más potente que en los GA,realizando cambios a nivel estructural (modificando la estructura del grafo), además de a nivelparamétrico (modificando parámetros de los nodos). En concreto, las operaciones que puedellevar a cabo, con probabilidades ajustables son:

– inserción de un nodo: mutación estructural que añade un nodo al grafo; no modificael comportamiento del grafo puesto que inserta un nodo que no hace nada.

– supresión de un nodo o arco: mutación estructural que elimina un nodo o un arco delgrafo; un nodo es eliminable si solamente tiene un arco de entrada y otro de salida; yun arco es eliminable si los nodos que une no quedan “huérfanos”.

– modificación de la operación de un nodo: cambia la función que realiza uno de losnodos del grafo por otra de las funciones permitidas para los nodos.

– modificación de algún parámetro de un nodo: las funciones que realizan los nodostienen parámetros y esta mutación altera uno de estos valores en un porcentajeprefijado.

En la figura 4.10 se observan ejemplos de mutaciones estructurales válidas e inválidas. Lastransformaciones 1, 2 y 3 corresponden a ejemplos válidos y las transformaciones 4, 5 y 6corresponden a ejemplos no válidos.

La función de inicialización se encarga de generar el conjunto inicial de soluciones, a partir delcual comienza el proceso de optimización. Puesto que es importante que este conjunto seadiverso, la inicialización utiliza las mutaciones estructurales y paramétricas para construirgrafos de tamaños y funcionalidades aleatorias.

En la inicialización, cada solución, que consiste en un grafo vacío (con un nodo de entrada yuno de salida que no realizan ninguna función), sufre un número de inserciones de nodos, que a

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 103

su vez son modificados en las funciones que realizan y en los valores de sus parámetros. Puestoque el número de nodos que se inserta es un valor aleatorio y la selección de la función querealizan los nodos y los parámetros que se modifican son procesos aleatorios, los grafosresultantes cumplen los requisitos de diversidad que se requieren en la población inicial.

mutación 1: inserción de un nodo

mutación 2: supresión de un nodo

mutación 3: supresión de un arco

mutación 4: inserción de un nodo

mutación 5: supresión de un nodo

mutación 6: supresión de un arco

Fig. 4.10: ejemplos de mutaciones permitidas y no permitidas

Finalmente, la evaluación es la función que enlaza el proceso de optimización de grafos con elmundo de las redes neuronales modulares. Para comprender mejor cómo se lleva a cabo laevaluación a través del aprendizaje y simulación de MANN es conveniente conocer mejor comoes el simulador de redes neuronales.

Los operadores (selección, mutación y evaluación) de este entorno de optimización evolutivaestán parametrizados para hacerlos más flexibles. Los parámetros de que consta cada operadorson:

Comunes a todos:

nIndividuos: tamaño de la población.

104 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

Selección:

TournSize: número de individuos que compiten en cada “torneo” de la selección.Valores pequeños favorecen las poblaciones diversas, mientras que valoresgrandes tienden a estancar la búsqueda, puesto que en pocas iteraciones toda lapoblación es idéntica.

Mutación:

TipoMutacion: los tres tipos de mutaciones permitidos (añadir un nodo oconexión, eliminar un nodo o conexión y modificar las características de unnodo) tienen probabilidades fijas asignadas (respectivamente, 0.25, 0.25 y 0.5).

pMutarFuncion: la mutación que modifica las características del nodo puedevariar la función que realiza el nodo (el tipo de NM) o sus parámetros. Esteparámetro permite dar más peso a uno u otro tipo de mutación.

pMutarParametros: es 1 – pMutarFuncion.

maxIncParametro: cuando se modifica un parámetro de un nodo se obtiene suvalor nuevo a partir de una distribución uniforme centrada en el valor antiguo yde anchura 2·maxIncParametro·valorAntiguo.

Evaluación:

fErrorEP: este parámetro permite escoger el criterio de evaluación de losindividuos. Algunos de sus posibles valores son: ISE (suma de errorescuadráticos), IAE (suma de los valores absolutos del error), ITAE (IAEponderada en el tiempo), AIC (Akaike’s Information theoretic Criterion), FPE(Final Prediction Error criterion), MDL (Minimum Description Lengthcriterion), etc.

4.4.3 Simulador de MANN

El simulador de MANN es el programa que implementa el algoritmo MBP. Su tarea principal escrear las redes modulares, gestionar sus fases de aprendizaje y reconocimiento y destruirlas.Cuando se crea una red modular se genera, además, la información acerca del orden derecorrido para propagar un patrón y los contextos que permiten el flujo correcto de datos entremódulos.

Una red de módulos neuronales existe, como objeto de información, en el entorno deoptimización evolutiva y en el simulador de MANN, pero en cada uno recibe un tratamientodiferente.

4 Modelado de sistemas dinámicos utilizando técnicas evolutivas y redes neuronales modulares 105

En el entorno de programación evolutiva la información asociada a cada red de módulosneuronales es un grafo acíclico dirigido, es decir, las conexiones que enlazan los nodos y unadescripción de cada nodo. Esta descripción consiste en el nombre de la función que realiza elnodo y en dos listas con los parámetros fijos y variables de éste. Por ejemplo, un relé conhistéresis requiere, según la ecuación 2.23, 4 parámetros para ser instanciado, por lo tanto, lainformación que contendrá un nodo de tipo relé con histéresis es:

– tipo de función: RELENM

– parámetros variables: α1, α2

– parámetros no modificables: wd, ws

En el simulador de MANN, un grafo se convierte en un conjunto de redes neuronales. Laobtención de estas redes se realiza mediante una tabla estática que asocia la información de unnodo con la del módulo neuronal correspondiente. Cabe recordar que en el capítulo 2 sedescribe cómo son los NMs que se tratan en este estudio y que la transformación de una a otrarepresentación es biunívoca, precisándose únicamente los parámetros fijos, los modificables y laestructura de la red neuronal.

Finalmente, las fases de aprendizaje y reconocimiento se realizan mediante sucesivas llamadasal simulador de redes neuronales. El algoritmo MBP tiene, en este punto, especial relevancia,puesto que su tarea consiste en gestionar los contextos de cada NM para que el simulador deredes neuronales funcione correctamente.

4.4.4 Simulador de redes neuronales

El simulador de redes neuronales es un programa escrito en C que permite la simulación deredes neuronales en las fases de aprendizaje y reconocimiento. En él se llevan a cabo las fasesde aprendizaje y reconocimiento intramodular.

El simulador es capaz de trabajar con redes discretas tanto de propagación directa (feedforward)como recurrentes. Los algoritmos de aprendizaje que incorpora son los ya mencionados BP,DBD, QBP, BPTT, RTRL y otros como alopex (aprendizaje estocástico).

Este simulador no impone restricciones topológicas a las redes que trata; de la misma maneraque es posible definir una red típica de tres capas, es posible definir una red con todas lasneuronas conectadas entre sí o una red más atípica con conexiones poco estructuradas. Tampocoimpone restricciones en las funciones de activación de las neuronas, aunque las únicasnecesarias para simular NMs son la lineal y la sigmoidal.

106 Estudio de redes neuronales modulares para el modelado de sistemas dinámicos no lineales

4.4.5 Poblaciones de redes neuronales modulares

Para terminar esta descripción del entorno de modelado cabe simplemente mencionar que, en elentorno de optimización evolutiva existe, en cualquier momento de un experimento, unconjunto de MANN. Este conjunto es la población de soluciones que, mediante el mecanismopreviamente descrito, pasarán al simulador de redes neuronales y serán evaluadas.

Esta puntualización se hace para poder valorar la complejidad que conlleva un experimento.Para hacernos una idea, una población habitual suele albergar 15 redes modulares. Si cada redcomprende, en media, 8 NMs el simulador neuronal tiene que simular 120 redes neuronalescada generación.