You are on page 1of 42

Ejemplo de uso de Redes Neuronales Articiales (RNAs)

1. Enseando a un softbot a chutar un baln 2. Integracin de sensores mediante redes neuronales 3. Modelos agroclimticos de consumo de agua

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.1/42

El simulador
Propiedades 1. 2. 3. 4. Realista (friccin, inercia, ruido) Animado Basado en cliente-servidor Clientes usan planicacin de rutas (seguimiento baln)

Arquitectura
Cliente

jugador B Baln jugador A Simulador

energa giros

orientacin

posicin (x,y) Cliente

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.2/42

Enseando a un softbot a chutar un baln


Usaremos un simulador de ftbol, construdo bajo el paradigma de los sistemas multi-agente, para ensear a un jugador a chutar. Vamos a hacer uso de una red neuronal articial Dos tipos de agentes, un agente que pasa el baln, el pasador, y otro que chuta a partir del pase, el chutador. La velocidad inicial de la pelota en el pase depende de la distancia desde la que el pasador empieza a moverse El chutador debe mantener una aceleracin constante, una vez que empieza a moverse. La tarea T , a aprender por el chutador es decidir cuando comenzar a moverse.

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.3/42

Escenario tpico
La tarea T depende de las coordenadas del baln y del chutador (x, y, ). El mtodo mediante el cual el chutador decide sus movimientos se denomina pol tica de chut El mtodo mediante el que elegir la lnea de direccin se denomina poltica de direccin (steering policy) Los parmetros (x, y, ) varan de forma aleatoria para generar casos diferentes El rango de variacin para la orientacin es de 70o . x e y varan de forma independiente en 40 unidades. El rudo es de 2 unidades para x e y y 2 grados para

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.4/42

Escenario tpico (II)


Chutador Punto Contacto 180 -90 90 0

110 170

Pasador

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.5/42

La tarea T
La dicultad en el aprendizaje de T depende de Los experimentos se pueden realizar con la misma velocida para la pelota, o con velocidad variable. La bola puede moverse siempre en la misma trayectoria, o en diferentes trayectorias. La portera puede estar siempre en el mismo sitio o puede moverse arriba abajo. Tanto el entrenamiento como la evaluacin se pueden realizar en el mismo sitio, o la evaluacin puede moverse a otro cuadrante. Es posible que no sea necesario aprendizaje inductivo. Si planteamos la poltica de chut cuando el chutador se encuentra en la orientacin adecuada, debera comenzar a moverse cuando la distancia de la pelota al punto de contacto es igual o menor que 110 unidades Resultado una tasa de aciertos del 60,8 %.

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.6/42

Experimento 1: Velocidad del baln ja


En los pases el baln se mueve siempre en la misma trayectoria y con la misma velocidad, para todos los ejemplos de entrenamiento y evaluacin. Condiciones base para marcar un tanto Trayectoria de la pelota de 140 grados velocidad de la pelota 135 units/sec, interseccin de linea de direccin del chutador y banda a 170 unidades de portera
Chutador

Punto Contacto 180

90

-90 110 170

Pasador

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.7/42

Experimento 1: diseando la red


La salida debe indicar si el chutador debe, o no, comenzar a acelerar en cada time slice Posible diseo f (xpelota , ypelota , pelota , xchutador , ychutador , chutador ) Red de 6 entradas un modelo complejo. Mala generalizacin Pero...

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.8/42

Experimento 1: diseando la red (II)


Podemos predecir el punto de contacto de la pelota y el chutador. Con lo que podemos calcular Distancia a la bola (DistanciaBola): distancia entre la bola y el punto de contacto, Distancia del agente (DistanciaChutador): distancia entre el chutador y el punto de contacto Desfase de orientacin (DesfaseOrientacion): diferencia, en ngulos, entre la orientacin del agente y la que considera como ptima.
DistanciaBola

DistanciaChutador

Acelerar

DesfaseOrientacion

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.9/42

Experimento 1: conjunto de entrenamiento


Objetivo: generar ejemplos con alta diversidad Usaremos una poltica de chut aleatoria. En cada oportunidad de chut, el chutador se mover con una 1 probabilidad x Conjunto de ejemplos debe ser balanceado Determinamos que hay 25 ciclos de simulador que van a corresponder a oportunidades en las cuales el agente puede decidir moverse antes de que la pelota est a menos de 110 unidades del punto de contacto (i.e. el chut no sera exitoso entonces). Para obtener el valor de x Pf allo 1 1 1 = (1 )(1 ) (1 ) = x x x
25

x1 x

25

= 0,5

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.10/42

Experimento 1: conjunto de entrenamiento (II) Tenemos que x es ms o menos 37. Se generan 2990 ejemplos. Porcentaje de acierto del 19,7 %. Solo 590 ejemplos fueron instancias positivas.

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.11/42

Experimento 1: Entrenamiento y Evaluacin

Se probaron distintas conguraciones de redes neuronales sigmoidales. Se vari y el nmero de nodos ocultos. Los ejemplos de entrenamiento se etiquetaron con un 0,9 y 0,1 Los pesos wij con un valor aleatorio en [0,5, 0,5]. La red neuronal ptima se obtuvo tras 3000 epochs, con un error RMSE de 0.0386. Mejora Conforme la pelota se va acercando a una determinada distancia, la seal de la red se va incrementando hasta llegar a un pico. Una vez pasado ese pico, la seal comienza de nuevo a disminuir hasta llegar a un mnimo. Acelear cuando Output 0,6 Output P revious 0,1 Posicin inicial chutador Constante Cambiante Cambiante Cambiante Poltica de chut Simple Simple Aleatoria Regla de red de 3 nodos xito 100 60.8 19.7 96.5

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.12/42

Experimento 2: Velocidad del baln variable


Objetivo: chutador debe aprender a acelerar ante una pelota con velocidad variable. Variamos distancia de arranque del pasador en [32, 38] unidades La velocidad de la pelota variara en [110, 180] unidades de velocidad. Inclumos un parmetro nuevo a la entrada de la red, VelocidadPelota.
DistanciaBola

DistanciaChutador

Acelerar

DesfaseOrientacion

VelocidadPelota

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.13/42

Experimento 2: Velocidad del baln variable

La velocidad se calcula con la diferencia en posicin para las 10 ltimas unidades de tiempo Ejemplos 5737. El ratio de aprendizaje ha sido esta vez de 0,001 y el nmero de epochs 4000. Poltica de chut Aciertos Red de 3 nodos de entrada 49.1 Aleatorio 16.8 Red de 4 nodos de entrada 91.5

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.14/42

Experimento 3: Trayectoria del baln variable

Hipotesis inicial Dado que las entradas a la red de 4 nodos, usada en el experimento 2 son relativas a PuntoContacto, la trayectoria con la que la bola se mueve hacia el chutador no va a afectar negativamente al rendimiento de la red Test de la hiptesis lanzar la pelota con una trayectoria de 90 grados.
Punto Contacto 180 Chutador 90

-90 70

Pasador

Resultado efectividad del 96,3 %. La red de 4 entradas no solo generalizaba en diferentes reas del campo, sino que tambin generalizaba a diferentes trayectorias del baln.

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.15/42

Experimento 3: Trayectoria del baln variable


Qu pasa con la variacin en la direccin del chutador? Problema: decidir la trayectoria de chut. La trayectoria del baln variar en [82o , 145o ]. La nueva tarea de aprendizaje ser la de decidir en qu direccin debera apuntar el chutador. Aadiremos una nueva red neuronal a aadir a la anterior
Chutador 90

180

-90

Pasador

Pasador

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.16/42

Experimento 3: Trayectoria del baln variable


Objetivo elegir los parmetros para la nueva red. 1. 2. 3.
AnguloPelotaChutador

Salida ser AmplitudAngulo xito en 92,8 % de las ocasiones

Si se aade VelocidadBola el rendimiento es de 95,4 %.


Chutador

90 Posicion A 180 0

-90 Posicion B AmplitudAngulo

AnguloPelotaChutador Pasador

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.17/42

Fusin de sensores mediante ANNs


Los robots necesitan recopilar informacin para poder realizar tareas de navegacin Interna mediante sensores internos (e.g. motores, inerciales, etc) Externa mediante sensores de ultrasonidos, infrarrojos, lser, cmaras de visin articial, etc Cada sensor tiene un grado de incertidumbre El integrar informacin imprecisa de diferentes sensores puede redundar en la reduccin de la incertidumbre global
de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.18/42

Integracin de sensores
Vamos a integrar sensores infrarrojos y ultrasonidos Tareas a desarrollar 1. Implementacin de modelos sensoriales tericos 2. Recopilacin de datos 3. Generacin de redes neuronales 4. Validacin de los modelos obtenidos

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.19/42

Sensores
Sensores de ultrasonidos (sonar) Modelo Polaroid 6500 Trabaja a frecuencias de 49.4kHz La amplitud mxima del rayo est entre 150 y 200 Medidas en un rango entre 15cm y 10mt con un error de 1 % Tipos de error Prdida de seal de eco Incertidumbre debida a la apertura angular Rebotes dobles Sensores de infrarrojos Modelo Sharp GP2D02 Usa un emisor LED y un detector de luz PSD Medidas aceptables entre 10 y 120cm Tipos de error Reectividad variable segn color del objeto Iluminacin global Error de cuanticacin Se usa un modelo terico para cada uno de los sensores
de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.20/42

Entorno de simulacin

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.21/42

Escenarios para simulacin


Dos escenarios diferentes Stano de la facultad Planta del concurso de robots del Trinity College

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.22/42

Robot a simular
Robot holnomico 2 ruedas de direccin y dos ruedas libres 10 pares de sensores de infrarrojos y ultrasonidos

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.23/42

Datos para el anlisis


Las triplas estn denidas como
< sonar, ultrasonido, real >

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.24/42

Ejecucin de algoritmos de aprendizaje


Cuatro mquinas diferentes Parmetros de conguracin Nmero de nodos ocultos (desde 5 a 80, con saltos de 5) ratio de aprendizaje (desde 0.01 a 0.16, con saltos de 0.05) momentum epochs Total de 65 experimentos
//ahost.um.es/LionMLA
ID3 AQ11 ANNBackpropagation Client B

//bhost.um.es/PandaMLA
FOIL C4.5

A Host

B Host

Client A ANFIS

Communication Bus

C Host

//chost.um.es/SquirrelMLA

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.25/42

Resultados

Errores

Supercie producida por la red

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.26/42

Validacin
La fusin de sensores de la red la comparamos con el algoritmo de Flynn 1. 2. 3. Si la lectura del sonar es mayor que el rango mximo del sensor de infrarrojos, ignorar el sensor de infrarrojos Si la lectura del sonar produce su valor mximo, la distancia real es mayor Cuando el sensor infrarrojo presenta un cambio de no deteccin a deteccin y la lectura del snar es menor que diez pies entonces se ha detectado un objeto

Flynn

RNA

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.27/42

ediccin de necesidades hdricas en un culti


poder predecir las necesidades de agua de riego resulta un factor clave para una gestin adecuada de ese valioso recurso (se agrava en Murcia) el trmino ET0 : la cantidad de agua evaporada desde el suelo y transpirada a travs desde la supercie folial de la planta esta cantidad es la que el cultivo necesita posteriormente para obtener una cosecha ptima Para ajustarla a un cultivo determinado ETcultivo = Kc ET0 Finalmente, la cantidad de aqua que se necesita es Ar = ETcultivo Pef ectiva
de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.28/42

Modelo de Cubeta Clase A para ET0


Basado en la observacin de cambios de nivel de agua en una cubeta calibrada Su formulacin es muy simple
ET0 = Kp E0 Kp = a0 + a 1 U donde ai , 1 i 7 y d son coecientes obtenidos en una situacin ideal reproducida en laboratorio U es la velocidad media del viento H r es la humedad relativa media y E0 es el agua evaporada en un da, en una cubeta calibrada
2 2 2 2 + a2 H r + a3 d + a4 H r + a5 d + a6 U H r + a7 dH r

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.29/42

Modelo de Cubeta Clase A para ET0 (II)


muy impreciso, por su dependiencia de varios elementos fsicos usado intensivamente en Murcia en un sistema de informacin compuesto por 64 estaciones agroclimticas

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.30/42

Recogida de datos

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.31/42

Recogida de datos (II)


64 estaciones tomando medidas horarias BD relacional con tablas Hora, DIA, SEMANA, MES y A NO . el valor de ET0 se puede estimar haciendo uso de H r , U y E0 Los tres los mide cada estacin Un experto corrige los valores sobre la tabla SEMANA que son dos de los parmetros que mide cada estacin

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.32/42

Caractersticas de los datos


Existen estaciones funcionando desde 1994 Si denimos el MCCA en forma analtica, como una funcin obtenemos la siguiente:
fmcca : H r U E0 ET0 El problema se redude a obtener f mcca que aproxime comportamiento correcto del MCCA en algunos casos conocimiento implcito del experto al realizar las correciones en el mismo

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.33/42

Estudio preliminar de datos


Si nos tomamos un tiempo para el estudio se puede descubrir rpidamente que E0 y ET0 est fuertemente correlados positivamente
14 Ratio Eo/ETo en el ao 1999 12 ETo(mcca) 10 8 6 4 2 0 0 2 4 6 8 10 Eo 12 14 16 18 20

Es posible que un modelo lineal se comportara lo sucientemente aproximado como para tomarlo por bueno

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.34/42

Valores nulos
la tabla DIA presenta una proporcin de valores nulos considerable debida principalmente a perodos en los cuales alguna de las estaciones agroclimticas se encontraba sin funcionar (o funcionaba incorrectamente) un total de 53533 tuplas, de las cuales 30958 eran vlidas y el resto presentaban nulos Los atributos U y H r presentan menos del 8 % de valores nulos E0 tiene nulos en el 35 % de las correspondiente tuplas Posible solucin al problema: obtener la media de todos los valores vlidos, y sustituir todos los nulos por ese valor el valor de skewness del atributo es 26.001 que sugiere que la distribucin de probabilidad se aleja bastante de una normal

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.35/42

Valores nulos (II)


Podemos aprovechar las caractersticas propias de los datos, derivadas de las magnitudes a las que representan Es razonable pensar que E0 en una estacin est fuertemente relacionado con otros valores, tomados de estaciones diferentes, en la misma fecha de aos anteriores o posteriores
14 Valores de EPAN 12 10 EPAN EPAN 8 6 4 2 0 2.4502e+06 2.4504e+06 2.4506e+06 2.4508e+06 2.451e+06 Dia Juliano 2.4512e+06 2.4514e+06 2.4516e+06 12 10 8 6 4 2 0 0 200 400 600 800 1000 Dia correspondiente 1200 1400 1600 14 Valores EPAN sin nulos

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.36/42

Valores nulos (III)


Con el mtodo anterior se restauraron 608 tuplas insuciente al quedar todava 12923 tuplas sin recuperar Segunda posibilidad tenemos aun 38 estaciones con una cantidad de nulos mayor que el 15 % de sus tuplas. Mtodo basado en estaciones de referencia: estacin de referencia ser aquella que tenga una cantidad de nulos despreciable Idea: usar valores de estaciones de referencia, para recuperar los nulos de otras Si la estacin Ea es la estacin de referencia de la estacin E b , las dos estaciones son muy similares en sus valores para U , H r y E0 Ea se puede usar para aportar valores a Eb Medida de similaridad
n

d(Ea , Eb ) =
i=1

i i 2 2 i i (H r,Ea Hr,E ) + (UEa UE )


b b

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.37/42

Estaciones de referencia
4.3e+06 4.28e+06 4.26e+06 4.24e+06 4.22e+06 4.2e+06 4.18e+06 4.16e+06 4.14e+06 560000 Cluster AL41 Superficie Reg. Murcia Cluster JU81 Cluster CI52 Cluster MU52 Cluster CI42

580000

600000

620000

640000

660000

680000

700000

720000

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.38/42

Experimentos de aprendizaje
Todos los modelos obtenidos se evaluaron usando holdout con el mismo cjto. de evaluacin para todos: tuplas vlidas del ao 1998 de la tabla DIA Modelo de regresin lineal es
f cab = 0,66354E0 + 0,132150

con error de generalizacin de 0,25286

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.39/42

Experimentos de aprendizaje
MLPs
Nn 1 6 11 16 21 26 31 36 41 46 TEVV 1.19238 0.31979 0.16291 0.28416 0.31988 0.15170 0.15402 0.13432 0.13423 0.15531 EEVV 1.38206 0.38314 0.24857 0.51657 0.39322 0.23556 0.23074 0.20072 0.20619 0.25566 TERV 0.411108 0.32427 0.35851 0.23810 0.22488 0.24529 0.23800 0.23934 0.23103 0.24398 EERV 0.46175 0.37386 0.38667 0.23629 0.17494 0.22742 0.24596 0.22918 0.20122 0.22562

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.40/42

Experimentos de aprendizaje (II)


MLPs
Nn 51 56 61 66 71 76 81 86 91 96 TEVV 0.13537 0.14567 0.14720 0.14330 0.14090 0.15718 0.13654
0.12754+

EEVV 0.23017 0.23073 0.23732 0.22237 0.20245 0.22870


0.16419*

TERV
0.22116+

EERV 0.18055 0.18499 0.19147


0.16904*

0.22889 0.23481 0.22160 0.23480 0.23517 0.22765 0.22725 0.22717 0.22885

0.21365 0.23576 0.19015 0.17385 0.18448 0.18115

0.18809 0.28109 0.21121

0.14530 0.14291

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.41/42

Conclusiones
se obtienen errores similares de evaluacin con los dos conjuntos de entrenamiento:0.16419 y 0.16904 existe una diferencia apreciable entre los errores mnimos de aprendizaje, 0.12754 y 0.22116 el conjunto de tuplas reconstruidas es un 60 % ms grande que el conjunto formado solamente con tuplas vlidas la efectividad del mtodo de reconstruccin queda demostrada con las medias aritmticas en los errores para ambos grupos de experimentos: 0.31244 y 0.23441

de redes neuronales. Juan A. Bot Ejemplos de aplicacion a p.42/42

You might also like