La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Desarrollo de un Jugador de GO Basado en Redes Neurales Evolutivas. Prof. Alejandro Luján Prof. Wilmer Pereira Universidad Catolica Andres Bello.

Presentaciones similares


Presentación del tema: "Desarrollo de un Jugador de GO Basado en Redes Neurales Evolutivas. Prof. Alejandro Luján Prof. Wilmer Pereira Universidad Catolica Andres Bello."— Transcripción de la presentación:

1 Desarrollo de un Jugador de GO Basado en Redes Neurales Evolutivas. Prof. Alejandro Luján Prof. Wilmer Pereira Universidad Catolica Andres Bello

2 Contenido de la Exposición Introducción Objetivos El juego de GO ¿Por qué Redes Neurales para GO? Técnicas a explorar Diseño –Estructura a tres segmentos –Diseño de conexiones neurales (fuertemente conexa)

3 Contenido de la Exposición Resultados –Detalles de las corridas evolutivas –Resultados de las evoluciones –Análisis de las estrategias desarrolladas Conclusiones Recomendaciones Segmento de preguntas

4 Introducción La Inteligencia Artificial se ha utilizado en juegos como ajedrez por su complejidad. Se desean explorar técnicas relacionadas con las Redes Neurales Artificiales y los Algoritmos Evolutivos. Se observan precedentes en el uso de estas técnicas en tareas similares al GO.

5 Objetivos Diseñar un prototipo de Red Neural capaz de jugar GO. Determinar un mecanismo evolutivo que permita obtener mejores redes. Implementar este mecanismo. Evaluar las redes con jugadores externos. Analizar resultados de las evaluaciones.

6 Unidades enlazadas a través de conexiones cargadas por pesos numéricos El aprendizaje se basa en la actualización de esos pesos que se inicializan en la fase de entrenamiento de la red Está formada por unidades de entrada y unidades de salida (neuronas de entrada y neuronas de salida) El nivel de activación de la neurona artificial (equivalente al impulso excitatorio) es un cálculo individual en cada neurona, sin control global Se tiene una fase de aprendizaje, con ejemplos conocidos, una de prueba con otros ejemplos y finalemente la puesta en ejecucion Redes Neurales Artificiales

7 Redes neurales evolutivas Algoritmo Evolutivo SANE. Los individuos no son soluciones en si mismos, sino parte de una solución. Población de neuronas PN y población de redes PR... [ Moriarty, Miikkulainen ] 1. Limpiar fitness de cada neurona y red de poblaciones 2. Seleccionar N neuronas de PN para una red de PR 3. Crear una red neural con las neuronas seleccionadas 4. Evaluar la red para la tarea 5. Asignar fitness de la red segun la evaluación 6. Repetir los pasos de 2 a 5 para cada individuo de PR 7. Asignar a cada neurona el fitness de las mejores 5 redes en las que participó 8. Realizar mutación y cruce a ambas poblaciones (PR yPN)

8 Coevolucion competitiva Coevolución Competitiva: Evolucionar dos poblaciones paralelas que se enfrenten mutuamente elevando su nivel (host y parásitos que se intercambian los roles) [Rosin, Belew] Shared Sampling Selecciona una muestra representativa, que reúna todas las habilidades, de los parásitos. Fitness Sharing –Premia individuos que derroten a parásitos dominantes aunque pierdan con el resto de los parásitos (F i = Σ (i,O) 1 / N j ) donde O es el número de oponentes derrotados y N j cantidad de derrotas de j Hall of Fame Utiliza los mejores individuos de poblaciones anteriores como parte de la muestra de evaluación, con el fin de perpetuar sus habilidades.

9 Algoritmo shared sampling Para cada oponente O de la generación anterior o.golpe=0 Para i=0 hasta N (Tamaño de la muestra) Para cada parásito P que no esté en la muestra p.sample_fitness=0 Para cada oponente O derrotado por P P.sample_fitness+=1/1+O.golpe P2=oponente con máximo fitness Agregar P2 a la muestra Para cada oponente O de la generación anterior Si P2 derrotó a O entonces O.golpe++

10 SANE + Coevolucion Competitiva En vez de evaluar con un humano o un sistema preexistente (se estancaría y adaptaría a sólo ganar a ese contrincante) se se evalua con una competencia entre dos poblaciones que evolucionen en paralelo Se combinan el algoritmo de redes neurales evolutivas con las estrategias competitivas para obtener una mejora permanente

11 Algoritmo definitivo 1. Limpiar fitness de cada neurona y red de poblaciones 2. Seleccionar R de la poblacion PR 3. Seleccionar N oponentes de la población parásito, utilizando Shared Sampling 4. Seleccionar M oponentes del Hall of Fame 5. Evaluar la red contra los N+M oponentes 6. Asignar fitness de la red R utilizando Fitness Sharing 7. Repetir los pasos de 2 a 6 para cada individuo de PR 8. Agregar el mejor individuo de PR al Hall of Fame 9. Asignar a cada neurona el fitness de las mejores 5 redes en las que participo 10. Realizar cruce y mutación en ambas poblaciones

12 El juego de GO Tablero cuadrado de 5 a 19 intersecciones. –Grupos –Libertades –Capturas (ocupa ultimo grado de libertad) –Territorio (conteo de espacio menos las piezas capturadas) Restricciones –Interseccion vacia –No jugada suicida –Evitar KO

13 Fases del juego Fuseki: Esboza las estrategias con contacto minimo entre los grupos Medio Juego: Se establecen batalals de vida o muerte por la zonas del fuseki Yose: fase terminal donde se cierran los ultimos grupos y se demarca el territorio Consideraciones importantes: Jugadas elasticas son muy alejadas del grupo (osadas pero arriesgadas) se debe ser elastico para conquistar territorios Buscar patrones con al menos 2 ojos es importante

14 ¿Por qué RN para GO? Han demostrado habilidades en análisis de patrones. El GO se basa en patrones: –Figuras ofensivas, defensivas –Figuras fuertes, débiles –Ejemplo de patrón: Ojos Capacidad de solucion en problemas no algorítmicos o con complejidad inmanejable.

15 Diseño Tableros: tamaños 5x5 y 9x9 Entradas: dos entradas por cada intersección, indicando si esta ocupada por blanco o por negro. Salidas: una para cada intersección. El valor real de salida indica que tan conveniente es jugar en esta intersección. Cantidad de neuronas: 500 neuronas para 9x9, 100 neuronas para 5x5.

16 Diseño Aportes adicionales Organización de neuronas escondidas –Capa escondida de forma tradicional –Estructura a tres segmentos Conexiones: cada neurona de entrada está conectada con todas las escondidas. Las neuronas escondidas tienen conexión con todas las de salida.

17 Estructura a tres segmentos Fases del juego de GO: –Fuseki –Medio Juego –Yose Cada segmento está activo en la etapa correspondiente del juego. El paso a la próxima fase está definido por la densidad del tablero. La función de evaluación es la de GNUGo y protocolo GTP

18 Estructura a tres segmentos

19 Estudio de conexiones Otros trabajos manejan neuronas escondidas con un número fijo de conexiones (~16%) ¿Por qué no tener redes completamente conexas en la capa intermedia?

20 Estudio de conexiones

21

22 Implementación Partiendo de SANE 2.0, éste se reescribe, corrige y rediseña. Se realizan evoluciones de 100 generaciones. Torneo cada generación: GnuGO contra las 4 mejores redes. Tiempos de corridas: desde 6 horas hasta 12 días.

23 Parámetros de Evoluciones 999955Tamaño tablero 2000500 250200100Neuronas Escondidas 400 200 Población de redes 2000040002000 Población de neuronas 333333Muestra Hall Of Fame 20 25 Muestra de parasitos 2000500A500250200100Nombre Corrida CoCoSane

24 Parámetros de Evoluciones

25 Resultados de la evolución 100 neuronas en la capa intermedia fuertemente conexa

26 Resultados de la evolución 200 neuronas en la capa intermedia fuertemente conexa

27 Resultados de la evolución 34 neuronas en cada capa de las fases de juego: fuseki, medio juego y yose

28 Resultados de la evolución 20, 60 y 20 neuronas en cada capa de las fases del juego

29 Resultados de la evolución

30

31 Estrategias Desarrolladas Ojos: en muchos juegos se evidencia la formación de ojos para la supervivencia de los grupos. Separación de grupos del oponente. Captura: las redes parecen demostrar ciertas habilidades en luchas vida o muerte.

32 Conclusiones Tableros 9x9: dadas las condiciones del experimento, no se observaron evidencias de aprendizaje. Tableros 5x5: SANE demuestra ser efectivo en el ámbito del GO, al ser combinado con las técnicas mencionadas. El aumento en la cantidad de neuronas en la capa intermedia no parece aportar beneficios al aprendizaje.

33 Conclusiones La estructura a tres segmentos no ofreció una mejora en el proceso de aprendizaje, aunque mantiene la tendencia de avance de la estructura tradicional. Se obtuvo exitosamente un framework que contiene una serie de clases, escritas en java, que facilitan la implementación de Coevolución Competitiva SANE para otros dominios.

34 Recomendaciones Paralelizar el proceso evolutivo, dada la carga de procesamiento que esta exige. Utilizar una estrategia de cálculo de fitness adecuada a la estructura de tres segmentos, que evalúe cada segmento por separado. Neuronas de paso mas sofisticadas. Seguir ahondando en particularizaciones de las Redes Neurales

35 ¿Dudas? ¿Preguntas?


Descargar ppt "Desarrollo de un Jugador de GO Basado en Redes Neurales Evolutivas. Prof. Alejandro Luján Prof. Wilmer Pereira Universidad Catolica Andres Bello."

Presentaciones similares


Anuncios Google