
O aprendizado por reforço é dividido em duas grandes classes: sem modelo e com base em modelo. No primeiro caso, as ações são otimizadas diretamente pelo sinal de recompensa e, no segundo, a rede neural é apenas um modelo de realidade e as ações ideais são selecionadas usando um agendador externo. Cada abordagem tem suas próprias vantagens e desvantagens.
Os desenvolvedores de Berkeley e Google Brain introduziram o algoritmo PDDM baseado em modelo com um agendador aprimorado que permite aprender efetivamente movimentos complexos com um grande número de graus de liberdade com um pequeno número de exemplos. Para aprender a girar as bolas em um braço robótico com articulações dos dedos realistas com 24 graus de liberdade, foram necessárias apenas 4 horas de prática em um robô físico real.
Aprendizado por Reforço é o treinamento de robôs com um sinal de recompensa. É semelhante a como os seres vivos aprendem. Mas o problema é complicado pelo fato de não se saber como alterar os pesos da rede neural, de modo que suas ações propostas levem a um aumento nas recompensas. Portanto, no aprendizado por reforço, os métodos convencionais de treinamento em redes neurais não são adequados. Afinal, não se sabe exatamente o que ela deve divulgar em sua saída, o que significa que é impossível encontrar um erro entre sua previsão e o estado real das coisas. Para pular essa diferença de volta pelas camadas da rede neural e alterar os pesos entre os neurônios para minimizar esse erro. Este é um algoritmo clássico de propagação traseira, ensinado por redes neurais.
Portanto, os cientistas inventaram várias maneiras de resolver esse problema.
Sem modelo
Uma das abordagens mais eficazes foi o modelo ator-crítico. Deixe uma rede neural (ator) em sua entrada receber o estado do ambiente do estado e, na saída, emitir ações que devem levar a um aumento nas recompensas de recompensa. Até o momento, essas ações são aleatórias e simplesmente dependem do fluxo de sinal na rede, uma vez que a rede neural ainda não foi treinada. E a segunda rede neural (crítica), permite que a entrada também receba o estado do ambiente do estado, mas também ações da saída da primeira rede. E na saída, deixe apenas a recompensa de recompensa prevista, que será recebida se essas ações forem aplicadas.
Agora preste atenção: não sabemos quais devem ser as melhores ações na saída da primeira rede, levando a um aumento na recompensa. Portanto, usando o algoritmo de propagação traseira, não podemos treiná-lo. Mas a segunda rede neural pode muito bem prever o valor exato da recompensa da recompensa (ou melhor, geralmente sua mudança), que receberá se as ações forem aplicadas agora. Então, vamos pegar o gradiente de alteração de erro da segunda rede e aplicá-lo à primeira! Assim, você pode treinar a primeira rede neural pelo método clássico de propagação traseira do erro. Simplesmente tomamos o erro não das saídas da primeira rede, mas das saídas da segunda.
Como resultado, a primeira rede neural aprende a emitir ações ideais, levando a um aumento nas recompensas. Porque se o crítico crítico cometeu um erro e previu uma recompensa menor do que na realidade, o gradiente dessa diferença moverá as ações do ator ator na direção, de modo que o crítico preveja com mais precisão a recompensa. E isso significa ações mais ótimas (afinal, elas levarão ao fato de que o crítico prevê com precisão um prêmio maior). Um princípio semelhante funciona na direção oposta: se o crítico superestimar a recompensa esperada, a diferença entre expectativa e realidade reduzirá os resultados das ações da primeira rede neural, o que levou a essa indicação superestimada de recompensa da segunda rede.
Como você pode ver, neste caso, as ações são otimizadas diretamente pelo sinal de recompensa. Essa é a essência comum de todos os algoritmos sem modelo no Aprendizado por Reforço. Eles são o estado da arte no momento.
Sua vantagem é que as ações ideais são procuradas por descida gradiente; portanto, no final, as mais ótimas são encontradas. O que significa mostrar o melhor resultado. Outra vantagem é a capacidade de usar redes neurais pequenas (e, portanto, mais fáceis de aprender). Se dentre toda a variedade de fatores ambientais, alguns específicos são fundamentais para resolver o problema, a descida gradiente é capaz de identificá-los. E use para resolver o problema. Essas duas vantagens garantiram o sucesso com métodos diretos sem modelo.
Mas eles também têm desvantagens. Como as ações são ensinadas diretamente pelo sinal de recompensa, muitos exemplos de treinamento são necessários. Dezenas de milhões, mesmo para casos muito simples. Eles trabalham mal em tarefas com um grande número de graus de liberdade. Se o algoritmo não conseguir identificar imediatamente os principais fatores no cenário de alta dimensão, provavelmente não aprenderá nada. Os métodos sem modelo também podem explorar vulnerabilidades no sistema, concentrando-se em ações não ideais (se a descida gradiente convergir para ele), ignorando outros fatores ambientais. Para tarefas um pouco livres de modelo, mesmo que ligeiramente diferentes, os métodos precisam ser treinados completamente novamente.
Baseado em modelo
Os métodos baseados em modelos no Aprendizado por Reforço são fundamentalmente diferentes da abordagem descrita acima. Em Baseado em Modelo, uma rede neural prevê apenas o que acontecerá a seguir. Não oferecendo nenhuma ação. Ou seja, é simplesmente um modelo de realidade (daí o "Modelo" - Baseado no nome). E nem um sistema de tomada de decisão.
As redes neurais baseadas em modelo são alimentadas com o estado atual do ambiente de estado e com as ações que queremos executar. E a rede neural prevê como o estado mudará no futuro após a aplicação dessas ações. Ela também pode prever qual será a recompensa como resultado dessas ações. Mas isso não é necessário, pois a recompensa geralmente pode ser calculada a partir de um estado conhecido. Além disso, esse estado de saída pode ser retornado à entrada da rede neural (junto com as novas ações propostas) e, assim, prever recursivamente as mudanças no ambiente externo muitos passos adiante.
As redes neurais baseadas em modelo são muito fáceis de aprender. Como eles simplesmente prevêem como o mundo mudará, sem fazer sugestões de quais ações ótimas devem ser para que a recompensa aumente. Portanto, a rede neural baseada em modelo usa todos os exemplos existentes para seu treinamento, e não apenas aqueles que levam a um aumento ou diminuição de recompensas, como é o caso do Modelo-Livre. Essa é a razão pela qual as redes neurais baseadas em modelo precisam de muito menos exemplos de treinamento.
A única desvantagem é que a rede neural baseada em modelo deve estudar a dinâmica real do sistema e, portanto, deve ter capacidade suficiente para isso. Uma rede neural sem modelo pode convergir em fatores-chave, ignorando o restante, e, portanto, ser uma rede pequena e simples (se a tarefa for, em princípio, resolvida com menos recursos).
Outra grande vantagem, além do treinamento em um número menor de exemplos, é que, como modelo universal do mundo, uma única rede neural baseada em modelo pode ser usada para resolver qualquer número de problemas neste mundo.
O principal problema da abordagem baseada em modelo é que ações devem ser aplicadas às ações das redes neurais? Afinal, a própria rede neural não oferece nenhuma ação ideal.
A maneira mais fácil é conduzir através de uma rede neural dezenas de milhares de ações aleatórias e escolher aquelas pelas quais a rede neural irá prever a maior recompensa. Este é um aprendizado clássico de reforço baseado em modelo. No entanto, com grandes dimensões e longas cadeias de tempo, o número de ações possíveis acaba sendo muito grande para classificar todas elas (ou até adivinhar pelo menos um pouco de ideal).
Por esse motivo, os métodos baseados em modelo geralmente são inferiores aos livres de modelo, que por descida gradiente convergem diretamente para as ações mais ideais.
Uma versão aprimorada aplicável aos movimentos em robótica não é usar ações aleatórias, mas manter o movimento anterior, adicionando aleatoriedade à distribuição normal. Como os movimentos dos robôs geralmente são suaves, isso reduz o número de bustos. Mas, ao mesmo tempo, uma importante mudança acentuada pode ser perdida.
A opção final de desenvolvimento para essa abordagem pode ser considerada a opção CEM, que usa não uma distribuição normal fixa que introduz a aleatoriedade no caminho atual das ações, mas seleciona os parâmetros da distribuição aleatória usando entropia cruzada. Para isso, é lançada uma população de cálculos de ações e os melhores são usados para refinar a disseminação de parâmetros na próxima geração. Algo como um algoritmo evolutivo.
PDDM
Uma introdução tão longa foi necessária para explicar o que está acontecendo no novo algoritmo de aprendizado de reforço baseado em modelo PDDM proposto. Depois de ler um artigo no blog da AI de Berkeley (ou uma versão estendida ) e até mesmo o artigo arxiv.org/abs/1909.11652 original, isso pode não ter sido óbvio.
O método PDDM repete a ideia do CEM ao escolher ações aleatórias que precisam ser executadas através de uma rede neural baseada em modelo para selecionar ações com a maior recompensa previsível. Somente em vez de selecionar parâmetros de distribuição aleatória, como é feito no CEM, o PDDM usa uma correlação temporal entre ações e uma regra mais suave para atualizar a distribuição aleatória. A fórmula é dada no artigo original. Isso permite verificar um número maior de ações adequadas por longas distâncias, principalmente se os movimentos exigirem coordenação precisa. Além disso, os autores do algoritmo filtram os candidatos a ações, obtendo uma trajetória mais suave dos movimentos.
Simplificando, os desenvolvedores simplesmente propuseram uma fórmula melhor para escolher ações aleatórias para testar no clássico Aprendizado de reforço baseado em modelo.
Mas o resultado foi muito bom.
Em apenas 4 horas de treinamento em um robô real, um robô com 24 graus de liberdade aprendeu a segurar duas bolas e girá-las nas palmas sem cair. Um resultado inatingível para qualquer método moderno sem modelo, com um número tão pequeno de exemplos.
Curiosamente, para o treinamento, eles usaram um segundo braço do robô com 7 graus de liberdade, que pegou as bolas caídas e as devolveu ao braço principal do robô:

Como resultado, após 1-2 horas, o roboruk podia segurar as bolas com confiança e movê-las na palma da mão, e 4 horas eram suficientes para o treinamento completo.

Preste atenção aos movimentos espasmódicos dos dedos. Esse é um recurso das abordagens baseadas em modelo. Como as ações pretendidas são escolhidas aleatoriamente, elas nem sempre coincidem com as melhores. O algoritmo sem modelo pode potencialmente convergir para movimentos suaves realmente ideais.
No entanto, a abordagem baseada em modelo permite que, com uma rede neural treinada, modele o mundo, resolva problemas diferentes sem reciclagem. Existem vários exemplos no artigo, por exemplo, você pode alterar facilmente a direção de rotação das bolas na mão (no modelo livre, você teria que treinar novamente a rede neural para isso). Ou segure a bola em um ponto específico na palma da sua mão, seguindo o ponto vermelho.

Você também pode fazer Roboruk traçar trajetórias arbitrárias com um lápis, aprendendo que, para os métodos sem modelo, é uma tarefa muito difícil.

Embora o algoritmo proposto não seja uma panacéia e nem sequer seja um algoritmo de IA no sentido completo da palavra (no PDDM, a rede neural simplesmente substitui o modelo analítico e as decisões são tomadas por pesquisa aleatória com uma regra complicada que reduz o número de enumeração de opções), pode ser útil na robótica. Uma vez que mostrou uma melhoria notável nos resultados e é treinado em um número muito pequeno de exemplos.