Что вы хотите максимизировать:
J(theta) = int( p(tau;theta)*R(tau) )
Интеграл больше tau
(траектория), а p(tau;theta)
- это его вероятность (то есть, увидеть состояние последовательности, действие, следующее состояние,следующее действие, ...), которое зависит как от динамики среды, так и от политики (параметрируется theta
).Формально
p(tau;theta) = p(s_0)*pi(a_0|s_0;theta)*P(s_1|s_0,a_0)*pi(a_1|s_1;theta)*P(s_2|s_1,a_1)*...
, где P(s'|s,a)
- это вероятность перехода, заданная динамикой.
Поскольку мы не можем контролировать динамику, только политику, мы оптимизируем ее параметры и делаем этоподъемом градиента, что означает, что мы берем направление, заданное градиентом.Уравнение на вашем изображении взято из логического трюка df(x)/dx = f(x)*d(logf(x))/dx
.
В нашем случае f(x)
равен p(tau;theta)
, и мы получаем ваше уравнение.Тогда, поскольку у нас есть доступ только к конечному количеству данных (наши образцы), мы приближаем интеграл с ожиданием.
Шаг за шагом, вы (в идеале) достигнете точки, где градиент равен 0, что означает, чтовы достигли (местного) оптимума.
Более подробное объяснение вы можете найти здесь .
РЕДАКТИРОВАТЬ
Неофициально,Вы можете подумать об изучении политики, которая увеличивает вероятность увидеть высокий доход R(tau)
.Обычно R(tau)
- совокупная сумма вознаграждений.Таким образом, для каждой пары состояние-действие (s,a)
вы максимизируете сумму вознаграждений, которые вы получаете от выполнения a
в состоянии s
и последующего pi
впоследствии.Проверьте это большое резюме для более подробной информации (рис. 1).