Pular para o conteúdo principal

Guia de Artigos Importantes

Este artigo organiza os artigos mais importantes na historia do desenvolvimento da IA de Go, fornecendo resumos e pontos tecnicos para compreensao rapida.


Visao Geral dos Artigos

Linha do Tempo

2006  Coulom - MCTS aplicado ao Go pela primeira vez
2016 Silver et al. - AlphaGo (Nature)
2017 Silver et al. - AlphaGo Zero (Nature)
2017 Silver et al. - AlphaZero
2019 Wu - KataGo
2020+ Varias melhorias e aplicacoes

Sugestoes de Leitura

ObjetivoArtigo Recomendado
Entender o basicoAlphaGo (2016)
Entender auto-jogoAlphaGo Zero (2017)
Entender metodo geralAlphaZero (2017)
Referencia de implementacaoKataGo (2019)

1. O Nascimento do MCTS (2006)

Informacoes do Artigo

Titulo: Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search
Autor: Remi Coulom
Publicacao: Computers and Games 2006

Contribuicao Principal

Primeira aplicacao sistematica de metodos de Monte Carlo ao Go:

Antes: Simulacao puramente aleatoria, sem estrutura de arvore
Depois: Construcao de arvore de busca + selecao UCB + retropropagacao de estatisticas

Conceitos-Chave

Formula UCB1

Pontuacao de selecao = Taxa media de vitoria + C × sqrt(ln(N) / n)

Onde:
- N: Contagem de visitas do no pai
- n: Contagem de visitas do no filho
- C: Constante de exploracao

Quatro Etapas do MCTS

1. Selection: Seleciona nos usando UCB
2. Expansion: Expande novos nos
3. Simulation: Simula aleatoriamente ate o fim
4. Backpropagation: Retropropaga vitoria/derrota

Impacto

  • Elevou a IA de Go ao nivel amador dan
  • Tornou-se a base de todas as IAs de Go subsequentes
  • Conceito UCB influenciou o desenvolvimento do PUCT

2. AlphaGo (2016)

Informacoes do Artigo

Titulo: Mastering the game of Go with deep neural networks and tree search
Autores: Silver, D., Huang, A., Maddison, C.J., et al.
Publicacao: Nature, 2016
DOI: 10.1038/nature16961

Contribuicao Principal

Primeira combinacao de deep learning com MCTS, derrotando o campeao mundial humano.

Arquitetura do Sistema

Pontos Tecnicos

1. Policy Network com Aprendizado Supervisionado

# Recursos de entrada (48 planos)
- Posicao das pedras proprias
- Posicao das pedras do oponente
- Numero de liberdades
- Estado apos captura
- Posicoes de jogadas legais
- Posicoes das ultimas jogadas
...

2. Melhoria com Aprendizado por Reforco

SL Policy → Auto-jogo → RL Policy

RL Policy e ~80% mais forte que SL Policy em taxa de vitoria

3. Treinamento da Value Network

Chave para evitar overfitting:
- Pegar apenas uma posicao de cada jogo
- Evitar repeticao de posicoes similares

4. Integracao MCTS

Avaliacao de no folha = 0.5 × Value Network + 0.5 × Rollout

Rollout usa Policy Network rapida (menor precisao mas mais velocidade)

Dados-Chave

ItemValor
Precisao SL Policy57%
Taxa de vitoria RL Policy vs SL Policy80%
GPUs de treinamento176
TPUs de jogo48

3. AlphaGo Zero (2017)

Informacoes do Artigo

Titulo: Mastering the game of Go without human knowledge
Autores: Silver, D., Schrittwieser, J., Simonyan, K., et al.
Publicacao: Nature, 2017
DOI: 10.1038/nature24270

Contribuicao Principal

Nao precisa de registros humanos, aprende do zero por auto-aprendizado.

Diferencas em Relacao ao AlphaGo

AspectoAlphaGoAlphaGo Zero
Registros humanosPrecisaNao precisa
Numero de redes41 com duas cabecas
Planos de entrada4817
RolloutUsaNao usa
Rede residualNaoSim
Tempo de treinamentoMeses3 dias

Inovacoes-Chave

1. Rede Unica com Duas Cabecas

2. Recursos de Entrada Simplificados

# Apenas 17 planos de recursos necessarios
features = [
current_player_stones, # Pedras proprias
opponent_stones, # Pedras do oponente
history_1_player, # Estado historico 1
history_1_opponent,
... # Estados historicos 2-7
color_to_play # De quem e a vez
]

3. Avaliacao Pura com Value Network

Nao usa mais Rollout
Avaliacao de no folha = Saida da Value Network

Mais simples e rapido

4. Fluxo de Treinamento

Curva de Aprendizado

Tempo de treinamento    Elo
─────────────────────────────
3 horas Iniciante
24 horas Supera AlphaGo Lee
72 horas Supera AlphaGo Master

4. AlphaZero (2017)

Informacoes do Artigo

Titulo: Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm
Autores: Silver, D., Hubert, T., Schrittwieser, J., et al.
Publicacao: arXiv:1712.01815 (depois publicado na Science, 2018)

Contribuicao Principal

Generalizacao: Mesmo algoritmo aplicado a Go, xadrez e shogi.

Arquitetura Geral

Codificacao de entrada (especifica do jogo) → Rede residual (geral) → Saida com duas cabecas (geral)

Adaptacao Entre Jogos

JogoPlanos de EntradaEspaco de AcoesTempo de Treinamento
Go1736240 dias
Xadrez11946729 horas
Shogi3621125912 horas

Melhorias no MCTS

Formula PUCT

Pontuacao de selecao = Q(s,a) + c(s) × P(s,a) × sqrt(N(s)) / (1 + N(s,a))

c(s) = log((1 + N(s) + c_base) / c_base) + c_init

Ruido de Exploracao

# Adicionar ruido de Dirichlet no no raiz
P(s,a) = (1 - epsilon) × p_a + epsilon × eta_a

eta ~ Dir(alpha)
alpha = 0.03 (Go), 0.3 (xadrez), 0.15 (shogi)

5. KataGo (2019)

Informacoes do Artigo

Titulo: Accelerating Self-Play Learning in Go
Autor: David J. Wu
Publicacao: arXiv:1902.10565

Contribuicao Principal

Aumento de eficiencia de 50x, permitindo que desenvolvedores individuais treinem IAs de Go poderosas.

Inovacoes-Chave

1. Objetivos de Treinamento Auxiliares

Perda total = Policy Loss + Value Loss +
Score Loss + Ownership Loss + ...

Objetivos auxiliares fazem a rede convergir mais rapido

2. Recursos Globais

# Camada de pooling global
global_features = global_avg_pool(conv_features)
# Combinar com recursos locais
combined = concat(conv_features, broadcast(global_features))

3. Randomizacao de Playout Cap

Tradicional: Busca fixa de N vezes
KataGo: N amostrado de uma distribuicao

Permite que a rede tenha bom desempenho em varias profundidades de busca

4. Tamanho de Tabuleiro Progressivo

if training_step < 1000000:
board_size = random.choice([9, 13, 19])
else:
board_size = 19

Comparacao de Eficiencia

MetricaAlphaZeroKataGo
Dias de GPU para nivel sobre-humano5000100
Aumento de eficienciaBase50x

6. Artigos Relacionados

MuZero (2020)

Titulo: Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model
Contribuicao: Aprende modelo de dinamica do ambiente, nao precisa de regras do jogo

EfficientZero (2021)

Titulo: Mastering Atari Games with Limited Data
Contribuicao: Grande melhoria na eficiencia de amostragem

Gumbel AlphaZero (2022)

Titulo: Policy Improvement by Planning with Gumbel
Contribuicao: Metodo melhorado de melhoria de politica

Sugestoes de Leitura de Artigos

Ordem para Iniciantes

1. AlphaGo (2016) - Entender arquitetura basica
2. AlphaGo Zero (2017) - Entender auto-jogo
3. KataGo (2019) - Entender detalhes de implementacao

Ordem Avancada

4. AlphaZero (2017) - Generalizacao
5. MuZero (2020) - Aprender modelo do mundo
6. Artigo original do MCTS - Entender fundamentos

Tecnicas de Leitura

  1. Ver resumo e conclusao primeiro: Captar rapidamente a contribuicao principal
  2. Ver figuras e tabelas: Entender arquitetura geral
  3. Ver secao de metodos: Entender detalhes tecnicos
  4. Ver apendice: Encontrar detalhes de implementacao e hiperparametros

PDFs dos Artigos

ArtigoLink
AlphaGoNature
AlphaGo ZeroNature
AlphaZeroScience
KataGoarXiv

Implementacoes Open Source

ProjetoLink
KataGoGitHub
Leela ZeroGitHub
MiniGoGitHub

Leitura Adicional