Pergunta

Vamos supor que estamos em uma sala onde o nosso agente pode se mover ao longo da xx e eixo aa. Em cada ponto, ele pode mover para cima, para baixo, direita e esquerda. Assim, o nosso espaço de estado pode ser definido por (x, y) e nossas ações em cada ponto são dadas por (cima, baixo, direita, esquerda). Vamos supor que onde quer que o nosso agente faz uma ação que vai fazê-lo bater em uma parede, vamos dar-lhe uma recompensa negativa de -1, e colocá-lo de volta no estado em que estava antes. Se ele encontra no centro da sala um fantoche ele ganha +10 recompensa.

Quando nós atualizamos nosso qvalue para um determinado par estado / acção, estamos vendo as ações que podem ser feitas no novo estado e computação que é o máximo qvalue que é possível chegar, para que possamos atualizar nosso Q (s , um valor) para o nosso atual estado / ação. O que isto significa é que, se temos um estado meta no ponto (10, 10), todos os estados em torno dele terá uma qvalue um pouco menor e menor à medida que mais longe. Agora, em relação às paredes, parece-me o mesmo não é verdade.

Quando o agente atinge uma parede (vamos supor que ele está na posição (0, 0) e fez a ação UP), ele receberá para esse estado / ação uma recompensa de -1, obtendo assim um qvalue de -1.

Agora, se depois eu estou no estado (0, 1), e assumindo todas as outras ações do estado (0,0 0) são zero, ao calcular o qvalue de (0, 1) para a ação esquerda, ele irá calcular isso da seguinte forma:

Q([0,1], LEFT) = 0 + gamma * (max { 0, 0, 0, -1 } ) = 0 + 0 = 0

Isto é, depois de ter atingido a parede não se propaga para estados próximos, ao contrário do que acontece quando você tem estados de recompensa positivos.

Na minha óptica isso parece estranho. No começo eu pensei encontrar pares estado / acção dando recompensas negativas seria learningwise tão bom quanto recompensas positivas, mas a partir do exemplo eu tenho mostrado acima, que a declaração não parece ser verdade. Parece haver uma tendência no algoritmo para tomar muito mais em recompensas positivas consideração do que os negativos.

Este é o comportamento esperado de QLearning? não deve maus recompensas ser tão importante quanto os positivos? O que são "soluções alternativas" para isso?

Foi útil?

Solução

Você pode evitar prêmios negativos, aumentando a recompensa padrão de 0 a 1, o objetivo recompensa de 10 a 11, e a penalidade de -1 a 0.

Há toneladas de publicações científicas sobre Q-learning, então eu tenho certeza que existem outras formulações que permitam feedback negativo.

EDIT: Eu estou corrigido, isso não muda o comportamento, como afirmei anteriormente. O meu processo de pensamento foi que a formulação com feedback negativo poderia ser substituído por um sem.

A razão para a sua observação é que você não tem nenhuma incerteza sobre o resultado de suas ações ou o estado em que se encontra, portanto, o seu agente pode sempre escolher a ação que crê tem a recompensa ideal (assim, a Q-valor máximo sobre todos ações futuras). É por isso que o seu feedback negativo não se propaga:. O agente irá simplesmente evitar que a ação no futuro

Se, no entanto, o seu modelo incluiria incerteza quanto ao resultado sobre suas ações (por exemplo, há sempre uma probabilidade de 10% de se mover em uma direção aleatória), a regra de aprendizagem deve integrar sobre todas as possíveis recompensas futuras (basicamente substituindo o máximo por uma soma ponderada). Em que o feedback caso negativo pode ser propagado também (é por isso que eu pensei que deveria ser possível: p). Exemplos de tais modelos são POMDPs .

Outras dicas

O feedback negativo única propaga quando é o único resultado possível a partir de um movimento particular.

Se isto é intencional ou não intencional eu não sei.

A sua pergunta é respondida no livro de "Aprendizagem por Reforço: Uma Introdução", que tem uma seção de "Maximização Viés e Double Aprendizagem"

.

O algoritmo "Q-Learing" tem um inconveniente, em que um máximo de valores estimados ao longo é utilizado implicitamente como uma estimativa do valor máximo, o que pode levar a polarização positiva significativa.

O algoritmo "Double Q-Learning" pode evitar viés de maximização e resolver a sua pergunta, onde você precisa aprender duas estimativas independentes, chamados q_1 (a) e Q_2 (a). Aqui eu colar o pseudocódigo para você: Duplo Q-Learning

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top