Что такое функция Q и что такое функция V в обучении подкреплению?

30

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

Определения

Q- и V-обучение находятся в контексте Марковских процессов принятия решений . MDP представляет собой 5-кортеж с(S,A,P,R,γ)

  • S - это набор состояний (обычно конечный)
  • A - это набор действий (обычно конечный)
  • P(s,s,a)=P(st+1=s|st=s,at=a) - вероятность перехода из состояния s в состояние s с действием a .
  • R(s,s,a)R - это немедленная награда после перехода из состояния s в состояние s действием a . (Мне кажется, что обычно это только s ).
  • γ[0,1] называется коэффициентом дисконтирования и определяет, сосредоточен ли кто-то на немедленном вознаграждении ( γ=0 ), общем вознаграждении ( γ=1 ) или некотором компромиссе.

Политика π , в соответствии с подкреплением: Введение Саттон и Барто функция π:SA (это может быть вероятностным).

Согласно слайдам Марио Мартинса , функция V имеет вид

Vπ(s)=Eπ{Rt|st=s}=Eπ{k=0γkrt+k+1|st=s}
и функция Q имеет вид
Qπ(s,a)=Eπ{Rt|st=s,at=a}=Eπ{k=0γkrt+k+1|st=s,at=a}

Мои мысли

Функция V устанавливает ожидаемое общее значение (а не вознаграждение!) Состояния s соответствии с политикой π .

Функция Q устанавливает значение состояния s и действия a соответствии с политикой π .

Это означает, что

Qπ(s,π(s))=Vπ(s)

Правильно? Так почему же у нас вообще есть функция значения? (Думаю, я что-то перепутал)

Мартин Тома
источник

Ответы:

15

Q-значения являются отличным способом сделать действия явными, чтобы вы могли решать проблемы, когда функция перехода недоступна (без модели). Однако, когда ваше пространство действия велико, вещи не так хороши, а Q-значения не так удобны. Подумайте об огромном количестве действий или даже непрерывных пространствах действия.

С точки зрения выборки размерность выше, чем поэтому может быть сложнее получить достаточно выборок по сравнению с . Если у вас есть доступ к функции перехода, иногда это хорошо.Q(s,a)V(s)(s,a)(s)V

Есть и другие виды использования, где оба комбинируются. Например, функция преимущества, где . Если вы заинтересованы, вы можете найти недавний пример, используя функции преимущества здесь:A(s,a)=Q(s,a)V(s)

Сетевые архитектуры дуэли для глубокого обучения

Зию Ванг, Том Шауль, Маттео Хессель, Хадо ван Хасселт, Марк Ланкто и Нандо де Фрейтас.

Хуан Лени
источник
19

Vπ(s) - функция значения состояния MDP (процесс принятия решения Маркова). Это ожидаемая доходность , начиная с государства следующей политики .sπ

В выражении

Vπ(s)=Eπ{Gt|st=s}

Gt - это общее вознаграждение от временного шага , в отличие от который является немедленным возвратом. Здесь вы берете ожидание ВСЕХ действий в соответствии с политикой .tRtπ

Qπ(s,a)s π a - функция значения действия. Это ожидаемое возвращение, начиная с состояния , следующего за политикой и выполняющего действие . Это сосредоточено на конкретном действии в определенном государстве.sπa

Qπ(s,a)=Eπ{Gt|st=s,at=a}

Соотношение между и (значение нахождения в этом состоянии)QπVπ

Vπ(s)=aAπ(a|s)Qπ(a,s)

Вы суммируете каждое значение действия, умноженное на вероятность совершить это действие (политика ).π(a|s)

Если вы думаете о примере мира сетки, вы умножаете вероятность (вверх / вниз / вправо / влево) на значение состояния на один шаг вперед (вверх / вниз / вправо / влево).

Аарон
источник
5
Это самый краткий ответ.
Бретт
У меня есть источник, который утверждает, что . Как вы соотносите это уравнение с тем, которое вы указываете в своем ответе, ? В вашем уравнении вы определяете в виде взвешенной суммы значенийЭто отличается от определения у меня есть, который определяет как самый высокий . V π ( s ) = a A π ( a s ) Q π ( a , s ) V Q V QVπ(s)=maxaAQπ(s,a)Vπ(s)=aAπ(as)Qπ(a,s)VQVQ
nbro
@nbro Я думаю, это зависит от того, какую политику вы придерживаетесь. В чистой жадной политике вы правы. Но если бы это была более исследовательская политика, которая была построена для стохастического решения действия, то вышеприведенное было бы правильным
deltaskelta
7

Вы правильно функция дает вам значение состояния, а - значение действия в состоянии (следуя заданной политике ). Я нашел наиболее ясное объяснение Q-обучения и его работы в книге Тома Митчелла «Машинное обучение» (1997), гл. 13, который можно загрузить. определяется как сумма бесконечного ряда, но здесь это не важно. Важно то, что функция определяется какVQπVQ

Q(s,a)=r(s,a)+γV(δ(s,a))
где V * - лучшее значение состояния, если вы можете следовать оптимальной политике, которую вы используете не знаю Однако он имеет хорошую характеристику в терминах Вычисление выполняется путем замены в первом уравнении, чтобы получить Q
V(s)=maxaQ(s,a)
QV
Q(s,a)=r(s,a)+γmaxaQ(δ(s,a),a)

Поначалу это может показаться странной рекурсией, поскольку она выражает значение Q действия в текущем состоянии в терминах наилучшего значения Q состояния- преемника , но имеет смысл, когда вы смотрите на то, как его использует процесс резервного копирования: Исследование процесс останавливается, когда он достигает целевого состояния и собирает вознаграждение, которое становится значением Q этого заключительного перехода. Теперь в последующем обучающем эпизоде, когда процесс исследования достигает этого состояния предшественника, процесс резервного копирования использует указанное выше равенство для обновления текущего значения Q состояния предшественника. В следующий раз егопосещается предшественник, значение Q состояния которого обновляется, и так далее в обратном направлении (книга Митчелла описывает более эффективный способ сделать это, сохранив все вычисления и воспроизведя их позже). При условии, что каждое состояние посещается бесконечно часто, этот процесс в конечном итоге вычисляет оптимальный Q

Иногда вы увидите скорость обучения применяемую для контроля того, сколько Q действительно обновляется: Теперь обратите внимание , что обновление до величины Q имеет в зависимости от текущего значения Q. Книга Митчелла также объясняет, почему это так и почему вам нужна : ее для стохастических MDP. Без каждый раз, когда предпринималась попытка создания пары «состояние-действие», получалось бы другое вознаграждение, поэтому функция Q ^ отскакивала бы повсюду и не сходилась. существует, так как новые знания принимаются только частично.α

Q(s,a)=(1α)Q(s,a)+α(r(s,a)+γmaxaQ(s,a))
=Q(s,a)+α(r(s,a)+γmaxaQ(s,a)Q(s,a))
αααααααααустанавливается так, чтобы ток (в основном случайные значения) Q был менее влиятельным. уменьшается по мере обучения, поэтому новые обновления оказывают все меньшее и меньшее влияние, и теперь Q обучение сходитсяα

SN
источник
0

Вот более подробное объяснение связи между значением состояния и значением действия в ответе Аарона. Давайте сначала взглянем на определения функции-значения и функции-значения в разделе политики : где - возврат в момент времени . Отношение между этими двумя функциями значения может быть получено как π

vπ(s)=E[Gt|St=s]qπ(s,a)=E[Gt|St=s,At=a]
Gt=k=0γkRt+k+1t
vπ(s)=E[Gt|St=s]=gtp(gt|St=s)gt=gtap(gt,a|St=s)gt=ap(a|St=s)gtp(gt|St=s,At=a)gt=ap(a|St=s)E[Gt|St=s,At=a]=ap(a|St=s)qπ(s,a)
Вышеприведенное уравнение важно. Он описывает отношения между двумя фундаментальными ценностными функциями в обучении с подкреплением. Это действительно для любой политики. Более того, если у нас есть детерминированная политика, то . Надеюсь, это полезно для вас. (чтобы узнать больше об уравнении оптимальности Беллмана https: //stats.stackexchange.vπ(s)=qπ(s,π(s)))

Цзе Ши
источник
0

Функция значения - это абстрактная формулировка полезности. И Q-функция используется для алгоритма Q-обучения.

Эммануил
источник
Для контекста этого вопроса и различны. VQ
Сионг Тай Го