1) должен ли агент предпринимать действия на каждом дискретном временном шаге (1 секунда) или агент может выполнять действие каждые 100 м вместо каждого дискретного временного шага. Обязательно ли предпринимать действия на каждом дискретном временном шаге?
Я думаю, вы можете путать концепцию временного шага в Q-обучении с нашей физической реализацией времени. В Q-обучении каждый временной шаг — это время, когда наступает очередь агента сделать ход/выполнить действие. Итак, если игра — шахматы, то каждый временной шаг будет соответствовать тому моменту, когда игроку пора играть. Поэтому то, как часто ваш агент может совершать действия, определяется правилами игры. В вашем примере мне не совсем понятно, что за правила "игры"? Если правила говорят, что агент может выбирать действие каждую 1 «секунду», то агент должен будет следовать этому. Если вы считаете, что это слишком часто, вы можете увидеть, является ли «Нет» доступным вариантом действия для агента или нет.
что означает отложенное вознаграждение в Q-обучении? это обновление вознаграждения, когда агент достигает цели, вместо обновления вознаграждения после выполнения каждого действия на каждом временном шаге?
Чтобы понять отложенное вознаграждение, возможно, вам поможет формула.
Как видите, на значение Q на временном шаге t влияет не только старое значение Q и немедленное вознаграждение, но и "оценочное оптимальное будущее значение". Это оценочное оптимальное значение (с коэффициентом дисконтирования гиперпараметра, который необходимо настроить) устанавливается для захвата «отложенного вознаграждения».
Интуиция, лежащая в основе отсроченного вознаграждения, заключается в том, что иногда одно действие может показаться плохим действием в тот момент (математически, совершая это действие, агент получает небольшое немедленное вознаграждение или даже штраф), но каким-то образом это действие приводит к долгосрочной выгоде. . Поместите это в свой пример, предположим, что агент находится в позиции P, есть два пути, чтобы добраться до стоп-линии. Один маршрут имеет прямое расстояние 1 км, другой имеет небольшой объезд и имеет расстояние 1,5 км. Агент выбирает маршрут длиной 1,5 км, возможно, он получит меньше немедленного вознаграждения, чем выбор маршрута длиной 1 км. Далее предположим, что маршрут длиной 1,5 км имеет более высокое ограничение скорости, чем маршрут длиной 1 км, что на самом деле приводит к тому, что агент добирается до стоп-линии быстрее, чем по маршруту длиной 1 км. Это «будущее вознаграждение» представляет собой отсроченное вознаграждение, которое необходимо учитывать при расчете значения Q (состояние в положении P, действие по прохождению 1,5-километрового маршрута) на временном шаге t.
Формула может быть немного запутанной для реализации, поскольку она включает будущее значение Q. Однажды я сделал это так: просто вычислил значение Q на временном шаге t, не беспокоясь об отсроченном вознаграждении.
# @ time step t
Q(st, at) = Q(st, at) + alpha * immedate_reward - alpha*Q(st, at)
Затем, после достижения временного шага t+1, я вернулся, чтобы обновить предыдущее значение Q на временном шаге t с отложенным вознаграждением.
# @ time step t+1
Q(st+1, at+1) = Q(st+1, at+1) + alpha * immedate_reward - alpha*Q(st+1, at+t)
Q(st, at) = Q(st, at) + alpha * gama * max(Q(st+1, a))
Я надеюсь, что это поможет прояснить и ответить на ваш вопрос...
person
Zhongyu Kuang
schedule
19.10.2016