AlphaGo (e outros programas de jogos usando aprendizado por reforço) sem banco de dados humano


14

Não sou especialista no assunto e minha pergunta é provavelmente muito ingênua. Ele decorre de um ensaio para entender os poderes e as limitações do aprendizado por reforço, conforme usado no programa AlphaGo.

O programa AlphaGo foi construído usando, entre outras coisas (exploração de árvores em Monte-Carlo, etc.), redes neurais que são treinadas a partir de um enorme banco de dados de jogos jogados jogados por seres humanos e que são então reforçadas ao permitir versões do jogo programa contra si mesmo muitas vezes.

Agora, me pergunto o que aconteceria se tentássemos criar um programa sem banco de dados humano, ou seja, começando com um programa básico de Go, conhecendo regras e algum método para explorar árvores, e jogando contra si mesmo para melhorar sua rede neural. Após muitos jogos contra si, chegaremos a um programa capaz de competir ou vencer os melhores jogadores humanos? E se sim, quantos jogos (em ordem de magnitude) seriam necessários para isso? Ou, pelo contrário, esse programa irá convergir para um player muito mais fraco?

Suponho que o experimento não tenha sido realizado, pois o AlphaGo é tão recente. Mas a resposta pode, no entanto, ser óbvia para um especialista. Caso contrário, qualquer palpite educado me interessará.

Pode-se também fazer a mesma pergunta para jogos "mais simples". Se usarmos aproximadamente as mesmas técnicas de aprendizado por reforço usadas para o AlphaGo, mas sem o uso de banco de dados humano, para um programa de xadrez, conseguiríamos um programa capaz de derrotar o melhor humano? E se sim, com que rapidez? Isso já foi tentado? Ou, se não for para o xadrez, que tal damas ou jogos ainda mais simples?

Muito obrigado.

Respostas:


11

Não sou especialista, mas parece que o AlphaGo Zero responde à sua pergunta. https://deepmind.com/blog/alphago-zero-learning-scratch/

As versões anteriores do AlphaGo treinavam inicialmente em milhares de jogos amadores e profissionais para aprender a jogar Go. O AlphaGo Zero pula esta etapa e aprende a jogar simplesmente jogando contra si mesmo, começando de um jogo completamente aleatório. Ao fazer isso, ele rapidamente superou o nível de jogo humano e derrotou a versão derrotada pelo campeão do AlphaGo publicada em 100 jogos a 0.


Isso é mais recente?
Kosmos

1
Isto foi publicado em 18 de outubro de 2017.
ncasas

Seria interessante saber resultados contra seres humanos. Porque uma razão para o banco de dados humano pré-treinado é refinar o algoritmo MCTS contra oponentes humanos . O AlphaGo original foi otimizado para jogar contra seres humanos, não com outros ML. Como tal, é mais difícil dizer se o AlphaGo Zero é estritamente "melhor" do que o AlphaGo original, ou apenas o domina no sentido da teoria dos jogos - por exemplo, o AlphaGo Zero vence o AlphaGo vence Lee Sedol vence o AlphaGo Zero. . .
Neil Slater

4
Neil, sim, isso seria interessante. Mas eu não apostaria um centavo das chances humanas contra o Alpha Go zero.
Joël

1
Q

9

A mesma pergunta foi feita ao autor do artigo AlphaGo e sua resposta foi que não sabemos o que aconteceria se o AlphaGo aprendesse do zero (eles não o testaram).

No entanto, dada a complexidade do jogo, seria uma tarefa difícil treinar um algoritmo do zero sem conhecimento prévio. Assim, é razoável no início começar a construir um sistema desse tipo, atualizando-o para um nível de Mestre usando o conhecimento adquirido por seres humanos.

Vale ressaltar que, embora o ser humano se mova influenciando a seleção de ação nos nós da árvore (estados), esse anterior tem um fator de decaimento. Isso significa que o aumento de visitas a um estado específico reduz a força do anterior para incentivar o algoritmo a explorar.

O nível atual de Mastery of AlphaGo é desconhecido até que ponto está próximo ou distante do modo de jogar de um ser humano (no torneio, ele fez um movimento que um humano tinha quase zero de probabilidade de executar! - mas também fez alguns movimentos muito ruins) . Possivelmente resta responder a todas essas perguntas implementando os algoritmos de teste correspondentes.

Devo editar minha resposta, pois o artigo recente do DeepMind responde à sua pergunta. Houve muitos avanços que surgiram de toda a experiência anterior com a primeira versão do AlphaGo e vale a pena lê-lo.


Você é bem-vindo :)
Constantinos

8

Tanto quanto eu entendi o algoritmo do AlphaGo, ele se baseia em uma estrutura de aprendizagem simples por reforço (RL), usando a pesquisa em árvore Monte-Carlo para selecionar as melhores ações. Além disso, os estados e ações cobertos pelo algoritmo RL não são simplesmente toda a configuração possível do jogo (o Go tem uma enorme complexidade), mas baseiam-se em uma rede de políticas e uma rede de valor, aprendida com jogos reais e depois melhorado por jogar jogos AlphaGo vs AlphaGo.

Então, podemos nos perguntar se o treinamento em jogos reais é apenas um atalho para economizar tempo ou uma opção necessária para obter essa eficiência. Acho que ninguém realmente sabe a resposta, mas podemos afirmar algumas suposições. Primeiro, a capacidade humana de promover boas jogadas se deve a uma inteligência muito mais complexa do que uma simples rede neural. Para jogos de tabuleiro, é uma mistura entre memória, experiência, lógica e sentimentos. Nessa direção, não tenho certeza de que o algoritmo AlphaGo possa criar esse modelo sem explorar explicitamente uma grande porcentagem de toda a configuração do jogo Go (o que é praticamente impossível). As pesquisas atuais se concentram na construção de uma representação mais complexa de um jogo como RL relacional ou aprendizado de lógica indutiva. Depois, para jogos mais simples (pode ser o caso do xadrez, mas não há certeza),

Ainda assim, é apenas uma opinião. Mas tenho certeza de que a chave para responder sua pergunta reside na abordagem de RL que hoje em dia ainda é bastante simples em termos de conhecimento. Nós realmente não somos capazes de identificar o que nos torna capazes de lidar com esses jogos, e a melhor maneira que encontramos até agora para derrotar humanos é aprender aproximadamente com ele e melhorar (um pouco) o modelo aprendido com cálculos maciços.


1

A reprodução automática competitiva sem banco de dados humano é possível até para ambientes complicados, parcialmente observados. A OpenAI está se concentrando nessa direção. De acordo com este artigo :

A reprodução automática garante que o ambiente seja sempre a dificuldade certa para uma IA melhorar.

Essa é uma razão importante para o sucesso do jogo pessoal.

A OpenAI alcançou resultados sobre-humanos para o Dota 2 1v1, em 11 de agosto de 2017, derrotou o Dendi por 2-0 sob as regras padrão do torneio.

O bot aprendeu o jogo do zero por auto-jogo e não usa imitação de aprendizado ou pesquisa em árvore. Este é um passo em direção à construção de sistemas de IA que atingem objetivos bem definidos em situações complicadas e complicadas que envolvem humanos reais.

Não apenas jogos, essa direção também é promissora para tarefas de robótica.

Descobrimos que o auto-jogo permite que as IAs simuladas descubram habilidades físicas como atacar, abaixar, fingir, chutar, pegar e mergulhar para a bola, sem criar explicitamente um ambiente com essas habilidades em mente.

Na próxima etapa, eles estendem o método para aprender a cooperar, competir e se comunicar , e não apenas limitar-se a jogar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.