Desarrollo de un Jugador de GO Basado en Redes Neurales Evolutivas. - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Desarrollo de un Jugador de GO Basado en Redes Neurales Evolutivas.

Description:

Detalles de las corridas evolutivas. Resultados de ... Tiempos de corridas: desde 6 horas hasta 12 d as. Par metros de ... Nombre Corrida. NeoGo. Resultados ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 36
Provided by: ldcUs9
Category:

less

Transcript and Presenter's Notes

Title: Desarrollo de un Jugador de GO Basado en Redes Neurales Evolutivas.


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
Redes Neurales Artificiales
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
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 (Fi S(i,O) 1 / Nj) donde O es el
    número de oponentes derrotados y Nj 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.golpe0 Para i0 hasta N (Tamaño de la
muestra) Para cada parásito P que no esté en la
muestra p.sample_fitness0 Para cada oponente
O derrotado por P P.sample_fitness1/1O.golp
e P2oponente 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
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 NM 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
Estudio de conexiones
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
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
Resultados de la evolución
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?
Write a Comment
User Comments (0)
About PowerShow.com