lunes, 19 de noviembre de 2012

Reporte #2




Buenas compañeros y demás gente que visitan este blogg, en esta ocasión mostraremos  un pequeño demo sobre un proyecto de redes neuronales.

Algo de recapitulación:


El proyecto trata de realizar un videojuego de peleas donde la cpu aprenderá mientras se ejecute el programa, ademas de tener una aprendizaje no supervisado en donde no interviene algún maestro.

Primero que nada aquí nuestra nueva red neuronal, modificamos la primera por algunas pruebas que se realizaron y decidimos recrearla dejándolo de la siguiente manera:

En esta red neuronal le agregamos dos neuronas más, ahora tenemos dos diferentes salidas, cuando anteriormente solo teníamos una salida, Una neurona nos maneja el control de movimiento ya sea izquierda o derecha, y la otra nos maneja el golpe o la defensa de nuestro personaje (CPU).

Aquí menciono nuevamente los parámetros de entrada de la red neuronal:
  • Defensa: Cuando el usuario pone defensa, para que cuando esto suceda el cpu se desplace
  • Hpu: Valor de la vida del usuario
  • Hpo: Valor de la vida del oponente, pensando en que si el cpu tiene ventaja, tome iniciativa
  • Repeticiones: Cantidad de ataques del oponente en un lapso de tiempo, esto si es necesario cuidarse del usuario.
  • Ataque: tipo de ataque del usuario, para esquivar.
  • Distancia: Distancia entre el usuario y el cpu, para mantener cierta relación a la hora de moverse el cpu.
Cada una de las neuronas de las capas tiene su propia función de activación.

Para el entrenamiento se utilizo algo llamado Regla de Hebb, esta regla es muy parecido al aprendizaje competitivo, esta regla le da prioridad a todas aquellas neuronas que se activan haciéndolas mas fuertes, y aquellas que no se activan las hace mas débiles.
También se trato de usar una función kernel Gaussiana pero sin los resultados óptimos esperados.


Para este Demo del proyecto realice lo siguiente:

Para lo que fue esta entrega se realizo varias reuniones con el equipo para verificar que todo estuviera bien, y varios fragmentos de código se fueron modificando a través de los tres miembros que conforman el equipo.

En lo personal:

Modifique un poco la estructura de la red neuronal, reconfigure los diferentes funciones de la red junto con mis compañeros Obed y Jose Guadalpue, ademas de limpiar un poco el código y crear parte de las funciones para almacenar los datos, en este caso de los pesos en txt y parte del entrenamiento.

Aquí el código de la parte de la neurona




Aquí el código del loop principal del programa:  Aquí la función kernel: Aquí el repositorio por si lo quieren descargar

CLICK AQUÍ PARA IR AL REPOSITORIO

Integrantes del equipo:

Obed Guevara
José Guadalupe

Thats all my friends






1 comentario:

  1. Sigues omitiendo acentos. Van 9 de reporte y 16 de código, por lo mismo que le comenté a Obed.

    ResponderEliminar