Eu estava lendo um resumo de alto nível sobre o AlphaGo do Google ( http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html ) e me deparei com os termos "política rede "e" rede de valor ". Em um nível alto, entendo que a rede de políticas é usada para sugerir movimentos e a rede de valores é usada para "Reduzir a profundidade da árvore de pesquisa [e estimar] o vencedor em cada posição no lugar de pesquisar todo o caminho até o Fim do jogo."
Essas duas redes parecem redundantes para mim. O que a rede de políticas está fazendo se não estiver usando a rede de valor para podar suas políticas? Parece bem claro que a rede de valor é uma rede neural de aprendizado profundo; a rede política é apenas uma abstração teórica e não uma rede neural real? A variável alvo para a rede de valor parece ser ganho / perda. Existe uma variável de destino para a rede de políticas; Se assim for, o que é? O que a rede de políticas está tentando otimizar?
O pdf completo do artigo do Google, publicado na Nature, pode ser encontrado aqui: https://vk.com/doc-44016343_437229031?dl=56ce06e325d42fbc72
fonte
Respostas:
Em resumo, cada rede tem um propósito diferente, como você mencionou:
Em geral, você pode usar métodos de função de valor para encontrar uma política ideal ou pesquisar diretamente no espaço de políticas para otimizar uma função de política parametrizada (é claro que existem prós e contras). Você pode usar aproximadores de função (por exemplo, redes profundas) em cada caso. Vejo que principalmente você está confuso sobre a rede de políticas, por isso concentro minha resposta nisso.
A rede de políticas foi a primeira:
treinado para executar os movimentos que provavelmente um ser humano faria em um estado da placa (portanto, a entrada é um estado da placa e a saída é um histograma que mostra a probabilidade de cada ação em relação a esse estado). A rede pode aproximar a função de probabilidade subjacente ao mapeamento de estados para ações. É razoável pensar em começar a criar sua política a partir dos dados disponíveis. Após o treinamento supervisionado com movimentos de especialistas, a rede de políticas pode jogar o jogo suficiente (embora longe do nível de mestrado). Simplesmente, você tentou capturar o padrão geral de seleção de ações de jogadores profissionais.
Então,
foi treinado em jogos com o próprio oponente, a fim de otimizar a política aprendida anteriormente. Desta vez, seus pesos foram atualizados usando o algoritmo REINFORCE. Ao fazer isso, você atualiza os parâmetros da rede para maximizar a recompensa esperada. Eventualmente, você tem uma rede que não apenas seleciona as ações como um jogador profissional, mas também para ganhar o jogo (no entanto, não pode planejar!).
Após essa etapa, eles aproximaram a função de valor de uma versão um pouco mais barulhenta da política aprendida, por regressão (a entrada é o quadro de estado e visa o resultado do jogo). Você pode usar esta rede para afetar a avaliação do nó folha.
Conceitualmente falando, a rede de políticas oferece uma probabilidade de ações, mas isso não indica que você acabará em um estado bom para vencer o jogo. AlphaGo teve alguns "pontos cegos" e durante o torneio fez alguns movimentos muito ruins, mas também um movimento excepcional que um humano nunca poderia ter pensado.
Finalmente, você pode usar seu algoritmo de planejamento (MCTS) em combinação com essas redes. Por que demos todos esses passos? Resumidamente, o MCTS simples, sem qualquer "intuição", teria falhado.
fonte
Aqui está o meu processo de pensamento conciso na compreensão das duas redes diferentes.
Antes de tudo, o objetivo é encontrar uma solução ótima (ou quase ótima) sem usar uma pesquisa exaustiva, o que é definitivamente um desafio.
Por posição ou estado, haverá N movimentos possíveis e, a cada movimento, haverá sua própria profundidade D em uma árvore de pesquisa completa. É teoricamente ou matematicamente possível percorrer todos os caminhos e encontrar uma (s) solução (s) ideal (is). No entanto, não queremos fazer uma pesquisa completa.
Agora, temos duas perguntas separadas para o desenvolvimento de uma abordagem de aproximação.
Q1 Como podemos ignorar ou desconsiderar alguns movimentos fora de N por posição? (ou seja, redução da respiração)
Q2 Como podemos parar em uma profundidade intermediária em uma árvore de pesquisa, em vez de caminhar até o final do jogo, sem deixar de encontrar uma solução ideal? (ou seja, redução de profundidade)
A rede de políticas foi projetada principalmente para filtrar movimentos inúteis de N, mas sem deixar de encontrar uma solução ideal. Aqui, essa rede conta inicialmente com movimentos de especialistas humanos, ou seja, SL, e aprimorada pela RL posteriormente.
A rede de valor é projetada principalmente para encontrar a probabilidade de ganhar sem uma pesquisa completa.
Essas duas redes têm um objetivo comum de encontrar uma solução ideal. No entanto, em cada opção estratégica de movimento, cada rede desempenha um papel diferente.
Eu só espero que isso ajude. Eu sei que ainda estaria em um nível alto.
fonte
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.
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:
Rede de políticas
Vamos supor que o Google oferece duas redes de políticas. As probabilidades geradas para nossa posição são:
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:
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:
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 au
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:
P
para a probabilidade anterior (fornecida pela rede de políticas)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):
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
fonte
Rede de políticas : a rede que aprende a fornecer uma saída definitiva, fornecendo uma entrada específica para o jogo, é conhecida como rede de políticas.
Redes de valor : a rede de valor atribui valor / pontuação ao estado do jogo, calculando uma pontuação cumulativa esperada para o estado atual
s
. Todo estado passa pela rede de valor. Os estados que recebem mais recompensa obviamente agregam mais valor à rede.Melhor entendimento com as animações Clique aqui: Redes de políticas versus redes de valor no aprendizado por reforço
fonte
Pelo que entendi a diferença está nas saídas. Onde a rede de políticas gera uma distribuição de probabilidade entre os movimentos possíveis, a rede de valores retorna um valor real que pode ser interpretado como a probabilidade de vitória, dada a configuração desta placa. A partir daí, a pesquisa na árvore Monte-Carlo é realizada com base nas principais movimentações de K e, em seguida, estreitando a árvore de pesquisa novamente, obtendo-se as principais saídas da rede de valor K.
Sinta-se obrigado a me corrigir se estiver errado.
fonte