O brasileiro que ensinou uma inteligência artificial a identificar pokémons

FYI.

This story is over 5 years old.

Motherboard

O brasileiro que ensinou uma inteligência artificial a identificar pokémons

Quem precisa de Pokédex?

Matéria originalmente publicada na Motherboard.

Os computadores estão lentamente minando especialidades humanas, nos superando em alguns dos jogos mais desafiadores como o Go. Cara, até videogames e pôquer estão sendo dominados por algoritmos complexos. Era só questão de tempo até eles virem atrás de uma das mais queridas habilidades humanas: identificar corretamente pokémons.

Sim, as máquinas agora conseguem estudar e treinar até poderem ver um Machop e saber com alguma certeza que esse é um pokémon lutador. Não é tarefa fácil, já que há centenas de pokémons de 18 tipos diferentes. O segredo para essa capacidade é uma tecnologia conhecida como redes neurais.

Publicidade

Redes neurais artificiais são programas de computador feitos de “camadas” de neurônios conectados que rodam computações semialeatórias sobre dados de input como imagens, e se rearranjam até “aprenderem” como reconhecer os objetos nelas. Isso se chama “treinamento”, e quando o processo está completo, a rede deve conseguir reconhecer objetos não familiares que são parecidos com aqueles com que ela já treinou.

O pesquisador independente brasileiro Henrique Soares imaginou que seria interessante testar como essa tecnologia de reconhecimento de imagem lidaria com um videogame jogado pela molecada do mundo todo, e que a experiência o ajudaria a avançar suas próprias habilidades tecnológicas. E por diversão também.

“Descobri que ler livros, e até resolver alguns problemas clássicos […] são ótimas ferramentas para aprender alguma coisa”, Soares escreveu por e-mail. “Mas só aplicando essas soluções a novos problemas (mesmo problemas bobos), sou capaz de transformar esse conhecimento em habilidades para o mundo real.” Justo. Então como ele fez isso, e deu certo?

O primeiro passo de Soares foi juntar uma base de dados de sprites de Pokémon para que a rede pudesse treinar. Ele juntou milhares de sprites de personagens das primeiras cinco gerações do jogo, cobrindo centenas de criaturas. Depois de otimizar os sprites e os anotar por tipo, Soares separou 20% deles para treino e 80% para testes.

Pokémons corretamente identificados pela IA. Imagem: Journal of Geek Studies/Henrique Soares.

O computador conhecia reconhecer um tipo de pokémon apenas olhando para ele com 39% de precisão no geral. Melhor que um chute aleatório, mas não tão eficiente assim. Mas olhando um pouco mais de perto, você vai ver que a AI identificou com alta precisão alguns pokémons individuais — com mais de 90% de certeza — mas com outros teve mais dificuldade. O algoritmo também se deu melhor reconhecendo certos tipos que outros. A rede reconheceu corretamente pokémons do tipo sombrio como o Meowth em 92% das vezes, mas do tipo fantasma só 17% das vezes.

Publicidade

A baixa precisão pode ser atribuída ao conjunto relativamente pequeno de milhares de sprites — já que as redes neurais funcionam melhor com milhões de exemplos.

Você pode ter ficado imaginando o que a rede estava “procurando” quando decidia qual era um tipo de pokémon. É possível que a rede estivesse analisando coisas como cor e tamanho, já que muitos pokémons de água são azuis por exemplo. Mas é aí que entra a coisa mais interessantes sobre redes neurais: Não sabemos realmente como elas trabalham nos mínimos detalhes. Graças a algumas novas ferramentas de visualização, Soares conseguiu remover camadas da rede para ver como os sprites “ativavam” neurônios individuais.

“Temos um centro que claramente dispara com regiões vermelhas do sprite, o que nos leva a pensar que a rede está aprendendo a discernir cores, [e] associar isso a um certo tipo”, Soares explicou por e-mail. “Mas indo mais fundo na rede e mais longe da imagem original, essas interpretações são mais e mais difíceis de fazer numa inspeção simples.”

Se você gostaria de ajudar Soares com esse trabalho, acesse a página do projeto dele no GitHub. Se você for desse tipo, né.

Siga a VICE Brasil no Facebook, Twitter e Instagram.