Recentemente, pesquisadores do Google DeepMind publicaram um artigo , onde descreviam um sistema de jogo Go que superava os melhores programas de computador atuais e o campeão europeu humano.
Dei uma rápida olhada nesse artigo, e parece que ele está usando muitas idéias interessantes de artigos anteriores. O que eles fizeram de maneira diferente que lhes permitiu alcançar essa melhoria espetacular?
reinforcement-learning
Valentas
fonte
fonte
Respostas:
Os programas existentes antes do AlphaGo foram baseados em:
1) Redes neurais convolucionais (CNN), treinadas em um banco de dados de jogos existentes.
OU
2) Pesquisa de árvore em Monte Carlo (MCTS)
AlphaGo é baseado em uma combinação de:
A) aprendizado por reforço: treine redes deixando versões das CNN (veja acima) jogarem umas contra as outras.
E
B) MCTS usando movimentos gerados pela etapa A)
Além disso, o desempenho foi aprimorado ainda mais usando a computação distribuída com grandes quantidades de CPU e GPU.
Portanto, a novidade foi a combinação das técnicas acima A) e B).
fonte
Nada nos componentes que eles usaram é novo. Todas as abordagens foram exploradas. Verificando suas referências, você notará muitos pesquisadores fazendo trabalhos semelhantes. A novidade foi o pipeline que eles seguiram e a combinação de abordagens de Aprendizagem por Reforço sem modelo e com base em modelo. Vou tentar dar uma perspectiva diferente não técnica sobre o que eles capturaram.
As abordagens sem modelo geralmente tentam aproximar funções como funções Value (representando o quão bom é estar em um determinado estado - configuração da placa - em termos de recompensa futura) ou funções de política parametrizadas (probabilidades de selecionar uma ação dada um estado. , seu modelo ganha algum tipo de ' intuição ' em que os movimentos são relativamente bons - algo semelhante à intuição que os jogadores profissionais de Go têm, quando declaram que fazem um movimento porque 'se sente' bem. Isso é muito importante no estágio inicial do jogo quando o planejamento é ineficiente para uso.
As abordagens baseadas em modelo tentam simular todas as trajetórias possíveis do jogo na forma de uma árvore de decisão. Assim, eles são úteis para o planejamento (antes de você realmente fazer uma jogada no jogo, você verifica e avalia todas as contingências possíveis e depois decide qual jogada tomar da sua posição atual). O MCTS é um algoritmo desse tipo, cria uma árvore de decisão sobre possíveis cursos futuros do jogo a partir da posição atual do tabuleiro e avalia essas heurísticas de acordo com alguns critérios. Os melhores algoritmos do Go até agora foram baseados nesse algoritmo (e é considerado um algoritmo RL).
Assim, em termos de novidade, com poucas palavras: combinação de planejamento e intuição, o que significa combinação do algoritmo MCTS com aproximadores de função para avaliação das trajetórias simuladas do jogo. Nesse caso, eles usaram redes neurais convolucionais muito profundas para a parte "intuição". Além disso, o modelo inteiro é orientado por dados, pois foi treinado pela primeira vez em movimentos de especialistas humanos (isso pode ser útil em aplicativos em muitos outros domínios além dos jogos). Se você examinar todos os componentes, não há nada novo ... mas todo o processo para combinar efetivamente todos esses elementos e alcançar o domínio nesse domínio complexo é algo novo. Espero que ajude!
fonte