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.
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.
fonte
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.
fonte
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 :
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.
Não apenas jogos, essa direção também é promissora para tarefas de robótica.
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.
fonte