Pregunta

Supongamos que estamos en una habitación donde nuestro agente puede moverse a lo largo del eje xx e yy. En cada punto se puede mover hacia arriba, abajo, derecha e izquierda. Así que nuestro espacio de estados puede ser definido por (x, y) y nuestras acciones en cada punto vienen dados por (arriba, abajo, derecha, izquierda). Vamos a suponer que donde quiera que nuestro agente realice un acto que hará lo golpeó una pared vamos a darle una recompensa negativa de -1, y ponerlo de nuevo en el estado en que estaba antes. Si se encuentra en el centro de la sala de un títere gana 10 recompensa.

Cuando actualizamos nuestra QVALUE para un par / acción determinado estado, estamos viendo qué acciones se pueden realizar en el nuevo estado y la informática lo que es la QVALUE máximo que es posible llegar hasta allí, para que podamos actualizar nuestra Q (s , a) el valor de nuestro actual estado / acción. Lo que esto significa es que si tenemos un estado meta en el punto (10, 10), alrededor de todos los estados que tendrán un QVALUE un poco más pequeño a medida que se alejan. Ahora, en relación a las paredes, me parece lo mismo no es cierto.

Cuando el agente golpea una pared (vamos a suponer que está en la posición (0, 0) y lo hizo la acción UP), que va a recibir para ese estado / acción de una recompensa de -1, consiguiendo así una QVALUE de -1.

Ahora, si después estoy en el estado (0, 1), y asumiendo todas las demás acciones del estado (0,0) 0 son cero, al calcular el QVALUE de (0, 1) para la izquierda acción, se computará que la siguiente manera:

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

Esto es, después de haber golpeado la pared no se propaga a los estados vecinos, al contrario de lo que sucede cuando se tiene recompensa estados positivos.

En mi óptica Esto parece extraño. Al principio pensé que la búsqueda de pares / acción estatales que dan recompensas negativo sería learningwise tan bueno como recompensas positivas, pero a partir del ejemplo que he mostrado anteriormente, no parece que la declaración ser verdad. Parece que hay un sesgo en el algoritmo de tomar mucho más en cuenta las recompensas positivas que negativas.

Es este el comportamiento esperado de QLearning? no deben malas recompensas ser tan importantes como los positivos? Qué son las "soluciones temporales" para esto?

¿Fue útil?

Solución

Puede evitar premios negativos mediante el aumento de la recompensa por defecto de 0 a 1, el objetivo recompensa de 10 a 11, y el penal de -1 a 0.

Hay un montón de publicaciones científicas sobre Q-aprendizaje, así que estoy seguro de que hay otras formulaciones que permitan la retroalimentación negativa.

EDIT: Mi error, esto no cambia el comportamiento como dije antes. Mi proceso de pensamiento fue que la formulación con retroalimentación negativa podría ser sustituido por otro sin él.

La razón para su observación es que usted no tiene ninguna incertidumbre sobre el resultado de sus acciones o el estado en que está, por lo tanto, su agente siempre puede elegir la acción que cree que tiene recompensa óptima (por lo tanto, el máximo valor Q sobre toda acciones futuras). Esta es la razón de su voto negativo no se propaga a:. El agente simplemente evitará que la acción en el futuro

Sin embargo, si su modelo incluiría incertidumbre sobre el resultado sobre sus acciones (por ejemplo, siempre hay una probabilidad del 10% de moverse en una dirección aleatoria), la regla de aprendizaje debe integrar todas las posibles recompensas futuras (básicamente la sustitución del máximo por una suma ponderada). En ese caso, la retroalimentación negativa se puede propagar también (esto es por lo que pensé que debería ser posible: p). Ejemplos de tales modelos son POMDPs .

Otros consejos

El voto negativo sólo se propaga cuando es el único resultado posible de un movimiento en particular.

Si esto es deliberado o involuntario no sé.

Su pregunta se responde en el libro de "aprendizaje por refuerzo: Una introducción", que tiene una sección de "Maximización Sesgo y doble aprendizaje"

.

El "Q-Learing" algoritmo tiene un inconveniente, en donde un máximo sobre los valores estimados se utiliza implícitamente como una estimación del valor máximo, que puede conducir a un sesgo positivo significativo.

El algoritmo de "Doble Q-Learning" puede evitar el sesgo de la maximización y resolver su pregunta, donde tiene que aprender dos estimaciones independientes, llamado q_1 (a) y Q_2 (a). Aquí me pega el pseudocódigo para usted: Doble Q-Learning

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top