Мне нужна помощь в понимании кода обучения с подкреплением

Я пытался решить среду OpenAI MountainCarContinuous-v0 некоторое время, но я застрял.

Потратив недели на то, чтобы решить ее самостоятельно, теперь я просто пытаюсь понять чужой код. Вот ссылка, которую человек использовал для решения проблемы окружающей среды. В частности, мне нужна помощь с функцией потерь.

В коде GitHub записывается как

self.norm_dist = tf.contrib.distributions.Normal(self.mu, self.sigma)
self.loss = -tf.log(self.norm_dist.prob(self.action_train) + 1e-5) * self.advantage_train - self.lamb * self.norm_dist.entropy()

Что делает эта функция потерь? Если бы вы могли описать это простыми словами, это очень помогло бы мне.


person Sam Peterson    schedule 13.01.2019    source источник


Ответы (1)


На первом этапе normal-ditribution определяется с помощью mean и variance. На следующем шаге функция потерь определяется примерно так: -A*log(p(a)) + \lambda * entropy, где A — преимущество, p(a) — вероятность действия, которое выбирается из нормального распределения, и, наконец, энтропия распределения добавляется в функцию потерь.

person Ankish Bansal    schedule 13.01.2019