AlphaZero:IA do Google conquista o xadrez e vai em 24 horas
Os jogos de tabuleiro (como o xadrez) são um campo amplamente estudado na história da inteligência artificial. Pioneiros como Turing, Babbage, von Neumann e Shannon desenvolveram teorias, algoritmos e hardwares para analisar e jogar xadrez. E nos últimos anos, vimos programas semelhantes que superam os humanos em jogos muito mais complexos como Go e Shogi (xadrez japonês).
O Deepmind do Google tem um histórico fenomenal quando se trata de derrotar humanos em jogos de tabuleiro. Em 2015, seu projeto AlphaGo se tornou o primeiro programa Go de computador a vencer um humano (um jogador profissional de Go). E agora eles desenvolveram um programa AlphaGo que pode aprender o jogo de xadrez sozinho e vencer humanos ou qualquer outro programa de computador (incluindo Stockfish e Deep Blue) em quase 4 horas.
Os programas convencionais de IA (de jogos de tabuleiro) são altamente otimizados para seu domínio e não podem ser generalizados para outros problemas sem intervenção humana. O programa AlphaZero, por outro lado, pode alcançar um desempenho sobre-humano em vários domínios desafiadores. Sem nenhum conhecimento prévio, exceto as regras do jogo e partindo do jogo aleatório, AlphaZero alcançou um nível de jogo sobre-humano em 24 horas nos jogos de Xadrez, Shogi e Go, e derrotou o melhor programa do mundo em cada caso. Como eles fizeram isso e quais são os resultados exatos? Vamos descobrir.
Metodologia
Em outubro de 2017, Deepmind anunciou que seu algoritmo AlphaGo Zero alcançou desempenho sobre-humano usando rede neural de convolução profunda e treinado exclusivamente por aprendizagem por reforço. Os engenheiros usaram a mesma abordagem para construir um algoritmo genérico, chamado AlphaZero, que substitui os aumentos específicos de domínio e o conhecimento artesanal usado em algoritmos de jogos convencionais por redes neurais profundas. e um algoritmo de aprendizagem por reforço tabula rasa .
AlphaZero usa MCTS de uso geral Algoritmo (Monte-Carlo Tree Search) em vez de pesquisa alfa-beta. Ele aprende estimativas de valor e probabilidades de movimento jogando contra si mesmo e depois usa as informações aprendidas para orientar sua busca.
Como ele é diferente do algoritmo AlphaGo Zero
O algoritmo AlphaGo Zero estima e otimiza a probabilidade de vitória, levando em consideração resultados binários de vitória ou perda. Já o AlphaZero estima e otimiza o resultado esperado, considerando empates ou outros resultados potenciais.
As regras do jogo Go são invariantes à reflexão e à rotação. Esse fato é muito bem utilizado tanto no AlphaGo quanto em sua versão avançada AlphaGo Zero de duas maneiras.
- Aumente os dados de treinamento criando oito simetrias para cada posição.
- Transforme a posição por meio de uma reflexão ou rotação selecionada aleatoriamente antes de ser computada pela rede neural, no algoritmo MCTS, para que a média do cálculo seja calculada sobre diferentes vieses.
No caso do xadrez e do shogi, as regras são assimétricas e não se pode assumir simetrias em geral. No AlphaZero, os dados de treinamento não são aumentados e a posição do conselho não é transformada durante o MCTS.
AlphaGo Zero usa o melhor jogador de iterações anteriores para gerar um jogo auto-jogo. Após a conclusão de cada iteração, o desempenho do novo jogador é avaliado em relação ao melhor jogador. Se for ganho por uma margem de 55 por cento, o melhor jogador é substituído e os jogos auto-jogos são gerados pelo novo jogador. No entanto, o AlphaZero mantém uma única rede neural (atualizada continuamente) em vez de pausar até que uma iteração seja concluída.
Otimização e treinamento AlphaZero
AlphaZero usa hiperparâmetros para todos os jogos sem qualquer otimização específica do jogo. Para garantir a exploração, é integrado um fator de ruído, que é dimensionado proporcionalmente ao número de movimentos legítimos para aquele tipo de jogo.
Assim como o AlphaGo Zero, o estado do tabuleiro é codificado por planos espaciais e as ações são codificadas por planos espaciais ou por um vetor plano, com base nas regras básicas de cada jogo.
Os desenvolvedores aplicaram AlphaZero ao xadrez, shogi e Go. A mesma arquitetura de rede, hiperparâmetros e configurações foram usadas para todos os 3 jogos. Uma instância individual do algoritmo é treinada para cada jogo. A partir de parâmetros inicializados aleatoriamente, o treinamento foi conduzido em 700.000 etapas, usando 5.000 unidades de processamento tensor de primeira geração para construir jogos auto-play e 64 unidades de processamento tensor de segunda geração para treinar as redes neurais.
Referência: arxiv.org
Resultados
Como você pode ver na figura, o AlphaZero superou o Stockfish após 300.000 passos (após 4 horas) no xadrez; superou o Elmo em 110.000 passos (em 2 horas); e superou AlphaGo Lee em 165.000 passos (após 8 horas).
As instâncias totalmente treinadas (treinadas por 3 dias) do AlphaZero foram testadas contra AlphaGo Zero, Elmo e Stockfish, jogando 100 partidas no tempo de 1 minuto por movimento. Os resultados foram bastante impressionantes (mencionados na tabela abaixo).
AlphaGo Zero e AlphaZero usaram uma única máquina com 4 unidades de processamento tensor, Elmo e Stockfish tiveram o melhor desempenho usando 64 threads e 1 GB de tamanho de hash. AlphaZero derrotou todos eles, perdendo 8 jogos para Elmo e nenhum para Stockfish.
Os desenvolvedores do Google também examinaram o desempenho da pesquisa MCTS no AlphaZero. Ele procura 40.000 posições por segundo no shogi e 80.000 no xadrez, em comparação com 35.000.000 para Elmo e 70 milhões para Stockfish. AlphaZero usa sua rede neural profunda para focar de forma mais seletiva nas opções mais promissoras, ou você pode dizer uma abordagem mais humana.
Leia:15 melhores motores de xadrez com base em suas classificações
Embora o AlphaZero ainda esteja na sua infância, constitui um passo importante em direção ao seu objetivo. Se abordagens semelhantes puderem ser aplicadas a outros problemas estruturados, como enovelamento de proteínas, descoberta de novos materiais ou diminuição do consumo de energia, os resultados terão o potencial de impactar nosso futuro de maneira positiva.
Tecnologia industrial
- Estampagem de Metal Quente 101
- Modulação por largura de pulso
- Ferro Fundido - Propriedades, Tipos e Usos
- A economia da Índia surge esperançosa após um ano turbulento
- O que é usinagem a laser? - Tipos e funcionamento
- Introdução à tecnologia de banda ultralarga (UWB)
- O Amplificador de drenagem comum (IGFET)
- Filtros passa-alta
- Fasteners 101:Tipos de Fasteners e como escolhê-los
- 26 Aplicativos e ferramentas essenciais de marketing digital (incluindo os gratuitos)