Зачем нам нужна эксплуатация в 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) сходятся к своему оптимальному значению?
Вероятно, есть простой ответ на все эти вопросы, однако, несмотря на то, что я проверил много ресурсов и подобных потоков, я все еще не мог понять логику эксплуатации. Большое спасибо за ваше время заранее!
2 ответа
Эксплуатация действительно не нужна для конвергенции в теории. На практике это часто оказывается важным / необходимым по одной или обеим из следующих двух причин:
Иногда мы учимся не только ради обучения, но мы также заботимся о своей успеваемости уже в процессе обучения / обучения. Это означает, что нам нужен баланс между эксплуатацией (хорошо работающей) и разведкой (продолжая учиться).
Что еще более важно, если мы просто исследуем, а не эксплуатируем вообще, это также может ограничить нашу способность к обучению на практике, потому что есть много состояний, которых мы можем просто не достичь, если будем действовать случайным образом.
Чтобы прояснить второй момент, рассмотрим, например, что мы находимся в одном углу большой двумерной сетки, а наша цель находится в противоположном углу. Предположим, что мы уже получаем небольшие вознаграждения, когда мы приближаемся к цели, и небольшие отрицательные вознаграждения, когда мы движемся дальше. Если у нас будет баланс между разведкой и эксплуатацией, вполне вероятно, что мы быстро научимся идти по пути от начала до цели, но также будем случайным образом прыгать по этому пути из-за разведки. Другими словами, мы начнем изучать, что делать во всех штатах на этом пути.
Теперь предположим, что вы пытаетесь учиться в одной и той же ситуации, действуя случайным образом (например, без эксплуатации). Если мы действуем случайным образом только в достаточно большой двумерной сетке и всегда начинаем с одного угла, маловероятно, что нам когда-нибудь удастся добраться до другой стороны сетки. Мы просто будем случайным образом двигаться в области вокруг начальной позиции и никогда не узнаем, что делать в состояниях, удаленных от этой начальной позиции. Маловероятно, что они когда-либо достигнут их с помощью случайного поведения на практике. Очевидно, что мы достигнем каждого состояния за бесконечное количество времени, но на практике у нас редко бывает бесконечное количество времени.
Как вы уже сказали, с теоретической точки зрения, методы RL всегда требуют, чтобы все (s, a) пары посещались бесконечно часто. Однако этап эксплуатации необходим только в зависимости от типа алгоритма RL. Ключевой концепцией, имеющей отношение к вашему вопросу, является различие между алгоритмами внутри политики и вне политики.
В алгоритмах на основе политики (например, SARSA) агент должен взаимодействовать со средой, используя ту же политику, которую он изучает. Таким образом, этот вид методов требует использования изученной политики (или эксплуатации) для достижения конвергенции.
Напротив, в алгоритмах вне политики (например, Q-learning) агент может следовать любой политике, одновременно приближаясь к оптимальной политике.
Внеполитические методы могут быть очень полезны в задачах, где данные о взаимодействиях между агентом и средой собираются заранее. Например, в медицинской проблеме, где вы сохранили взаимодействия между ответами врача на лечение пациента, вы могли бы применить алгоритм вне политики для изучения оптимального лечения. В этом случае очевидно, что вы не используете эксплуатацию, потому что агент не взаимодействует со средой после начала обучения.
Тем не менее, обратите внимание, что вне политики могут также использоваться методы исследования, хотя должно быть ясно, что это не является обязательным требованием. В большинстве типичных проблем RL цель состоит в том, чтобы агент выбирал правильные действия как можно скорее. В таком случае имеет смысл начать балансировать между разведкой и разработкой сразу после начала обучения, независимо от того, работает ли алгоритм по политике или вне политики.