Q-learning, как насчет выбора действия, которое на самом деле дает наибольшее вознаграждение? - PullRequest
0 голосов
/ 08 июня 2018

Таким образом, в процессе обучения Q вы обновляете функцию Q следующим образом: Qnew (s, a) = Q (s, a) + альфа (r + гамма * MaxQ (s ', a) - Q (s, a).

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

Конечно, время обучения, вероятно, увеличится, потому что вы фактически делаете все действия один раз для каждого обновления., но так как вы гарантированно выбираете лучшее действие каждый раз (кроме случаев, когда исследуете), это в конечном итоге даст вам глобальную оптимальную политику?

Это немного похоже на итерацию значения, за исключением того, что яне имею и не строю модель для проблемы.

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

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

Учитывая, что у вас нет доступа к модели, вы должны прибегнуть к методам, свободным от модели.То, что вы предлагаете, - это в основном резервная копия для программирования Dynamics.См. Слайды 28 - 31 в лекционных заметках Дэвида Сильвера , где представлены различные стратегии резервного копирования для итерации функции значения.

Однако обратите внимание, что это только для прогнозирования (т. Е. Оценки функции значения для данной политики), а не для управления (выяснение лучшей политики).Не будет Макса, вовлеченного в предсказание.Для контроля вы можете использовать приведенную выше оценку политики + жадное улучшение политики, чтобы получить «итерацию политики, основанную на оценке политики резервного копирования в динамическом проге».

Другими вариантами управления без модели являются SARSA [+ жадное улучшение политики] (в политике) и Q-learning (вне политики).Это методы, основанные на Q-функции.

Если вы просто пытаетесь выиграть игру и не обязательно интересуетесь методами RL, описанными выше, тогда у вас также есть выбор использования методов, основанных исключительно на планировании (например, Поиск по дереву Монте-Карло ).Наконец, вы можете сочетать планирование и обучение с такими методами, как Dyna.

0 голосов
/ 08 июня 2018

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

Обычно в процессе обучения усилению предполагается, что у нас нет возможности сбросить (смоделированную) среду.Конечно, когда мы работаем над симуляциями, это часто может быть технически возможно, но в целом мы надеемся, что работа в RL может также распространиться на проблемы «реального мира» вне симуляций впоследствии, где это уже было бы невозможно.

Если у вас есть такая возможность, обычно рекомендуется искать алгоритмы поиска, такие как поиск по дереву Монте-Карло, а не обучение с подкреплением, такие как Сарса, Q-обучение и т. Д. Я подозреваю, что ваше предложение может работать немного лучше, чем Q- действительно, в этом случае обучение, но такие вещи, как MCTS, были бы еще лучше.

...