Assigment2-Lab2: REINFORCE: Monte Carlo Policy Gradient

Assigment2-Lab2: REINFORCE: Monte Carlo Policy Gradient

de Giovanna Strelitzia Garula Silva -
Número de respuestas: 2

Buenos días:

Tengo algunas dudas sobre reinforce y el laboratorio:

1. La primer duda es respecto al gradiente de J  \nabla_{\theta} J = \mathbb{E}_{{\pi_{\theta}}}[\sum_{t}\nabla_{\theta}\log \pi_{\theta}(s_t,a_t) G_t] , ¿por qué aparece  \sum_{t} dentro de la esperanza?. En el libro Sutton & Barton el gradiente es   \nabla_{\theta} J = \mathbb{E}_{{\pi_{\theta}}}[\nabla_{\theta}\log \pi_{\theta}(s_t,a_t) G_t]  . ¿Cual es la diferencia? 

2. La idea es buscar los parámetros que maximizan la performance de la política, utilizando el ascenso por el gradiente mediante una estimación de lo que sería el gradiente de la performance de la política. Esto es lo que plantea reinforce. Pasando al laboratorio, tensorflow espera que le pasemos la función que el reinforce está optimizando (loss), es decir, la inversa de la estimación encontrada por el reinforce. ¿Esto es correcto?

3. El laboratorio dice que vamos a utilizar aproximación lineal para la política: ¿en que parte se le dice a Tensorflow que la aproximación va a ser lineal?

Desde ya muchas gracias.

Saludos.

Giovanna.






En respuesta a Giovanna Strelitzia Garula Silva

Re: Assigment2-Lab2: REINFORCE: Monte Carlo Policy Gradient

de Jose Lezama -

Hola Giovanna,


1. En el S&B, la manera en que está presentado el pseudocodigo para REINFORCE, hace de hecho la suma para todos los pasos del episodio, lo cual es equivalente. Por más detalles sobre de dónde viene la suma podes mirar las slides del curso, clase 5.1. 

2. Si por la inversa te referís al opuesto, sí :-)

3. En "self.output_layer = tf.contrib.layers.fully_connected( ... ". Una capa "fully connected" es en realidad la multiplicación por una matriz más un término de bias.


Espero haber entendido bien las preguntas, sino a las órdenes. 

Recuerdo que mañana hay clase de consulta a las 15.