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:
SARSA:
onde e são estado, ação e recompensa no passo 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?
Respostas:
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 , .umat rt + 1 st + 1
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.
fonte