Por que o Q-learning superestima os valores das ações?

8

Estou tendo dificuldade em encontrar alguma explicação sobre o motivo pelo qual o Q-learning padrão tende a superestimar os valores q (que são abordados usando o Q-learning duplo). As únicas fontes que encontrei não explicam exatamente por que essa superestimação ocorre.

Por exemplo, o artigo da Wikipedia sobre Q-learning diz:

Como o valor máximo aproximado da ação é usado na atualização do Q-learning, em ambientes ruidosos, o Q-learning às vezes pode superestimar os valores das ações, retardando o aprendizado.

O que isto significa? Eu entendo o Q-learning, mas não o acima. Por que o uso do valor q máximo causa superestimação?

Obrigado!

Karnivaurus
fonte

Respostas:

4

Q(s,a)=r+γmaxa[Q(s,a)]

Como os valores Q são muito barulhentos, quando você executa o máximo de todas as ações, provavelmente está obtendo um valor superestimado. Pense assim, o valor esperado de um lançamento de dados é 3,5, mas se você jogar os dados 100 vezes e ultrapassar o máximo de todos os lances, é muito provável que esteja usando um valor maior que 3,5 (pense que todo valor de ação possível no estado s em um lançamento de dados).

Se todos os valores fossem igualmente superestimados, isso não seria problema, pois o que importa é a diferença entre os valores de Q. Mas, se as superestimações não forem uniformes, isso pode atrasar o aprendizado (porque você passará um tempo explorando os estados que considera bons, mas não são).

A solução proposta (Double Q-learning) é usar dois aproximadores de funções diferentes treinados em amostras diferentes, um para selecionar a melhor ação e outro para calcular o valor dessa ação, uma vez que os aproximadores de duas funções visualizaram amostras diferentes. improvável que superestimem a mesma ação.

lgvaz
fonte
por que "dois aproximadores de funções viram amostras diferentes" ajuda?
Albert Chen
11
Como um dos aproximadores de função pode ver amostras que superestimam a ação a1, enquanto o outro vê amostras que superestimam a ação a2. O importante é não superestimar a mesma ação
#
3

Não conheço muito o aprendizado por reforço, mas a próxima linha do artigo da Wikipedia que você cita (atualmente) refere-se ao artigo Double Q-learning (NIPS 2010) . O resumo desse artigo diz

Essas superestimações resultam de um viés positivo que é introduzido porque o Q-learning usa o valor máximo da ação como uma aproximação para o valor máximo esperado da ação.

Juntos, estes parecem estar dizendo que quando o Q função é na realidade estocástica, recompensas observadas r^ resultante de um par de ação de estado (s,a) terá algum ruído (médio) associado a eles, por exemplo r^=r+ϵ. Então porqueQ é atualizado com base em maxaQold, o valor máximo tenderá a ser uma combinação de alta recompensa e / ou grandes realizações de ruído positivo . Assumindo e ignorando , o valor de tenderá a ser uma superestimação.r ϵrmaxr^maxϵQ

(Como observado, não estou familiarizado com esta área e apenas olhei para a Wikipedia e o resumo acima, portanto essa interpretação pode estar errada.)

GeoMatt22
fonte
0

Primeiro, quero citar o livro de Sutton e Barto

... Nesses algoritmos, um valor máximo acima do estimado é usado implicitamente como uma estimativa do valor máximo, o que pode levar a um viés positivo significativo. Para entender por que, considere um único estado s onde existem muitas ações a cujos valores verdadeiros, q (s, a), são todos zero, mas cujos valores estimados, Q (s, a), são incertos e, portanto, distribuídos acima e outros abaixo de zero.

É um pouco vago. Aqui está um exemplo simples. onde Q1 (s, X) = Q2 (s, X) = 0, mas na prática, os valores podem ser incertos.

Q1 (s, A) = 0,1, Q1 (s, B) = 0, Q1 (s, C) = -0,1

Q2 (s, A) = -0,1, Q2 (s, B) = 0,1, Q2 (s, C) = 0

Se você atualizar apenas o Q1 por si só, ele sempre tenderá a selecionar A at s para atualizar. Mas se você selecionar max_a Q2 (s, a) para atualizar Q1, Q2 poderá compensar a situação. Além disso, você deve usar o Q1 para treinar o Q2 de outra maneira. O ruído no Q2 é independente do ruído no Q1, pois Q1 e Q2 são treinados usando diferentes conjuntos de dados separadamente.

Albert Chen
fonte