Вы правильно функция дает вам значение состояния, а - значение действия в состоянии (следуя заданной политике ). Я нашел наиболее ясное объяснение Q-обучения и его работы в книге Тома Митчелла «Машинное обучение» (1997), гл. 13, который можно загрузить. определяется как сумма бесконечного ряда, но здесь это не важно. Важно то, что функция определяется какVQπVQ
Q(s,a)=r(s,a)+γV∗(δ(s,a))
где V * - лучшее значение состояния, если вы можете следовать оптимальной политике, которую вы используете не знаю Однако он имеет хорошую характеристику в терминах
Вычисление выполняется путем замены в первом уравнении, чтобы получить
Q
V∗(s)=maxa′Q(s,a′)
QV∗Q(s,a)=r(s,a)+γmaxa′Q(δ(s,a),a′)
Поначалу это может показаться странной рекурсией, поскольку она выражает значение Q действия в текущем состоянии в терминах наилучшего значения Q состояния- преемника , но имеет смысл, когда вы смотрите на то, как его использует процесс резервного копирования: Исследование процесс останавливается, когда он достигает целевого состояния и собирает вознаграждение, которое становится значением Q этого заключительного перехода. Теперь в последующем обучающем эпизоде, когда процесс исследования достигает этого состояния предшественника, процесс резервного копирования использует указанное выше равенство для обновления текущего значения Q состояния предшественника. В следующий раз егопосещается предшественник, значение Q состояния которого обновляется, и так далее в обратном направлении (книга Митчелла описывает более эффективный способ сделать это, сохранив все вычисления и воспроизведя их позже). При условии, что каждое состояние посещается бесконечно часто, этот процесс в конечном итоге вычисляет оптимальный Q
Иногда вы увидите скорость обучения применяемую для контроля того, сколько Q действительно обновляется:
Теперь обратите внимание , что обновление до величины Q имеет в зависимости от текущего значения Q. Книга Митчелла также объясняет, почему это так и почему вам нужна : ее для стохастических MDP. Без каждый раз, когда предпринималась попытка создания пары «состояние-действие», получалось бы другое вознаграждение, поэтому функция Q ^ отскакивала бы повсюду и не сходилась. существует, так как новые знания принимаются только частично.αQ(s,a)=(1−α)Q(s,a)+α(r(s,a)+γmaxa′Q(s′,a′))
=Q(s,a)+α(r(s,a)+γmaxa′Q(s′,a′)−Q(s,a))
αααααααααустанавливается так, чтобы ток (в основном случайные значения) Q был менее влиятельным. уменьшается по мере обучения, поэтому новые обновления оказывают все меньшее и меньшее влияние, и теперь Q обучение сходитсяα