StarCraft II

Uma conversa com a equipe de StarCraft II da DeepMind

Justin Groot, Blizzard Entertainment

Em 1998, quando StarCraft foi lançado, o pesquisador de inteligência artificial (I.A.) Oriol Vinyals, da DeepMind, era só um menino e morava na Espanha. Ele se apaixonou pelo jogo e galgou os ranques competitivos, chegando ao terceiro lugar das eliminatórias dos World Cyber Games (WCG). Desde então, ele se tornou uma das mentes mais importantes na pesquisa de I.A. Seu projeto atual? Desenvolver um bot, ou “agente”, capaz de dominar StarCraft II.

///

Obrigado pela oportunidade de conversarmos! Você poderia se apresentar para nós?

Oriol: Meu nome é Oriol Vinyals, sou pesquisador da DeepMind. Estou à frente do projeto de StarCraft II. Meu foco é aprimorar a inteligência artificial de ponta. StarCraft é um ótimo veículo para pesquisa — na verdade, parte do meu doutorado em Berkeley foi sobre StarCraft.

Você trabalhou em StarCraft durante seu doutorado?

Oriol: Um amigo meu me contou que havia um grupo em Berkeley que ia participar de uma competição, I.A. contra I.A., e, como eu jogava muito o jogo, seria muito bom se eu pudesse dar uma olhada na abordagem deles.

Eles estavam criando um bot com base na Mutalisca Zerg. Comecei a jogar contra o agente... Acho que me chamavam de “treinador”. 

A abordagem que o projeto fazia do jogo era baseada em sistemas de regras com base em especialista. “Vamos construir muitas Mutaliscas, e precisamos de uma ordem de construção que, com sorte, será resistente contra vários rushes precoces e que se expanda rápido o bastante para dar conta da produção”, e assim por diante. Essa abordagem era muito programática, mas o micro da Mutalisca em si tinha sido aprendido. No fim, vencemos a competição. Foi muito divertido.

E qual é a diferença desse trabalho para o que você faz agora na DeepMind?

Oriol: A DeepMind está construindo o que se conhece como “I.A.G.” — inteligência artificial geral. Não criamos um agente especificamente para jogar um jogo, mas queremos entender qual é o paradigma de aprendizado para que ele possa jogar qualquer jogo sem muito conhecimento prévio. Achei que seria muito desafiador e muito divertido construir um bot no qual, em vez de escrever as regras, nós só oferecemos a tela a ele. “Aqui estão o mouse e o teclado. Vá em frente, interaja com o jogo, tente melhorar nele.”

O que levou a DeepMind a StarCraft?

Oriol: O jogo definitivamente oferece alguns desafios à I.A. No Go, sempre vemos o tabuleiro inteiro, mas isso não ocorre em StarCraft, então precisamos fazer reconhecimento... E, claro, a interface é um ótimo campo de testes para determinar se o agente é capaz de interagir com o jogo num estilo “apontar e clicar”, em vez das 14 ações possíveis no Atari. É um belo desafio.

E como vai o projeto?

Oriol: Há aspectos que ficam bem aparentes por conta da forma de treinar os modelos. Podem parecer até óbvios em retrospecto. Por exemplo, uma ação é mover a câmera para dar uma olhada no mapa. Acontece que agentes aleatórios afastam a câmera da base e nunca voltam para ver no que deveriam prestar atenção, ou seja, a base, as estruturas a construir e assim por diante.

Em coisas tão simples para os humanos — o conceito da câmera, que é útil olhar o minimapa no canto inferior esquerdo —, esses agentes estavam viajando, clicando no minimapa e, obviamente, não chegando a lugar nenhum e, de repente, eles davam sorte e clicavam de novo na base, só que a ação seguinte era selecionar todos os trabalhadores e mandá-los para longe.

É quase doloroso de ver. A partir daí, eles realmente precisam receber algum sinal, alguma recompensa. Esperamos que eles tenham sorte, às vezes, e façam alguma coisa boa, e então — e só então — eles podem começar a aprender. Ao contrário dos jogos de Atari, nos quais dá para conseguir fazer algo razoável muito rápido, StarCraft tem um espaço de ação tão exponencial que é muito difícil decolar, especialmente na configuração do jogo completo.

Lançamos uma série de minijogos — versões simplificadas de StarCraft. Isolamos certos aspectos do jogo em mapas que consistem em, por exemplo, “expandir e construir muitos trabalhadores” ou “mover unidades e cobrir o máximo possível do mapa” e assim por diante. Nos minijogos, temos agentes que conseguiram aprender o básico do movimento de unidades, coisas como as situações de combate.

(Para saber mais, confira o artigo da DeepMind em colaboração com a Blizzard sobre suas descobertas iniciais de StarCraft II.)

Alguma surpresa até agora?

Oriol: Temos um mapa com dois soldados, e a missão deles é coletar minérios espalhados pelo mapa. O agente tem uma dificuldade espantosa de perceber que deveria usar os soldados de forma independente. Só que, por outro lado, o agente conseguiu aprender que deveria mobilizar os soldados com patrulha. E eu não sabia disso, mas o comando patrulha mantém a distância entre os soldados constante, permitindo que coletem mais minérios apesar de serem controlados juntos. Foi a primeira vez que eu percebi que aprendi uma coisa nova sobre StarCraft II.

( Vídeo )

Vamos ao que interessa. Essa coisa vai ser melhor que os seres humanos algum dia?

Oriol: Eu não sei. Certamente penso que a abordagem em si é muito expansível. Se você construir o bot como construímos em Berkeley em 2010, ele fará uma ordem de construção, ou duas, ou três, mas não se expandirá muito. No fim, alguém pode estudar como ele joga e expor as fraquezas. Eu gosto dessa abordagem porque, se tudo der certo, o agente terá aprendido uma imensa variedade de táticas e reações que não poderiam ser programadas, assim como não se pode programar um jogador muito bom de Go.

Em termos de vencer os melhores dos melhores, eu não sei. É algo que veremos. Não posso prever se nós os venceremos ou não.


Leia mais sobre o 20º Aniversário

- Scarlett, NoRegreT e The House mudam a cara do StarCraft II competitivo

- Mike Morhaime fala sobre os 20 anos de e-sports de StarCraft

- Evolução concluída: a recriação de unidades clássicas em StarCraft II

- O designer de cooperativo Kevin “monk” Dong conta sua história