Хобрук: Ваш путь к мастерству в программировании

Зачем нам нужна эксплуатация в RL(Q-Learning) для конвергенции?

Я реализую алгоритм Q-обучения и заметил, что мои Q-значения не сходятся к оптимальным Q-значениям, хотя политика, кажется, сходится. Я определил стратегию выбора действия как эпсилон-жадный, а эпсилон уменьшается на 1/N, начиная с 1 (N — общее количество итераций). Таким образом, на более ранних итерациях алгоритм исследует случайные состояния, затем эта скорость постепенно снижается, что приводит к эксплуатации. Кроме того, я определил скорость обучения как 1/N_t(s,a), где N_t(s,a) — общее количество посещений (s,a).

Вроде бы все правильно, но поскольку я не могу подобрать оптимальные значения Q, я начал искать разные стратегии и тем временем совсем запутался. Я знаю, что сходимость достигается, когда все пары (s,a) посещаются бесконечно часто. Разве это не эквивалентно утверждению, что все пары (s,a) исследуются много раз? Другими словами, зачем нужна эксплуатация конвергенции? Что, если мы не будем эксплуатировать и просто сосредоточимся на изучении? Если мы это сделаем, мы проверим все пространство решений, следовательно, разве этого не должно быть достаточно, чтобы найти оптимальную политику?

Кроме того, когда сказано, что Q-значения сходятся к оптимальным, сходятся ли только max_a[Q(s,a)] к своему оптимальному значению или все значения Q(s,a) сходятся к своему оптимальному значению?

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


Ответы:


1

Эксплуатация действительно не нужна для конвергенции теоретически. На практике это часто оказывается важным/необходимым по одной или по обеим из следующих двух причин:

  1. Иногда мы учимся не только ради обучения, но и заботимся о своей работе уже в процессе обучения/тренировки. Это означает, что нам нужен баланс между эксплуатацией (хорошая работа) и исследованием (продолжение учиться).

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

Чтобы прояснить второй момент, представьте, например, что мы находимся в одном углу большой двумерной сетки, а наша целевая позиция находится в противоположном углу. Предположим, что мы уже получаем небольшое вознаграждение всякий раз, когда приближаемся к цели, и небольшое отрицательное вознаграждение всякий раз, когда отдаляемся. Если у нас есть баланс между исследованием и эксплуатацией, вполне вероятно, что мы быстро научимся идти по пути от начала к цели, но также и немного хаотично прыгать по этому пути из-за исследования. Другими словами, мы начнем изучать, что делать во всех состояниях на этом пути.

Теперь предположим, что вы пытаетесь учиться в той же ситуации, только действуя случайным образом (например, без эксплуатации). Если мы будем действовать случайным образом только в достаточно большой двумерной сетке и всегда начнем с одного угла, маловероятно, что нам когда-нибудь удастся достичь другой стороны сетки. Мы просто случайным образом будем двигаться в области вокруг начальной позиции и никогда не узнаем, что делать в состояниях, далеких от этой начальной позиции. На практике маловероятно, что когда-либо удастся достичь их чисто случайным поведением. Очевидно, что мы достигнем каждого состояния за бесконечное количество времени, но на практике мы редко имеем бесконечное количество времени.

29.03.2018
  • Это не кажется мне правильным. Некоторые методы, такие как SARSA, требуют использования изученной политики, т. е. эксплойта, для конвергенции. Смотрите мой ответ. 29.03.2018
  • @PabloEM Методы политики (например, SARSA) действительно изучают значения политики, которой они следуют, но теоретически таким алгоритмам нет необходимости следовать политике, которая включает эксплуатацию. Теоретически такой алгоритм мог бы следовать (и изучать значения) совершенно случайной политике. На практике это часто было бы плохой идеей по причинам, описанным в моем ответе. 29.03.2018
  • Вопрос в том, требуется ли эксплуатация для конвергенции. Как вы сказали, SARSA изучает ценности политики, которой она следует. Итак, теоретически для конвергенции в SARSA вы должны использовать изученную политику. Если у вас есть алгоритм SARSA, использующий полностью случайную политику, конвергенция никогда не будет достигнута. Это причина, потому что я думаю, что ваш ответ неверен 29.03.2018
  • @PabloEM Я не согласен с утверждением, что конвергенция никогда не достигается, если у вас SARSA следует совершенно случайной политике. Он сходится. Он сходится к значениям состояния-действия, которые являются правильными, учитывая, что ваш агент будет продолжать действовать случайным образом после этого. Таким образом, для каждого (S, A) он будет сходиться к ожидаемому одношаговому вознаграждению R за выполнение A в S плюс gamma ожидаемая отдача за случайные действия после выполнения A в S. Я согласен, что это не очень полезные величины для сходимости, но к чему-то они сходятся. 29.03.2018
  • Кроме того, в любом случае вопрос, по-видимому, в первую очередь касается Q-обучения (хотя хорошо бы охватить и более общий случай). 29.03.2018
  • Да, как вы сказали, он сходится к значениям состояния-действия, которые являются правильными, учитывая, что ваш агент будет продолжать действовать случайным образом после этого, поэтому он не сходится к оптимальной политике. Когда мы говорим о сближении, обычно имеется в виду сближение с оптимальной политикой. Я почти уверен, что задающий вопрос также говорит о сближении с оптимальными ценностями/политикой, а не о сближении с чем-то другим. 29.03.2018
  • Это зависит от того, как вы определяете оптимальные значения. Если определить их в терминах жадной политики, то да, SARSA со случайной политикой к ним не сходится. SARSA со многими другими типами политик (например, любой epsilon-жадной политикой с константой epsilon) тоже не работает. Если вы определяете их с точки зрения применяемой политики, то да, все они сходятся к оптимальным значениям для своей политики (epsilon-жадный с epsilon = 1.0 в случае отсутствия эксплуатации). Я согласен, что вопрос, похоже, не об этом или любом другом варианте SARSA, а о Q-обучении. 29.03.2018
  • Стандартное, общепринятое и общепринятое определение оптимальной политики: всегда существует по крайней мере одна политика, которая лучше всех других политик или равна им. Это оптимальная политика. Я почти уверен, что вы понимаете, что такое оптимальная политика. Я хочу сказать, что некоторые алгоритмы RL требуют эксплуатации для достижения оптимальной политики, которая кажется актуальной для исходного вопроса. И, судя по вашим комментариям, вы, кажется, согласны. Поэтому я не собираюсь начинать дискуссию о том, что означает оптимальная политика, потому что это совершенно не по теме (и потому что у меня нет времени! ;-)). 29.03.2018
  • @PabloEM Эти алгоритмы RL (например, SARSA) на самом деле вовсе не гарантируют сходимость к этой оптимальной политике. Если вы всегда сохраняете некоторое количество исследований, они вместо этого сойдутся в другом понятии оптимальности (политике, которая сама знает, что вместо этого она иногда будет исследовать). Если вы со временем сведете исследование к нулю, вам не гарантируется бесконечное количество исследований, поэтому вам не гарантируется конвергенция к чему-либо вообще. Так что в этом случае я все еще не согласен, SARSA вообще не сходится к этому определению оптимальности, даже с эксплуатацией. 29.03.2018
  • Конечно, возможно, Рич Саттон и Эндрю Барто ошибаются в своем учебнике по RL, когда говорят: SARSA сходится с вероятностью 1 к оптимальной политике и функции действия-ценности, если все пары состояние-действие посещаются бесконечное число раз [.. .] (incompleteideas.net/book/ebook/node64.html). Они будут очень признательны за получение исправлений для 2-й версии книги. Итак, пожалуйста, скажите мне/им, почему предыдущее утверждение неверно и как его следует улучшить. Я буду очень рад увидеть ваш вклад в эту замечательную книгу RL. 29.03.2018
  • вы забыли про и политика сходится в пределе к жадной политике в конце этого предложения. SARSA сходится к вашему понятию оптимальности только в том случае, если у вас есть как 1) бесконечное исследование, так и 2) сходимость к жадной политике в пределе. Я явно учел эти условия при написании своих комментариев выше, если вы внимательно прочитаете их, вы увидите, что они не противоречат ничему из этого. На практике практически невозможно выполнить оба этих условия. Вдобавок ко всему, если вы предполагаете, что вы действительно сходитесь к жадной политике, мой первоначальный ответ снова полностью верен. 29.03.2018
  • Нет, не то чтобы невозможно выполнить условие бесконечного исследования, совершенно невозможно осуществить на практике эксперимент с бесконечным исследованием. По определению, на практике вы никогда не достигнете бесконечности. Однако это теоретическое условие сходимости во многих алгоритмах. Таким образом, заявление о том, что SARSA не гарантирует сходимости, потому что его доказательства сходимости основаны на асимтотических условиях, не имеет смысла. Фактически, Q-обучение также требует бесконечного исследования. Кстати, это не мое понимание оптимальности, это стандартное определение оптимальности в данном контексте. 29.03.2018
  • Давайте продолжим обсуждение в чате. 29.03.2018

  • 2

    Как вы уже сказали, с теоретической точки зрения методы RL всегда требуют, чтобы все пары (s,a) посещались бесконечно часто. Однако этап эксплуатации необходим только в зависимости от типа алгоритма RL. Ключевой концепцией, относящейся к вашему вопросу, является различие между алгоритмами on-policy и off-policy.

    В алгоритмах on-policy (например, SARSA) агент должен взаимодействовать со средой, используя ту же политику, которую он изучает. Таким образом, этот вид методов требует использования изученной политики (также известной как эксплуатация) для достижения конвергенции.

    Напротив, в алгоритмах вне политики (например, Q-learning) агент может следовать любой политике, сходясь к оптимальной политике.

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

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

    29.03.2018
  • Большое спасибо за объяснение! У меня вопрос вдогонку. Можем ли мы сказать, что после достижения сходимости все Q-значения (для всех пар состояний и действий) сходятся к своему оптимальному значению? Так, например, оптимальное действие для состояния 0 равно 1. Но можем ли мы сказать, что Q(0,2) — это наилучшее значение, которого можно достичь, если вы предпримете действие 2 из состояния 0? Еще раз большое спасибо! 31.03.2018
  • Добро пожаловать! Извините, я забыл ответить на эту часть вашего вопроса. Да, когда все пары состояние-действие посещаются достаточно раз для достижения сходимости, все значения Q сходятся к оптимальному значению, а не только max_a[Q(s,a)]. Итак, в вашем примере вы фактически можете сказать, что Q (0,2) - это лучшее значение для выполнения действия 2 в состоянии 0. 31.03.2018
  • Новые материалы

    Освоение информационного поиска: создание интеллектуальных поисковых систем (глава 1)
    Глава 1. Поиск по ключевым словам: основы информационного поиска Справочная глава: «Оценка моделей поиска информации: подробное руководство по показателям производительности » Глава 1: «Поиск..

    Фишинг — Упаковано и зашифровано
    Будучи старшим ИТ-специалистом в небольшой фирме, я могу делать много разных вещей. Одна из этих вещей: специалист по кибербезопасности. Мне нравится это делать, потому что в настоящее время я..

    ВЫ РЕГРЕСС ЭТО?
    Чтобы понять, когда использовать регрессионный анализ, мы должны сначала понять, что именно он делает. Вот простой ответ, который появляется, когда вы используете Google: Регрессионный..

    Не зря же это называют интеллектом
    Стек — C#, Oracle Опыт — 4 года Работа — Разведывательный корпус Мне пора служить Может быть, я немного приукрашиваю себя, но там, где я живу, есть обязательная военная служба на 3..

    LeetCode Проблема 41. Первый пропущенный положительный результат
    LeetCode Проблема 41. Первый пропущенный положительный результат Учитывая несортированный массив целых чисел, найдите наименьшее пропущенное положительное целое число. Пример 1: Input:..

    Расистский и сексистский робот, обученный в Интернете
    Его ИИ основан на предвзятых данных, которые создают предрассудки. Он словно переходит из одного эпизода в другой из серии Черное зеркало , а вместо этого представляет собой хронику..

    Управление состоянием в микрофронтендах
    Стратегии бесперебойного сотрудничества Микро-фронтенды — это быстро растущая тенденция в сфере фронтенда, гарантирующая, что удовольствие не ограничивается исключительно бэкэнд-системами..