Cómo le enseñé a una neurona en un "dinosaurio" a jugar

Entrada


Un día normal estaba navegando en Internet, de repente lo apagaron. Recordando sobre el viejo huevo de Pascua de Google, es decir, sobre el dinosaurio corriendo en la página de error. Al estudiar el aprendizaje automático y recordar el proyecto Mari / O, decidí hacer algo similar, quería que la red neuronal artificial aprendiera a jugar Dinosaurio al nivel de una persona real.

imagen

Para lograr este objetivo, se decidió utilizar algoritmos genéticos, es decir, hacer que los dinosaurios 'evolucionen'.

Algoritmo genético


Entonces, ¿qué es este algoritmo genético?

Un algoritmo genético es un algoritmo de búsqueda utilizado para resolver problemas de optimización y modelado seleccionando, combinando y variando aleatoriamente los parámetros deseados utilizando mecanismos similares a la selección natural en la naturaleza. Es un tipo de cálculo evolutivo que resuelve problemas de optimización utilizando métodos de evolución natural, como herencia, mutación, selección y crossingover. Una característica distintiva del algoritmo genético es el énfasis en el uso del operador de "cruce", que realiza la operación de recombinación de soluciones candidatas, cuyo papel es similar al papel del cruce en la vida silvestre.

imagen

Desarrollo


El principio de funcionamiento de nuestro programa (como ya hemos dicho) se basa en el aprendizaje basado en máquinas con refuerzo . Trataré de describir el principio del trabajo en pocas palabras:

En cada generación, se seleccionan varios de los mejores representantes. En base a ellos, se crea uno nuevo. Con base en los diversos "pesos" de las conexiones neuronales y la información de entrada (distancia al obstáculo y su altura), se toma una decisión sobre la acción de un representante particular de la especie.

imagen

Espero que todo esté claro.

Conclusión


Como resultado, nuestro "Modelo Genético" alcanzó 332 mil puntos en 219 generaciones.

imagen

Hay potencial para lograr grandes resultados.

Pero aún queda mucho trabajo por hacer.

PD: ¡Gracias por leer! Por cierto, queríamos mostrar el proceso de aprendizaje de una neurona en vivo. Puedes verlo aquí .

Upd. Mientras tanto, el programa obtuvo 942 mil puntos.

Source: https://habr.com/ru/post/449520/


All Articles