Comparación de la Aplicación de Métodos de Primer ... - DCA - Unicamp

la selección natural y supervivencia del mejor individuo. En la naturaleza los individuos de una población compiten con los otros por los recursos naturales ...
141KB Größe 13 Downloads 37 vistas
Comparación de la Aplicación de Métodos de Primer y Segundo Orden para el Aprendizaje de Redes Neuronales. Ph. Dr. Ricardo Ribeiro Gudwin, Ing. Lizet Liñero Suárez, Lic. José Antonio Sánchez Guerrero Resumen: Este trabajo presenta una comparación de la aplicación de métodos de primer (Algoritmos Genéticos) y segundo (“Back-Propagation”) orden para el aprendizaje de las Redes Neuronales, mostrando de esta manera un método donde se combinan estas técnicas clásicas de la Inteligencia Artificial para la solución de problemas de aproximación de funciones y de otra índole que requieran de la aplicación de estas técnicas. Además se presenta la aplicación de las Redes de Objetos que no son más que una nueva herramienta para modelar sistemas que exhiben un carácter de modificación en su propia estructura y que no pueden ser modelados por herramientas clásicas como Automatas Finitos y Redes de Petri.

1. Introducción

Back-Propagation [8,11] para el aprendi-

La utilización hoy en día de los métodos

zaje de algunas Redes Neuronales.

tradicionales

El trabajo está organizado de la siguiente

de

inteligencia

artificial

Algoritmo Genético (GAs)[2,3,4], Redes

manera. En la sección 2 y 3 se presentan de

Neuronales (RN) [1,8,11], Lógica Fuzzy

manera general los Algoritmos Genéticos y

(FL)[1] y otras, son cada vez mas aplicadas a

las Redes Neuronales respectivamente. La

la solución de diversos problemas de la vida

aplicación de las técnicas de GAs y Back-

práctica. En la mayoría de los casos los

Propagation para el aprendizaje de la Red

problemas

Neuronal es descrita en la sección 4. Por

son

enfrentados

con

la

combinación de estos métodos

último se dan a conocer las conclusiones de

Existen diversas aplicaciones donde se

este trabajo en la sección 5.

utilizan los diferentes métodos tradicionales

2. Algoritmos Genéticos

combinados

Los

[5,7,9,12,13],

este

trabajo

Algoritmos

Genéticos

adaptables

son

pueden

ser

consiste en un estudio de la aplicación de los

métodos

Algoritmos Genéticos para el aprendizaje de

utilizados para buscar la solución de

las Redes Neuronales y una comparación de

problemas de optimización y búsqueda.

esta técnica con el tradicional algoritmo del

Ellos

están

basados

que

(GAs)

en

los

procesos

genéticos de los organismos biológicos. En

todas

las

generaciones

la

población

con la solución que el representa para el

evoluciona de acuerdo con los principios de

problema.

la selección natural y supervivencia del

La mayoría de las nuevas soluciones

mejor individuo.

posibles se obtuvieron por la selección del

En la naturaleza los individuos de una

mejor individuo en la generación actual y su

población compiten con los otros por los

combinación con otro individuo produciendo

recursos naturales, como la comida, agua y

un nuevo conjunto de individuos. Esta nueva

atraer a su pareja, aquellos individuos más

generación posee una alta proporción de las

aptos para la supervivencia y la acción de

características de los mejores individuos de

parear, obtendrán relativamente más número

la generación anterior. Si el GA es bien

de descendientes. Esto significa que los

diseñado entonces la población converge

genes más adaptados y aquellos individuos

para la solución óptima del problema.

más convenientes pueden incrementar el

El potencial de los GAs consiste en el hecho

número de individuos para las próximas

de que es una técnica robusta y puede ser

generaciones. La combinación de las buenas

utilizada en diversos problemas, incluyendo

características de diferentes antepasados

aquellos que tienen cierta dificultad para su

pueden generar descendientes más capaces

solución por otros métodos. Los GAs no

de adaptarse al medio ambiente

garantizan encontrar una solución óptima del

Los GAs emplean una analogía directa al

problema, pero procuran en general, una

comportamiento natural. Ellos trabajan con

buena solución para el problema y de una

una población de “individuos”, cada uno

manera rápida.

representa una posible solución para el

Los GAs no son los únicos algoritmos que

problema a tratar. A cada individuo le es

están basados en analogía con la naturaleza.

asignado un “valor apropiado” en relación

Las Redes Neuronales son técnicas basadas

en la conducta del neuronio en el cerebro.

cruzamiento y mutación, explicaremos dos

Ellas son utilizadas para dar solución a una

aspectos importantes para los GAs:

variedad de tareas de clasificación, por

Codificación: Este paso es importante, aquí

ejemplo,

patrones,

se realiza una codificación para el conjunto

procesamiento de imagenes y sistemas

de parámetros del problema. Existen varios

expertos. El uso de GAs para diseñar Redes

tipos de codificación para estos parámetros,

Neuronales son áreas de investigaciones

la más utilizada es la codificación de Gray,

recientes.

algunos

reconocimiento

de

estudios

muestran

que

esta

codificación es ligeramente más efectiva que

2.1 Principios básicos la

codificación

binaria

para

aquellos

Un algoritmo genético simple puede ser problemas

de

optimización

con

dos

representado por la siguiente figura: variables, para otros casos se emplea la Población Inicial

codificación no binaria, otros estudios demuestran que este tipo de codificación es

Reproducción

más rápida, más consistente y se obtienen Cruzamiento

Nueva Población

resultados más precisos. Este es un aspecto Mutación

Selección

que depende del tipo de problema a solucionar.

Condición de Parada

No

Función de Aptitud (fitness function): La

Si

Función de Aptitud es ideada para cada

Solución

problema a ser resuelto. Esta función para cada cromosoma particular retorna un valor Figura 1. Principio de funcionamento de un GA.

Antes de especificar cada uno de los operadores

genéticos,

reproducción,

númerico que representa la “aptitud” de este individuo para su supervivencia en ese

medio, este valor se supone sea proporcional

Fin

Inicio Punto de cruzamiento 1

a la “utilidad” o “habilidad” del individuo representado por el cromosoma. 2.1.1 Cruzamiento

Punto de cruzamiento 2

Este operador genético básicamente consiste en tomar dos individuos de la población y seleccionar aleatoriamente una posición para comenzar a realizar el intercambio de los genes de cada individuo. Esta técnica es conocida como cruzamiento en un punto

Figura 3. Cruzamiento con dos puntos.

Otra de las técnicas empleadas para realizar el cruzamiento, es el cruzamiento uniforme, este consiste en generar una máscara de cruzamiento aleatoria, donde 1 significa que ese gene será copiado en el descendiente del

simple (Figura 2). Existen otras técnicas para realizar el cruzamiento de los individuos, una es cruzamiento con dos puntos de cruzamiento, esta consiste en marcar con dos puntos el segmento del cromosoma para llevar a cabo

padre número 1 y 0 del padre número 2 (Figura 4), este proceso es repetido con una nueva máscara de cruzamiento aleatoria para generar el otro descendiente con estos mismos padres. Máscara 1

10010 1110 0

Padre 1

10100 0111 0

Descendiente 1

11000 0111 1

Padre 2

01010 1001 1

el intercambio. (Figura 3). Punto de Cruzamiento ancestros 1010 001110

Punto de Cruzamiento

0011 010010

Figura 4. Cruzamiento uniforme.

Se 1010 010010 descendientes

0011 001110

pueden

utilizar

otras

técnicas

de

cruzamiento conociendo el dominio del problema, pero estas serán muy específicas

Figura 2. Cruzamiento con punto simple.

para esos problemas en cuestión.

2.1.2 Mutación

formar la nueva población que podemos lla-

El operador genético Mutación es aplicado a

mar de población de trabajo (“maping

los descendientes después de efectuado el

pool”), donde tienen lugar los otros ope-

cruzamiento. Este operador consiste básica-

radores genéticos (mutación y cruzamiento),

mente en alterar de manera aleatoria cada

formando después la nueva generación.

gene del cromosoma (Figura 5) con una

3. Redes Neuronales

probabilidad pequeña (en general 0.001).

Una Red Neuronal Artificial es un sistema de procesamiento de la información que

Punto de Mutación

ejecuta características en común con las Descendiente 1 0 1 0 0 1 0 0 1 0

Redes Neuronales Biológicas. Las Redes Descendiente cambiado 1 0 1 0 1 1 0 0 1 0

Neuronales Artificiales fueron desarrolladas

Figura 5. Mutación simple.

Este operador es tradicionalmente visto como un operador de fondo, responsable de la introdución inadvertida de los valores perdidos de un gene, insertando un pequeño elemento a la búsqueda aleatoria en la vecindad

de

la

población

que

está

convergiendo. 2.1.3 Reproducción o Selección de los individuos. Este es un operador muy importante para el desempeño de los GAs. Este operador es el encargado de realizar la selección de aquellos individuos de la población para

como generalización de modelos matemáticos del conocimiento humano o de los neuronios biológicos. Una Red Neuronal consiste en un largo número

de

elementos

simples

del

procesamiento llamado neuronios, unidades o nodos, cada neuronio es conectado a otro neuronio por medio de un eslabón de comunicación directo; a cada uno se le asocia un peso. Los pesos representan la información usada por la red para resolver el problema. Las Redes Neuronales pueden ser aplicadas a diversos problemas,

como

reconocimento de patrones y clasificación de

unidades ocultas, los nodos que no son

patrones. Una Red Neuronal simple puede

directamente conectados a uno u otro nodo

estar representada como se muestra:

de la entrada y de la salida (Figura 8). La

x0 entrada

x1

misma aprovecha el algoritmo de Back-

w0 y salida

w1 • • w N-1 •

 N −1 y = f wi xi − θ   i=0



Propagation que es un algoritmo

gradiente iterativo, utilizado para disminuir

   

el error cuadrático medio entre la salida real

xN-1

de la red y la salida deseada.

Figura 6. Rede Neural Simples.

El nodo es caracterizado por un Threshold interno o un desplazamiento θ y por un tipo de no-linearidad. Las no-linearidades más usadas son: 1

f(α)

Sigmoid

y0

Capa de Salida

y M −1

Salida

Segunda Capa Oculta

x "0

x "N 2 − 1

Primera Capa Oculta

x ’0

x N’ 1 − 1

α

0 1

de

x0

f(α)

Entrada

Hard Lim eter

x N −1

α

0

1

 N 2 −1 " "  yl = f  W kl x k − θ l"     k =0 

0 ≤ l ≤ M −1

 N 1 −1  x k" = f  W jk’ x ’j − θ k’     j=0 

0 ≤ k ≤ N2 −1

   

0 ≤ j ≤ N1 − 1



-1

f(α)

Threshold Logic 0

α

Figura 7. No-linearidades más utilizadas en Redes Neuronales.

3.1 Red Multi-Layer Perceptron



 N −1 x ’j = f  W ij x i − θ i   i=0



Las redes Multi-Layer Perceptron son del Figura 8. Red Multi- Layer Perceptron.

tipo Feed-Forward con una o más capas de nodos entre los nodos de la entrada y de la salida. Las capas adicionales contienen

El algoritmo Back-Propagation se muestra a continuación: Paso 1:

Inicialización de pesos y desplazamientos Paso 2:

δ j : término de error para nodo j

Sí el nodo j es un nodo de salida entonces:

Presentación de la entrada y salida deseada Se presentan valores contínuos del vector de entrada xe,x1,...xn-1 y se especifica la salida

δ j= y j (1 − y j )(d j − y j ) onde: y j : salida real

deseada d0,d1,…dm-1. d j : salida deseada

Passo 3: Cálculo de las salidas actuales:

Sí el nodo j es un nodo oculto entonces:

δ j = x ’j (1 − x’j )∑ δ k W jk

Se utiliza no-linearidad Sigmoide. Se cal-

k

culan las salidas por las ecuaciones de la

Para lograr la convergencia rápida, se utiliza

figura 8.

un término de momento en la ecuación de

Paso 4:

ajuste de pesos: Wij (t + 1) = Wij (t ) + ηδ j x ’i

Adaptación de los pesos:

+ α (Wij (t ) − Wij (t − 1))

Se emplea un algoritmo recursivo en los nodo de salida y trabaje en dirección a la primera capa oculta. Ajustando los pesos por:

donde: α : término de momento

que debe cumplir la siguiente condición: 0