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