Quando escolher SARSA vs. Q Learning

18

SARSA e Q Learning são algoritmos de aprendizado por reforço que funcionam de maneira semelhante. A diferença mais marcante é que o SARSA está na política enquanto o Q Learning está fora da política. As regras de atualização são as seguintes:

Q Aprendizado:

Q(st,at)Q(st,at)+α[rt+1+γmaxumaQ(st+1,uma)-Q(st,umat)]

SARSA:

Q(st,umat)Q(st,umat)+α[rt+1+γQ(st+1,umat+1)-Q(st,umat)]

onde st,umat e rt são estado, ação e recompensa no passo t e γ é um fator de desconto.

Eles têm a mesma aparência, exceto que na SARSA realizamos ações reais e no Q Learning realizamos as ações com maior recompensa.

Existem configurações teóricas ou práticas nas quais uma deve preferir uma à outra? Percebo que aproveitar ao máximo o Q Learning pode ser caro e ainda mais em espaços de ação contínua. Mas há mais alguma coisa?

hh32
fonte
Em espaços de ação contínua, métodos de pesquisa direta de política, como vários métodos de gradiente de política, são comumente usados, já que, como você descobriu, a manutenção e avaliação de uma função de valor discreto para um espaço de ação contínuo é impraticável, especialmente quando o espaço de ação tem muitas dimensões. (por causa da maldição da dimensionalidade ).
HelloGoodbye

Respostas:

27

Eles têm a mesma aparência, exceto que na SARSA realizamos ações reais e no Q Learning realizamos as ações com maior recompensa.

Na verdade, em ambos, você "executa" a ação gerada única real seguir. No Q learning, você atualiza a estimativa a partir da estimativa máxima de próximas ações possíveis, independentemente da ação que você executou. Enquanto estiver no SARSA, você atualiza as estimativas com base e executa a mesma ação.umat+1

Provavelmente é isso que você quis dizer com "take" na pergunta, mas na literatura, tomar uma ação significa que ele se torna o valor de, por exemplo, e influencia , .umatrt+1st+1

Existem configurações teóricas ou práticas nas quais uma deve preferir uma à outra?

O Q-learning tem as seguintes vantagens e desvantagens em comparação com o SARSA:

  • O Q-learning aprende diretamente a política ideal, enquanto o SARSA aprende uma política quase ideal enquanto explora. Se você quiser aprender uma política ideal usando o SARSA, precisará decidir sobre uma estratégia para decair na opção de ação grega , que pode se tornar um hiperparâmetro medidor para ajustar.ϵϵ

  • A aprendizagem por Q (e aprendizagem fora da política em geral) apresenta uma variação por amostra mais alta que a SARSA e pode sofrer problemas com a convergência. Isso aparece como um problema ao treinar redes neurais via Q-learning.

  • O SARSA abordará a convergência, permitindo possíveis penalidades por movimentos exploratórios, enquanto o Q-learning os ignorará. Isso torna o SARSA mais conservador - se houver risco de uma grande recompensa negativa próxima ao caminho ideal, o Q-learning tenderá a desencadear essa recompensa enquanto estiver explorando, enquanto o SARSA tenderá a evitar um caminho ideal perigoso e apenas aprenderá lentamente a usá-lo quando os parâmetros de exploração são reduzidos. O problema clássico dos brinquedos que demonstra esse efeito é chamado de caminhada no penhasco .

Na prática, o último ponto pode fazer uma grande diferença se os erros forem caros - por exemplo, você está treinando um robô não em simulação, mas no mundo real. Você pode preferir um algoritmo de aprendizado mais conservador que evite alto risco, se houver tempo e dinheiro em jogo, se o robô estiver danificado.

Se seu objetivo é treinar um agente ideal em simulação ou em um ambiente de baixo custo e iteração rápida, o Q-learning é uma boa opção, devido ao primeiro ponto (aprender diretamente a política ideal). Se o seu agente aprende online e você se preocupa com as recompensas obtidas durante o aprendizado , o SARSA pode ser uma escolha melhor.

Neil Slater
fonte
Pergunta de acompanhamento: stats.stackexchange.com/questions/361485/…
Muppet