В чем разница между Q-learning и Value Iteration?

Чем Q-обучение отличается от итеративной оценки в обучении с подкреплением?

Я знаю, что Q-learning не содержит моделей, а обучающие образцы - это переходы (s, a, s', r). Но так как мы знаем переходы и вознаграждение за каждый переход в Q-Learning, разве это не то же самое, что обучение на основе моделей, где мы знаем вознаграждение за пару состояний и действий и переходы для каждого действия из состояния (быть это стохастик или детерминист)? Я не понимаю разницу.

Ответ 1

Вы на 100% правы, что если бы мы знали вероятности перехода и вознаграждение за каждый переход в Q-учебе, было бы довольно непонятно, почему мы будем использовать его вместо обучения на основе модели или как оно будет принципиально иным. В конце концов, вероятности перехода и вознаграждения являются двумя компонентами модели, используемой в итерации ценности - если они у вас есть, у вас есть модель.

Ключ в том, что в Q-обучении агент не знает вероятности перехода или вознаграждений состояния. Агент только обнаруживает, что есть вознаграждение за переход из одного состояния в другое посредством данного действия, когда оно это делает, и получает вознаграждение. Точно так же он только определяет, какие переходы доступны из определенного состояния, заканчивая этим состоянием и рассматривая его варианты. Если переходы состояния являются стохастическими, он изучает вероятность перехода между состояниями, наблюдая, как часто происходят различные переходы.

Возможным источником путаницы здесь является то, что вы, как программист, можете точно знать, как настроены вознаграждения и переходы состояний. Фактически, когда вы впервые разрабатываете систему, есть вероятность, что вы это делаете, так как это довольно важно для отладки и проверки того, что ваш подход работает. Но вы никогда не говорите агенту об этом, вместо этого вы заставляете его учиться самостоятельно через проб и ошибок. Это важно, если вы хотите создать агента, способного вступить в новую ситуацию, о которой вы не знаете, и о том, что делать. Альтернативно, если вам все равно о способности агента учиться самостоятельно, Q-learning может также потребоваться, если пространство состояний слишком велико, чтобы многократно перечислять. Если агент исследует без каких-либо начальных знаний, он может быть более трудоемким.

Ответ 2

Итерация значения используется, когда у вас есть вероятности перехода, это означает, что вы знаете вероятность перехода из состояния x в состояние x 'с действием a. Напротив, у вас может быть черный ящик, который позволяет вам смоделировать его, но на самом деле вам не дана вероятность. Таким образом, вы без модели. Это когда вы применяете Q обучения.

Также то, что изучено, отличается. С помощью итерации значения вы узнаете ожидаемую стоимость, когда вам дается состояние x. С помощью q-learning вы получаете ожидаемую дисконтированную стоимость, когда находитесь в состоянии x, и применяете действие a.

Вот алгоритмы:

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

Ответ 3

Я не думаю, что принятый ответ уловил суть разницы. Процитируем новейшую версию книги Ричарда Саттона:

"Наличие q ∗ делает выбор оптимальных действий еще проще. С q ∗ агенту даже не нужно выполнять поиск на один шаг вперед: для любого состояния s он может просто найти любое действие, которое максимизирует q ∗ (s; a) Функция action-value эффективно кэширует результаты всех поисков на один шаг вперед и обеспечивает оптимальный ожидаемый долгосрочный возврат в виде значения, которое локально и сразу доступно для каждого состояния {пары действий. Следовательно, за счет Представляя функцию пары состояния {действия, а не просто состояния, функция оптимального значения действия позволяет выбирать оптимальные действия, не зная ничего о возможных состояниях-преемниках и их значениях, то есть не зная ничего об окружающей среде. динамика. "

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

Реальное различие между q-learning и итерацией нормальных значений заключается в том, что: после того, как у вас есть V *, вам все равно нужно выполнить одношаговое действие для просмотра последующих состояний для определения оптимального действия для этого состояния. И этот прогноз требует динамического перехода после действия. Но если у вас есть q *, оптимальный план - это просто выбрать a из пары max q (s, a).