Go machine, go!

Hendrik Macedo
03/11/2017

Tabuleiro do jogo Go. [1]
O filme A Beautiful Mind (EUA, 2001) retrata a vida acadêmico-profissional e pessoal do genial matemático John Forbes Nash, interpretado pelo ator Russel Crowe, durante seu doutorado na Universidade de Princeton, EUA, na década de 40. Uma cena do filme retrata o momento em que John Nash é desafiado por um colega para uma partida do jogo Go. Nash é derrotado, o que o deixa muito contrariado e confuso uma vez que acreditava ter feito a “partida perfeita”, ou seja, ter adotado a melhor estratégia possível de jogo desde o início da partida. Talvez à época, o Sr. Nash desconhecesse que descobrir a melhor estratégia de um jogo que possui 10 a uma potência de 170 (o dígito 1 seguido de 170 zeros) de jogadas possíveis não é algo tão plausível assim. A título de comparação, o valor estimado de átomos do universo é de algo em torno de 10 a uma potência de 79.

Em jogos com esta dimensão, a experiência de jogo do jogador naturalmente conta muito: quanto maior seu histórico de confronto contra grandes adversários, maiores as chances de que consiga identificar a cada rodada qual jogada aumentaria suas chances de vitória. Esse certamente é o caso, por exemplo, do sul-coreano Lee Sedol, 18 (dezoito) vezes campeão mundial de Go. Em março de 2016, entretanto, o reinado do Sr. Sedol foi interrompido. Sim, ele perdeu, perdeu para uma máquina por 4 jogos a 1! Mas… não, o programa AlphaGo [2], desenvolvido pela Google, não precisou cobrir todos os 171 dígitos de possibilidades de jogadas do Go para esse feito. A máquina “apenas” levou ao extremo o conceito de acúmulo de experiência para vencer: estudou 30 milhões de jogadas feitas por especialistas humanos em 160 mil partidas disputadas ao longo da história, o que a fez se tornar uma especialista. Por fim, o AlphaGo disputou inúmeras partidas contra versões dele mesmo, para aprimorar ainda mais seu jogo (descrevo estratégia semelhante adotada pela máquina jogadora de poker, Libratus, no artigo “O Jogador perfeito de Poker”). A etapa de acúmulo de experiência do AlphaGo foi obtida com uso de arquiteturas profundas de redes neuronais (deep learning), enquanto a etapa de aprimoramento de jogo foi possível via aprendizado por reforço (reinforcement learning).

Agora no fim de outubro de 2017, um novo artigo publicado na revista Nature, descreve a nova versão do AlphaGo, o AlphaGo Zero [3]. Em um confronto de 100 partidas contra sua versão anterior (que ficou conhecida como AlphaGo Lee, por sua vez uma evolução da versão anterior, AlphaGo Fan), esta nova versão venceu… todas. O mais impressionante é que o AlphaGo Zero não faz uso de qualquer conhecimento especialista prévio, ou seja, ao contrário das 30 milhões de jogadas estudadas que o AlphaGo Lee usou para se tornar um especialista, esta nova versão utilizou nenhuma, nada, Zero! O AlphaGo Zero é treinado unicamente a partir de jogos contra ele mesmo. O grande diferencial dessa nova versão reside na arquitetura de aprendizagem por reforço, que intercala seguidamente o treinamento de uma rede neuronal convolucional (CNN) com a busca em árvore de jogo via método de Monte Carlo (MCTS) para prever o resultado da partida caso determinada jogada seja feita naquele momento de jogo. Mais especificamente, os parâmetros da CNN são atualizados de modo a maximizar a similaridade da Política de jogo em adoção com os resultados da busca do MCTS e minimizar o erro entre o vencedor previsto pela CNN e quem venceu de verdade ao final. Ao mesmo tempo, a busca MCTS utiliza as configurações correntes da rede neuronal para realizar essa previsão. Esse processo intercalado permanece até que a CNN obtenha o melhor ajuste de parâmetros possível para as métricas de avaliação.

No artigo de setembro passado, “Doutor, eu vou morrer!?? Um momento. Processando…”, falo sobre a necessidade de buscarmos a criação de inteligências artificiais que minimizem a necessidade de gigantescas quantidades de dados para serem efetivas, úteis, uma vez que, de fato, para muitos problemas da sociedade não a teremos ou a teremos com extrema dificuldade, a custo de um esforço quase sobre-humano de coleta e rotulação adequada para viabilizar o treinamento supervisionado de modelos. Uma máquina que joga bem o Go, o Xadrez ou o Pôquer não resolverá os problemas do planeta. Isso é certo. Mas ao ignorar toda a base de conhecimento humana do jogo, a Ciência do AlphaGo Zero caminha na direção de, quem sabe um dia, descobrir seja o lá o que se passava na cabeça do Sr. Nash e o que fez estar tão seguro de que venceria o jogo apenas por conhecer suas regras. E se existe uma coisa que a história da humanidade prova que não se pode jamais ignorar e que, portanto, a Inteligência Artificial deve obstinadamente perseguir, é a compreensão dos meandros de funcionamento de uma “mente brilhante”.

[1] Crédito da imagem: Tomasz Mikołajczyk (Pixabay) / Creative Commons CC0. URL: https://pixabay.com/pt/jogo-go-tabela-a-placa-362619/.

[2] D Silver et al. Mastering the game of Go with deep neural networks and tree search. Nature 529, 484 (2016).

[3] D Silver et al. Mastering the game of Go without human knowledge. Nature 550, 354 (2017).

Como citar este artigo: Hendrik Macedo. Go machine, go! Saense. URL: http://www.saense.com.br/2017/11/go-machine-go/. Publicado em 03 de novembro (2017).

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.

Deixe uma resposta

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