O que é "repetição de experiência" e quais são seus benefícios?

19

Estive lendo DeepMind Atari do Google de papel e eu estou tentando entender o conceito de "experiência replay". A repetição da experiência aparece em muitos outros documentos de aprendizado por reforço (particularmente o artigo AlphaGo), então eu quero entender como isso funciona. Abaixo estão alguns trechos.

Primeiro, usamos um mecanismo de inspiração biológica denominado replay de experiência, que randomiza os dados, removendo assim as correlações na sequência de observação e suavizando as alterações na distribuição dos dados.

O artigo então elabora da seguinte maneira:

Embora existam outros métodos estáveis ​​para o treinamento de redes neurais no ambiente de aprendizado por reforço, como a iteração Q ajustada neural, esses métodos envolvem o treinamento repetido de redes de novo centenas de iterações. Consequentemente, esses métodos, diferentemente do nosso algoritmo, são ineficientes demais para serem usados ​​com sucesso em grandes redes neurais. Parametrizamos uma função de valor aproximado usando a rede neural convolucional profunda mostrada na Fig. 1, na qual são os parâmetros (ou seja, pesos) da rede Q na iteração . Para executar a repetição da experiência, armazenamos as experiências do agente a cada etapaQ(s,uma;θEu)θEuEuet=(st,umat,rt,st+1)tem um conjunto de dados . Durante o aprendizado, aplicamos atualizações de Q-learning, em amostras (ou minilotes) de experiência , desenhadas uniformemente aleatoriamente a partir do conjunto de amostras armazenadas. A atualização Q-learning na iteração usa a seguinte função de perda:Dt={e1,...,et}(s,uma,r,s)você(D)Eu

euEu(θEu)=E(s,uma,r,s)você(D)[(r+γmaxumaQ(s,uma;θEu-)-Q(s,uma;θEu))2]

O que é a repetição da experiência e quais são seus benefícios, em termos leigos?

Ryan Zotti
fonte

Respostas:

25

A parte principal do texto citado é:

Para executar a repetição da experiência, armazenamos as experiências do agente et=(st,umat,rt,st+1)

Isso significa que, em vez de executar o Q-learning em pares de estado / ação, conforme ocorrem durante a simulação ou a experiência real, o sistema armazena os dados descobertos para [estado, ação, recompensa, próximo_estado] - normalmente em uma tabela grande. Observe que isso não armazena valores associados - esses são os dados brutos para alimentar os cálculos do valor da ação posteriormente.

A fase de aprendizado é, então, logicamente separada da experiência adquirida e com base na coleta de amostras aleatórias dessa tabela. Você ainda deseja intercalar os dois processos - ação e aprendizado - porque o aprimoramento da política levará a comportamentos diferentes que devem explorar ações mais próximas das ótimas, e você deseja aprender com elas. No entanto, você pode dividir isso como quiser - por exemplo, dê um passo, aprenda com três etapas anteriores aleatórias, etc. Os alvos do Q-Learning ao usar a repetição da experiência usam os mesmos alvos da versão on-line, para que não haja uma nova fórmula para isso. A fórmula de perda fornecida também é a que você usaria para o DQN sem repetição da experiência. A diferença é apenas qual s, a, r, s ', a' você alimenta.

No DQN, a equipe do DeepMind também manteve duas redes e alternou qual delas estava aprendendo e qual alimentava as estimativas atuais de valor de ação como "bootstraps". Isso ajudou na estabilidade do algoritmo ao usar um aproximador de função não linear. Isso é o que os stands de barras para em - denota o suplente congelado versão dos pesos.θEu ¯

Vantagens da repetição da experiência:

  • Uso mais eficiente da experiência anterior, aprendendo com ela várias vezes. Isso é fundamental quando ganhar experiência no mundo real custa caro, você pode usá-lo totalmente. As atualizações de Q-learning são incrementais e não convergem rapidamente, portanto, várias passagens com os mesmos dados são benéficas, especialmente quando há baixa variação nos resultados imediatos (recompensa, próximo estado), dado o mesmo estado, par de ações.

  • Melhor comportamento de convergência ao treinar um aproximador de função. Em parte, isso ocorre porque os dados são mais parecidos com os dados iid assumidos na maioria das provas de convergência de aprendizado supervisionadas.

Desvantagem da repetição da experiência:

  • É mais difícil usar algoritmos de aprendizado de várias etapas, como Q ( ), que podem ser ajustados para oferecer melhores curvas de aprendizado, equilibrando-se entre o viés (devido ao bootstrapping) e a variação (devido a atrasos e aleatoriedade nos resultados a longo prazo) . O DQN de várias etapas com o DQN de repetição da experiência é uma das extensões exploradas no artigo Rainbow: Combinando Melhorias no Aprendizado por Reforço Profundo .λ

A abordagem usada no DQN é resumida por David Silver em partes desta palestra em vídeo (por volta das 01:17:00, mas vale a pena ver seções antes). Eu recomendo assistir a série inteira, que é um curso de pós-graduação em aprendizado por reforço, se você tiver tempo.

Neil Slater
fonte
Digamos que durante o treinamento estamos em um estado e tomamos uma ação de acordo com a política epsilon-gananciosa e você acaba em outro estado. Então você recebe recompensas e o próximo estado. Aqui, a recompensa pode ser a pontuação do jogo e os estados podem ser os padrões de pixel na tela. E então pegamos o erro entre nosso aproximador de função e o valor que obtemos da política gananciosa novamente usando o aproximador de função já congelado. Mas, com a repetição da experiência ao otimizar o aproximador, usamos alguns conjuntos de dados de ação de estado aleatório. Estou certo ?
Shamane Siriwardhana
1
@ ShamaneSiriwardhana: Sim, acho que você está certo. São exatamente os mesmos dados da trajetória real, mas, em vez de aprender apenas da etapa mais recente, você os salva em uma grande tabela e faz uma amostra dessa tabela (geralmente várias amostras, com um armazenamento de milhares de etapas anteriores para escolher) ) Se você precisar de mais esclarecimentos, talvez faça uma pergunta no site.
Neil Slater
Sim, eu revi o jornal novamente. Ele também afirma que esse método também pode melhorar o aprendizado fora das políticas. Porque em Q aprender com agir de acordo com a política epsilon-greedy, mas atualizar valores funciona de acordo com a política greedy. Portanto, quando cada etapa do processo, nossos parâmetros de rede neural são atualizados por mini estatísticas de lote, o que é mais importante, não relacionado às estatísticas exatas do intervalo de tempo, mas o que aconteceu antes disso também ajuda a não correlacionar os dados.
Shamane Siriwardhana
@ Neil Slater, examinei o jornal Rainbow e não vi nenhum comentário especial sobre o uso de um truque especial para combinar a repetição da experiência e o método de várias etapas. Também ouvi dizer que o método de várias etapas é originalmente impossível de combinar com a repetição da experiência, mas por que não escolher aleatoriamente experiências n consecutivas em vez de 1 na repetição da experiência, mas na repetição para que, entre cada n-experiências, nenhuma correlação encontrada? Esta experiência em várias etapas não é repetida?
StL
@NeilSlater Por que "é mais difícil usar algoritmos de aprendizado em várias etapas"? O que você quis dizer?
Gulzar