Por que essa fusão provou ser benéfica?
Se você pensa na rede Value / Policy compartilhada como consistindo em um componente compartilhado (as camadas da Rede Residual) com um componente Value and Policy no topo, em vez de Separação de Preocupações, faz mais sentido.
A premissa subjacente é que a parte compartilhada da rede (o ResNet) fornece uma generalização de alto nível da entrada (os estados do jogo que antecederam a mudança), que é uma boa representação de entrada para as redes rasas de Valor e Política.
Nesse caso, podemos reduzir muito a carga computacional treinando uma única ResNet compartilhada e usando-a para duas redes muito mais simples do que treinando duas ResNets para o valor e a política. No caso deles, treinar os dois juntos também melhora a regularização e, assim, cria uma representação geral mais robusta.
Especificamente, o artigo Alpha Go Zero, de Silver et al. , Dominando o jogo de ir sem conhecimento humano , afirma que:
A combinação de política e valor em uma única rede reduziu levemente a precisão da previsão de movimentação, mas reduziu o erro de valor e aumentou o desempenho de reprodução no AlphaGo em cerca de outros 600 Elo. Isso se deve em parte à melhoria da eficiência computacional, mas o mais importante é que o objetivo duplo regulariza a rede para uma representação comum que suporta vários casos de uso.
Essa técnica pode ser aplicada em geral ou apenas em casos especiais?
Como componentes comuns em bibliotecas de software, só faz sentido quando os problemas que você está tentando resolver se beneficiam de uma representação compartilhada.
Você pode usá-lo se estiver treinando classificadores para tarefas semelhantes ou treinando uma nova tarefa com poucos dados, onde você já possui um classificador treinado em um conjunto de dados semelhante maior .
Fora do Go, geralmente é usado no reconhecimento de imagens. Redes profundas e pré-treinadas, como as das competições ImageNet ILSVRC , são comumente usadas como ponto de partida. São classificadores treinados (há semanas!) Em mais de um milhão de imagens.
Então, diga que deseja criar uma rede para reconhecer sua marca favorita de bicicletas, comece com o pipeline de reconhecimento de imagem geral treinado no ImageNet, selecione as últimas camadas que fazem a classificação real ("é um Border Collie") e adicione um pequeno classificador novo para escolher apenas as bicicletas mais importantes para você.
Como o classificador pré-treinado já fornece conceitos de imagem de alto nível que são bons componentes para o reconhecimento de imagens (ele classifica 200 categorias), isso poupa muito treinamento e cria um classificador muito robusto.
É claro que existem muitos casos em que os problemas não têm representações compartilhadas úteis e, portanto, não se beneficiam de uma rede combinada. No entanto, é uma ferramenta útil nas situações certas.
Procure Transfer Learning ou Multi-Task Learning para saber mais sobre isso.