Pregunta

Estoy teniendo problemas para encontrar una buena función de la recompensa para el péndulo problema, la función que estoy usando:$x^2 - 0.25*( ext{xdot}^2)$ cual es el error cuadrático de la parte superior.con $x$ en representación de la ubicación actual del péndulo y $ ext{xdot}$ la velocidad angular.

Se tarda un montón de tiempo con esta función, y que a veces no funcionan.Alguno tiene alguna otra sugerencia?He estado buscando en google pero no encuentro nada de lo que yo podría usar

¿Fue útil?

Solución

Podrías usar la misma función de recompensa que OpadaiEl péndulo invertido está usando:

$ costos = - ( delta_ {2 pi} theta)^2 - 0.1 ( dot { theta})^2 - 0.001U^2 $

donde $ ( delta_ {2 pi} theta) $ es la diferencia entre la posición angular actual y deseada realizada usando Modulo $ 2 pi $. La variable $ u $ denota el par (la acción de su agente RL). Lo óptimo es ser tan cercano a los costos cero como se pone.

La idea aquí es que tiene un problema de control en el que puede encontrar una función cuadrática de 'energía' o costo que le indica el costo de realizar una acción en cada paso de tiempo. En este papel (p.33 Sección 5.2) Puede encontrar una descripción detallada.

He probado los algoritmos RL en esta función objetivo y no encontré ningún problema de convergencia tanto en Matlab como en Python. Si aún tiene problemas, háganos saber qué tipo de enfoque RL implementó y cómo codificó la ubicación del péndulo.

¡Espero eso ayude!

Otros consejos

En el aprendizaje por refuerzo, se debe evitar la puntuación provisional de los resultados basados en la heurística.A diferencia de aprendizaje supervisado, o un algoritmo de búsqueda, usted no está tratando de guiar el comportamiento, acaba de premiar a los buenos resultados.Para un péndulo invertido un buen resultado podría ser simplemente "no ha caído tan lejos", aunque no hay nada inherentemente mal con una función de coste que expresa el costo en términos de la minimización de las diferencias de un ideal, tienes que tener más cuidado con los valores utilizados.

Asumiendo que usted está utilizando el descuento, y continuo (no episódica) enfoque, a continuación, la recompensa puede ser 0 para "no caer más", y -1 para que "se caía", seguido de una re-establecer o continuar.Usted puede comprobar para caer por medir si el péndulo ha alcanzado algunos de gran ángulo con la vertical (por ejemplo,45 grados o más).

Para un episodio de enfoque, es más natural +1 de "aceptar" y 0 para el estado final de "se cayó", aunque el 0/-1 esquema también funcionaría.Sin embargo, usted quiere evitar valores negativos para cualquier estado que es "ok", porque eso es básicamente decir que el agente date prisa y al final del episodio.En su caso, terminando el episodio es malo, así que usted no quiere eso.

Si usted quiere premiar a la "perfección" en su episódica enfoque, a continuación, la fórmula podría funcionar mejor si se añade un desplazamiento positivo, de modo que el agente tiene un incentivo para continuar con el episodio, si es posible.Usted debe elegir un valor tal que recuperables estados son positivos.


Tenga en cuenta que el análisis anterior se aplica sólo a ciertos episodio basadas en los enfoques.Depende fundamentalmente de lo que cuenta como un episodio, y si el agente es capaz de tomar una acción que termina el episodio.

Licenciado bajo: CC-BY-SA con atribución
scroll top