Eu acho que o OP estava confuso sobre AlphaGo com alfa-beta. Em alfa-beta, você realmente usaria a rede de políticas para ajudar na poda, mas não aqui. Novamente, não há poda, pois o algoritmo se baseia na pesquisa de árvores de Monte-Carlo (MCTS).
Quem pensa que minha resposta é muito longa pode pular para a seção de resumo, onde declaro por que as duas redes não são redundantes.
No exemplo a seguir, farei algumas simplificações para facilitar a compreensão de minhas idéias.
Exemplo:
Imagine que você tem uma posição em que existem dois movimentos legais. O primeiro passo é um ponto morto para você, no entanto, o segundo passo oferece uma vantagem vencedora.
- Primeiro passo: perda forçada para você
- Segundo passo: vitória forçada para você
Rede de avaliação
Vamos supor que a rede de avaliação que o Google oferece é perfeita. Ele pode avaliar perfeitamente qualquer posição da folha em nosso exemplo. Não mudaremos nossa rede de valor no exemplo.
Para simplificar nosso exemplo, vamos assumir que nossa rede de valor fornece:
- -1000 para qualquer posição da folha que seja uma perda para você
- +1000 para qualquer posição da folha que seja uma vitória para você
Rede de políticas
Vamos supor que o Google oferece duas redes de políticas. As probabilidades geradas para nossa posição são:
- Política 1: 0,9 para a movimentação 1 e 0,1 para a movimentação 2
- Política 2: 0,2 para a movimentação 1 e 0,8 para a movimentação 2.
Observe que nossa primeira rede de políticas fornece probabilidade anterior incorreta para o nosso exemplo. Dá 0,9 para a jogada 1, que é uma jogada perdida. Isso é bom porque nem mesmo o Google poderia treinar uma rede de políticas perfeita.
Jogando com a primeira rede de políticas
O AlphaGo precisa gerar uma simulação com o Monte-Carlo e precisa escolher o movimento 1 ou 2. Agora, o AlphaGo desenha uma variável aleatória distribuída de maneira uniforme e escolhe:
- Mova 1 se o número aleatório for <= 0,9
- Mova 2 se o número aleatório for> 0,9
Portanto, é muito mais provável que o AlphaGo escolha a jogada perdida para simular (em nossa primeira simulação). Em nossa primeira simulação, também usaremos a rede de valor para obter uma pontuação para a simulação. No jornal, é:
Esse valor seria -1000, porque essa simulação levaria a uma perda.
Agora, o AlphaGo precisa gerar a segunda simulação. Novamente, o primeiro passo seria muito mais provável. Mas, eventualmente, a segunda jogada seria escolhida porque:
- Nossa probabilidade anterior para o segundo movimento é 0,1, não zero
- O AlphaGo é incentivado a tentar movimentos que não foram muito explorados. No artigo, isso é feito por esta equação:
Observe que N
é o número de movimentos pesquisados para o movimento e está no denominador. Quanto mais provável a pesquisa de nosso primeiro movimento, menor a u
função. Assim, a probabilidade de selecionar nosso segundo movimento aumenta porque o AlphaGo realmente escolhe um movimento por esta equação:
Esta é a equação chave . Por favor, olhe com cuidado:
- Tem um termo
P
para a probabilidade anterior (fornecida pela rede de políticas)
- Tem um termo
Q
para as pontuações da avaliação (fornecidas pela rede de valor)
Agora, sabemos que nosso segundo passo será finalmente escolhido. Quando isso acontece, a rede de valor dá +1000. Isso aumentará Q
, o que torna a segunda jogada muito mais provável de ser escolhida nas simulações posteriores.
Dadas simulações suficientes, o número de vezes que o segundo movimento é escolhido para simulação deve ser maior que o número de vezes que o primeiro movimento é escolhido.
Por fim, a decisão que o AlphaGo decide fazer é (citada no artigo):
Quando a pesquisa é concluída, o algoritmo escolhe o movimento mais visitado da posição raiz.
Brincando com a segunda rede de políticas
Nossa segunda rede de políticas precisará de menos iterações para escolher a mudança 2, porque a probabilidade anterior fornecida pela rede de políticas está correta em primeiro lugar.
Observações
Tudo aqui é muito semelhante à Bayesian
análise. Começamos com alguma probabilidade anterior (fornecida pela rede de políticas) e, em seguida, geramos dados para mover a distorção de probabilidade (fornecida pela rede de valores).
Resumos
- A rede de políticas é usada para gerar probabilidades anteriores para orientar qual movimento a pesquisa de Monte-Carlo deve escolher
- Rede de valor é usada para gerar dados para validar a rede de políticas. Se a rede de políticas estiver ruim, o AlphaGo precisaria de mais recursos de computação para convergir (se é que alguma vez).
- Você pode pensar nisso como análise bayesiana