Inteligencia artificial avanzada

22
Inteligencia Artificial Avanzada Por: Diego E. Guamán E. Universidad Técnica Particular de Loja PROYECTO FINAL TUTOR: Ing. Nelson Piedra

description

Presentación del proyecto de la materia de IAA de la UTPL.Tema: Comparación de resultados en la convergencia de una red neuronal utilizando 1 y 2 capas ocultas respectivamente en el modelo del perceptrón multicapa utilizando el algoritmo BackPropagation al realizar el reconocimiento de señales de tránsito

Transcript of Inteligencia artificial avanzada

Page 1: Inteligencia artificial avanzada

Inteligencia Artificial Avanzada

Por:•Diego E. Guamán E.

Universidad Técnica Particular de Loja

PROYECTO FINALTUTOR: Ing. Nelson Piedra

Page 2: Inteligencia artificial avanzada

Tema:Comparación de resultados en la convergencia de

una red neuronal utilizando 1 y 2 capas ocultas respectivamente en el modelo del perceptrón

multicapa utilizando el algoritmo BackPropagation al realizar el reconocimiento de señales de tránsito

Diego Guamán [email protected]

Page 3: Inteligencia artificial avanzada

IntroducciónEn los últimos años se han venido dando muchas mejoras de los

algoritmos que tratan sobre el reconocimiento de señales de tránsito

La idea del presente trabajo es desarrollar un agente que detecte dichas señales, extraer características de las imágenes que serán los patrones para la creación de un modelo de clasificación.

Para la creación del modelo utilizaremos el algoritmo BackPropagation, vamos a variar el número de capas ocultas así como las neuronas que forman dicha capa para comparar los resultados a la hora de converger los modelos realizados.

Seguido de toda esta etapa de aprendizaje y creación del modelo vamos a probar, qué tan eficientes son los modelos generados a la hora de clasificar nuevas señales de tránsito.

Page 4: Inteligencia artificial avanzada

Estado del Arte Redes Neuronales Muchos investigadores basados en los procesos llevados a cabo por el cerebro

humano e inspirados en su funcionamiento han desarrollado las Redes Neuronales Artificiales (RNA). Estos sistemas no requieren que la tarea a ejecutar se programe, sino que generalizan y aprenden de la experiencia. Este proceso de aprendizaje puede ser supervisado o no supervisado [1]

Según Looney[2] una de las ramas en la que se aplica las redes neuronales con éxito son entre otras el reconocimiento de patrones.

Las ventajas de las redes neuronales son según Hilera y Martinez[1] son : Aprendizaje adaptativo Auto organización Generalización Tolerancia a fallos. Operación en tiempo real. Fácil inserción dentro de la tecnología existente.

Page 5: Inteligencia artificial avanzada

Estado del Arte (Cont.)

Cuadro se muestran las características de algunos modelos que realizan el reconocimiento de patrones

Page 6: Inteligencia artificial avanzada

Estado del Arte (Cont.)BackPropagationEn esta red, se interconectan varias unidades de procesamiento en

capas, las neuronas de cada capa se conectan entre sí. Cada neurona de una capa proporciona una entrada a cada una de las neuronas de la siguiente capa.

En la figura se observa la arquitectura de este tipo de red.

Page 7: Inteligencia artificial avanzada

Estado del Arte (Cont.)BackPropagation El término backpropagation se refiere al método para calcular el

gradiente de error en una red feed-forward (de aprendizaje supervisado), que es una aplicación de la regla de la cadena de cálculo elemental [8]. Indica la propagación hacia atrás de una señal de error a través de la red[9]. Básicamente el entrenamiento de este tipo de red consiste en lo siguiente: Pasada hacia delante (foward pass): las salidas son calculadas y el error en las

unidades de salida es calculado. Pasada hacia atrás (backward pass): el error de las salidas es utilizado para

alterar los pesos de las unidades de salida. Luego el error en las neuronas de las capas ocultas es calculado mediante propagación hacia atrás del error en las unidades de salida, y los pesos en las capas ocultas son alterados usando esos valores.

Este paradigma varía los pesos de acuerdo a las diferencias encontradas entre la salida obtenida y la que debería obtenerse. De esta forma, si las diferencias son grandes se modifica el modelo de forma importante y según van siendo menores, se va convergiendo a un modelo final estable.

Page 8: Inteligencia artificial avanzada

Estado del Arte (Cont.)BackPropagation El error en una red de neuronas para un patrón [x= (x1, x2, …, xn), t(x)],

siendo x el patrón de entrada, t(x) la salida deseada e y(x) la proporcionada por la red, se define como se muestra en la ecuación 1 para m neuronas de salida

ecuación 1

El método de descenso de gradiente consiste en modificar los parámetros de la red siguiendo la dirección negativa del gradiente del error. Lo que se realizaría mediante la ecuación 3.

ecuación 3 w es el peso a modificar en la red de neuronas (pasando de wanterior a

wnuevo) y α es la razón de aprendizaje, que se encarga de controlar cuánto se desplazan los pesos en la dirección negativa del gradiente. Influye en la velocidad de convergencia del algoritmo, puesto que determina la magnitud del desplazamiento.

Page 9: Inteligencia artificial avanzada

Estado del Arte (Cont.)BackPropagation Paso 1: Inicialización aleatoria de los pesos y umbrales. Paso 2: Dado un patrón del conjunto de entrenamiento (x, t(x)), se presenta el

vector x a la red y se calcula la salida de la red para dicho patrón, y(x). Paso 3: Se evalúa el error e(x) cometido por la red. Paso 4: Se modifican todos los parámetros de la red. Paso 5: Se repiten los pasos 2, 3 y 4 para todos los patrones de entrenamiento,

completando así un ciclo de aprendizaje. Paso 6: Se realizan n ciclos de aprendizaje (pasos 2, 3, 4 y 5) hasta que se

verifique el criterio de parada establecido.En cuanto al criterio de parada, se debe calcular la suma de los errores en los

patrones de entrenamiento. Si el error es constante de un ciclo a otro, los parámetros dejan de sufrir modificaciones y se obtiene así el error mínimo. Por otro lado, también se debe tener en cuenta el error en los patrones de validación, que se presentarán a la red tras n ciclos de aprendizaje. Si el error en los patrones de validación evoluciona favorablemente se continúa con el proceso de aprendizaje. Si el error no desciende, se detiene el aprendizaje[3].

Page 10: Inteligencia artificial avanzada

Interfaz del Programa

Page 11: Inteligencia artificial avanzada

Creación de Variables predictoras y clases, creación del archivo entrenamiento.arff

Señal de Tránsito Clases

Pare 1

No entrar 2

No virar en u 3

Semáforo en rojo 4

Velocidad máxima 5

Semáforo en tomate 6

Ceda el paso 7

Semáforo en verde 8

Page 12: Inteligencia artificial avanzada

Entrenar red neuronal

Page 13: Inteligencia artificial avanzada

Comandos para ejecutar weka desde Matlab!java -Xmx1024M -cp "C:\Program Files\

Weka-3-6\weka.jar" weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 500 -V 0 -S 0 -E 20 -H a -t weka/entrenamiento.arff -d weka/1Capa.model > analisis/entrena1capa.txt

Page 14: Inteligencia artificial avanzada
Page 15: Inteligencia artificial avanzada
Page 16: Inteligencia artificial avanzada
Page 17: Inteligencia artificial avanzada

Prueba

!java -Xmx1024M -cp "C:\Program Files\Weka-3-6\weka.jar" weka.classifiers.functions.MultilayerPerceptron -T weka/test.arff -l weka/1Capa.model -p 0 >analisis/1capa.txt

!java -Xmx1024M -cp "C:\Program Files\Weka-3-6\weka.jar" weka.classifiers.functions.MultilayerPerceptron -T weka/test.arff -l weka/2Capa.model -p 0 >analisis/2capa.txt

Page 18: Inteligencia artificial avanzada

Pruebas de la convergencia de la red neuronal con los dos modelos (1 capa oculta y 2 capas ocultas) y variando el numero de neuronas en las capas ocultas

Page 19: Inteligencia artificial avanzada

Pruebas al analizar distintas imágenes con los dos modelos (1 capa oculta y 2 capas ocultas) y variando el numero de neuronas en las capas ocultas

Page 20: Inteligencia artificial avanzada

ConclusionesCuando se realizaron la prueba los mejores resultados al

convergir la red neuronal fueron aplicando una sola capa oculta.

Al variar el número de neuronas en la capa oculta a=22, i=35 o t=42 la red tuvo una convergencia menor utilizando una sola capa oculta mientras si se aumentaba a dos capas ocultas la red se demoraba mas en convergir

Al utilizar un numero de neuronas en la capa oculta ‘a=(atributos+clases)/2’ la red converge de manera más rápida

Los mejores resultados al clasificar nuevas clases se obtuvieron utilizando el modelo de una sola capa oculta

Al clasificar las clases la mayor confianza nos arrojo al utilizar una sola capa oculta y con en numero de neuronas en la capa oculta de ‘a=(atributos+clases)/2’ e ‘i= atributos o clases’

Page 21: Inteligencia artificial avanzada

Preguntas…

Page 22: Inteligencia artificial avanzada