Buenas,
la semana pasada en clase de consulta comentamos algunos detalles de la letra del entregable. A saber:
- 2) En la política soft-max de la letra, faltaba la temperatura (diviendo a ).
- 2.2.1) El método gradient_step hacía time**gamma, cuando debía hacer gamma**time.
- 2.3) Ahora está bien definida la IHT para el baseline.
- 3) El estado del sistema para el péndulo no es sino que es (vive en !). Supongo que de esta forma uno consigue que el estado del sistema varíe de forma suave. Los senos y cosenos son suaves, pero el ángulo no, porque está definido (en la clase de gym) solamente para .
- Les pedimos que para el baseline usen RBFs, para la política pueden usar la parametrización que quieran.
- 3b) En principio el entorno del péndulo es de horizonte infinito —no hay ningún "goal" como en el ejemplo del carrito. El objetivo es estar en la posición vertical el mayor tiempo posible. La idea acá es correr episodios, así que deben modificar su función reinforce para que corte el episodio después de cierta cantidad de pasos (500, por ejemplo).
Pueden implementar las correcciones en el notebook en el que estén trabajando, o bajar la letra actualizada.
Un par de cosas más. Al igual que con el ejemplo del carrito, pueden correr el péndulo derecho en sus máquinas usando gym y env.render(), para ver lo que está pasando.
En líneas generales: las simulaciones del carrito deberían andar mejor que las del entregable pasado. Esto puede ser en parte por el baseline, pero sospecho que la nueva parametrización (soft-max + tile-coding) tiene mucho que ver.
De todas formas, si los resultados de las simulaciones (en particular de los Ejercicios 2 y 3) no son buenos no se quemen la cabeza. Nosotros en la corrección estamos haciendo énfasis en sus respuestas y en que los algoritmos estén bien implementados.
Saludos,
Agustin