Vida longa no Minecraft!

Hendrik Macedo
05/08/2016

Terreno, árvores, nuvens, céu, cavalos e construções no Minecraft. [1]
Terreno, árvores, nuvens, céu, cavalos e construções no Minecraft. [1]
Feche os olhos e se imagine vivendo em um mundo sem barreiras, de quaisquer tipo. Um mundo completamente aberto onde você é livre para explorar caminhos e moldar o ambiente à seu bel-prazer. Imagine ainda que não há regras a serem seguidas e que você é o senhor da escolha de como ou quando realizar objetivos que você mesmo traçou. Imaginou? Este mundo existe! Infelizmente, por enquanto, apenas em versão digital. Minecraft [2] é um jogo eletrônico com enredo não-linear onde todos os elementos do ambiente (árvores, terreno, água, etc.) são constituídos por blocos. O jogador deve utilizar a criatividade para explorar este ambiente de forma a remover, transportar e combinar estes blocos enquanto matéria prima para criação de construções que facilitem a sua sobrevivência no mundo. É exatamente na vida longa com algum propósito definido pelo próprio jogador onde reside o princípio de tudo, pois simplesmente não há qualquer outra forma de vencer no jogo. O Minecraft foi adquirido pela empresa Microsoft em 2014 por US$ 2,5 bilhões e agora em junho de 2016 se tornou o segundo jogo mais vendido do planeta ao somar 100 milhões de vendas.

Pois bem. Dentro da Inteligência Artificial (IA), Minecraft é o que chamamos de problema do aprendizado de vida longa, o que consiste em um dos maiores desafios da área de pesquisa: a habilidade de acumular conhecimento através de múltiplas tarefas e então reutilizá-lo ou transferi-lo para solução de tarefas subsequentes [3], o que é essencial para eficiência no sentido da redução da complexidade de tempo de processamento ou espaço em memória computacional. O aprendizado de vida longa sofre do que chamamos de maldição da dimensionalidade, ou seja, à medida que o espaço de estados e ações cresce, se torna cada vez mais difícil modelar e resolver novas tarefas encontradas. Minecraft, assim, é um problema de pesquisa em aberto na IA.

Bem recentemente, pesquisadores obtiveram grande avanço em como transferir conhecimento adquirido ao longo do curso da vida no Minecraft e reutiliza-lo para novas tarefas de forma mais eficiente. Os pesquisadores desenvolveram um agente jogador inteligente que aprende habilidades reutilizáveis [4]. O agente aprende através das chamadas Deep Q Networks (DQN) [5], redes profundas de Aprendizado por Reforço. O aprendizado por reforço é baseado no conceito de recompensas: ações tomadas que levaram a recompensas maiores são aprendidas e estimuladas em detrimento a ações que levaram a recompensas menores ou a punições. As DQNs funcionam como um aproximador de função não-linear que permite aprender políticas ricas e complexas, tais quais as referidas habilidades, a partir de pixels de imagem, requerendo menos conhecimento específico do domínio para solução de tarefas complexas (falei sobre o uso deste mesmo mecanismo para solução de outro problema em “A máquina que aprende a jogar melhor que você!“). Estas habilidades, referidas pelos autores como Deep Skill Networks (DSNs), são incorporadas em uma arquitetura chamada de Hierarchical Deep Reinforcement Learning Network (H-DRLN) que aprende a resolver eficientemente tarefas no Minecraft reutilizando DSNs anteriormente aprendidas para tarefas menores e a transferir conhecimento entre tarefas inter-relacionadas sem adição de qualquer aprendizado adicional. A entrada da H-DRLN são pixels de imagens dos últimos quatro quadros de imagem que são combinadas em uma única imagem de 84 x 84 pixels e que é então vetorizada. A saída da H-DRLN são ações primitivas (por exemplo, virar à esquerda, direita ou seguir em frente) ou reuso de DQNs já aprendidas. Em relação a recompensas, o agente obtém recompensa negativa proporcional à distância que se encontra do objetivo da tarefa e, ao atingir o objetivo, a recompensa é altamente positiva. Um exemplo de tarefa utilizada experimentalmente pelos autores do trabalho foi sair de um quarto por uma porta. A rede era treinada para fazer o agente aprender a sair de um quarto contendo uma porta e esta habilidade aprendida era transferida para ambientes compostos por mais de um quarto e portas.

Você que é mãe, pai, possivelmente já deve ter passado pelas fases da surpresa, da revolta, da batalha e, por fim, da resignação quanto ao uso quase incessante que seu filho faz do jogo; neste sentido, parece que a vida longa no Minecraft é longa demais. Saiba porém, que além de um grande estimulador da criatividade infantil, o jogo Minecraft tem se mostrado útil como ferramenta lúdica auxiliar para o ensino de Ecologia, Física, Química e Matemática [6] ou ainda de Programação de computadores [7]; de alguma forma, serve de contraponto ao nosso tradicional e rígido modelo de ensino-aprendizagem. O jogo tem ainda sido usado como recurso terapêutico para ajudar milhares de crianças com autismo a fazer amigos [8]. Dessa forma, quem sabe mais do que vida longa no Minecraft, devamos desejar vida longa ao Minecraft?

[1] Crédito da imagem: Renzo Farias Macedo, meu filho de 6 anos de idade.

[2] Minecraft. URL: https://minecraft.net/pt-br/.

[3] E Eaton and P Ruvolo. Ella: An efficient lifelong learning algorithm. Proceedings of the 30th international conference on machine learning (ICML-13), 507 (2013).

[4] C Tessler et al. A Deep Hierarchical Approach to Lifelong Learning in Minecraft. arXiv preprint arXiv:1604.07255 (2016).

[5] V Mnih et al. Human-level control through deep reinforcement learning. Nature 518, 529 (2015).

[6] D Short. Teaching scientific concepts using a virtual world—Minecraft. Teaching Science 58, 55 (2012).

[7] C Zorn et al. Exploring Minecraft as a conduit for increasing interest in programming. Proceedings of the Foundations of Digital Games 2013, 352 (2013).

[8] A Rutkin. Your place or Minecraft? New Scientist 230, 22 (2016).

Como citar este artigo: Hendrik Macedo. Vida longa no Minecraft!. Saense. URL: http://www.saense.com.br/2016/08/vida-longa-no-minecraft/. Publicado em 05 de agosto (2016).

Artigos de Hendrik Macedo     Home

Publicado por

Hendrik Macedo

Hendrik Macedo

Doutor em Ciência da Computação. Professor da Universidade Federal de Sergipe. Escreve sobre Inteligência Artificial no Saense.

2 comentários sobre “Vida longa no Minecraft!”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

This site uses Akismet to reduce spam. Learn how your comment data is processed.