Entrada
Um dia comum eu estava navegando na Internet, de repente eles a desligaram. Lembrando-se do antigo ovo de Páscoa do Google, ou seja, sobre o dinossauro em execução na página de erro. Estudando aprendizado de máquina e lembrando-me do projeto Mari / O, decidi fazer algo semelhante. Queria que a rede neural artificial aprendesse a tocar Dinosaur em nível de pessoa real.

Para atingir esse objetivo, decidiu-se usar algoritmos genéticos, ou seja, fazer os dinossauros 'evoluirem'.
Algoritmo genético
Então, qual é esse algoritmo genético?
Um algoritmo genético é um algoritmo de pesquisa usado para resolver problemas de otimização e modelagem, selecionando, combinando e variando aleatoriamente os parâmetros desejados usando mecanismos semelhantes à seleção natural na natureza. É um tipo de computação evolutiva que resolve problemas de otimização usando métodos da evolução natural, como herança, mutações, seleção e cruzamento. Uma característica distintiva do algoritmo genético é a ênfase no uso do operador "cruzamento", que realiza a operação de recombinação de soluções candidatas, cujo papel é semelhante ao papel do cruzamento na vida selvagem.

Desenvolvimento
O princípio de operação do nosso programa (como já dissemos) é baseado no
aprendizado baseado em máquina
com reforço . Vou tentar descrever o princípio do trabalho em poucas palavras:
Em cada geração, vários dos melhores representantes são selecionados. Com base neles, um novo é criado. Com base nos vários "pesos" das conexões neurais e nas informações de entrada (distância do obstáculo e sua altura), é tomada uma decisão sobre a ação de um representante específico da espécie.

Espero que esteja tudo claro.
Conclusão
Como resultado, nosso "Modelo Genético" alcançou 332 mil pontos em 219 gerações.

Existe potencial para alcançar grandes resultados.
Mas ainda há muito trabalho a ser feito.
PS: Obrigado pela leitura! A propósito, queríamos mostrar ao vivo o processo de aprendizado de um neurônio. Você pode vê-lo
aqui .
Upd. Enquanto isso, o programa marcou 942 mil pontos.