Q -learning — это алгоритм обучения с подкреплением без модели , позволяющий узнать значение действия в определенном состоянии. Он не требует модели среды (отсюда и «без модели») и может решать проблемы со стохастическими переходами и вознаграждениями без необходимости адаптации. [1]
Для любого конечного марковского процесса принятия решений Q - обучение находит оптимальную политику в смысле максимизации ожидаемого значения общей награды за любые и все последовательные шаги, начиная с текущего состояния. [2] Q -обучение может определить оптимальную политику выбора действий для любого заданного конечного марковского процесса принятия решений, учитывая бесконечное время исследования и частично случайную политику. [2] «Q» относится к функции, которую вычисляет алгоритм – ожидаемые награды за действие, предпринятое в заданном состоянии. [3]
Обучение с подкреплением включает в себя агента , набор состояний и набор действий для каждого состояния. Выполняя действие , агент переходит из состояния в состояние. Выполнение действия в определенном состоянии обеспечивает агенту вознаграждение ( числовую оценку).
Целью агента является максимизация его общей награды. Он делает это, добавляя максимальную награду, достижимую из будущих состояний, к награде за достижение текущего состояния, эффективно влияя на текущее действие потенциальной будущей наградой. Эта потенциальная награда представляет собой взвешенную сумму ожидаемых значений наград всех будущих шагов, начиная с текущего состояния. [1]
В качестве примера рассмотрим процесс посадки в поезд, в котором вознаграждение измеряется отрицательным значением общего времени, потраченного на посадку (альтернативно, стоимость посадки в поезд равна времени посадки). Одна из стратегий заключается в том, чтобы войти в дверь поезда, как только они откроются, минимизируя начальное время ожидания для себя. Однако, если поезд переполнен, то у вас будет медленный вход после первоначального действия входа в дверь, поскольку люди будут бороться с вами, чтобы вы покинули поезд, когда вы пытаетесь сесть. Общее время посадки, или стоимость, тогда составляет:
На следующий день, по случайности (исследование), вы решаете подождать и позволить другим людям отправиться первыми. Это изначально приводит к более длительному времени ожидания. Однако меньше времени тратится на борьбу с отправляющимися пассажирами. В целом, этот путь имеет более высокую награду, чем предыдущий день, поскольку общее время посадки теперь составляет:
В ходе исследования, несмотря на то, что первоначальное (терпеливое) действие приводит к большим затратам (или отрицательному вознаграждению), чем при силовой стратегии, общие затраты ниже, что позволяет выявить более выгодную стратегию.
После шагов в будущее агент примет решение о следующем шаге. Вес для этого шага рассчитывается как , где ( фактор дисконтирования ) — это число от 0 до 1 ( ). Предполагая , он имеет эффект оценки вознаграждений, полученных ранее, выше, чем полученных позже (отражая ценность «хорошего старта»). может также интерпретироваться как вероятность успеха (или выживания) на каждом шаге .
Таким образом, алгоритм имеет функцию, которая вычисляет качество комбинации состояние-действие:
Перед началом обучения инициализируется возможно произвольным фиксированным значением (выбранным программистом). Затем, каждый раз, когда агент выбирает действие , наблюдает вознаграждение , входит в новое состояние (которое может зависеть как от предыдущего состояния , так и от выбранного действия) и обновляется. Ядром алгоритма является уравнение Беллмана как простое итеративное обновление значения , использующее средневзвешенное значение текущего значения и новой информации: [4]
где — вознаграждение, получаемое при переходе из состояния в состояние , а — скорость обучения .
Обратите внимание, что это сумма трех факторов:
Эпизод алгоритма заканчивается, когда состояние становится конечным или терминальным . Однако Q -обучение может также обучаться в неэпизодических задачах (в результате свойства сходящихся бесконечных рядов). Если коэффициент дисконтирования меньше 1, значения действий конечны, даже если задача может содержать бесконечные циклы.
Для всех конечных состояний никогда не обновляется, а устанавливается на значение вознаграждения, наблюдаемое для состояния . В большинстве случаев можно принять равным нулю.
Скорость обучения или размер шага определяет, в какой степени вновь полученная информация переопределяет старую информацию. Коэффициент 0 заставляет агента ничему не учиться (используя исключительно предыдущие знания), в то время как коэффициент 1 заставляет агента рассматривать только самую последнюю информацию (игнорируя предыдущие знания для изучения возможностей). В полностью детерминированных средах скорость обучения является оптимальной. Когда проблема является стохастической , алгоритм сходится при некоторых технических условиях к скорости обучения, которые требуют, чтобы она уменьшилась до нуля. На практике часто используется постоянная скорость обучения, например, для всех . [5]
Фактор дисконтирования определяет важность будущих вознаграждений. Фактор, равный 0, сделает агента «близоруким» (или близоруким), учитывая только текущие вознаграждения, т. е. (в правиле обновления выше), в то время как фактор, приближающийся к 1, заставит его стремиться к долгосрочному высокому вознаграждению. Если фактор дисконтирования равен или превышает 1, значения действий могут расходиться. Для без конечного состояния или если агент никогда его не достигает, все истории окружения становятся бесконечно длинными, а полезности с аддитивными, недисконтированными вознаграждениями, как правило, становятся бесконечными. [6] Даже при факторе дисконтирования, который лишь немного ниже 1, обучение с помощью Q -функции приводит к распространению ошибок и нестабильностей, когда функция значения аппроксимируется с помощью искусственной нейронной сети . [7] В этом случае начало с более низкого фактора дисконтирования и увеличение его до конечного значения ускоряет обучение. [8]
Поскольку Q -обучение является итеративным алгоритмом, он неявно предполагает начальное условие до того, как произойдет первое обновление. Высокие начальные значения, также известные как «оптимистические начальные условия», [9] могут стимулировать исследование: независимо от того, какое действие выбрано, правило обновления приведет к тому, что оно будет иметь более низкие значения, чем другая альтернатива, тем самым увеличивая вероятность их выбора. Первое вознаграждение может быть использовано для сброса начальных условий. [10] Согласно этой идее, при первом выполнении действия вознаграждение используется для установки значения . Это позволяет немедленно обучаться в случае фиксированных детерминированных вознаграждений. Ожидается, что модель, которая включает сброс начальных условий (RIC), будет предсказывать поведение участников лучше, чем модель, которая предполагает любое произвольное начальное условие (AIC). [10] RIC, по-видимому, согласуется с поведением человека в повторяющихся экспериментах с бинарным выбором. [10]
Q -learning в своей простейшей форме хранит данные в таблицах. Этот подход дает сбои с увеличением числа состояний/действий, поскольку вероятность того, что агент посетит определенное состояние и выполнит определенное действие, становится все меньше.
Q -обучение можно объединить с аппроксимацией функций . [11] Это позволяет применять алгоритм к более крупным задачам, даже когда пространство состояний непрерывно.
Одним из решений является использование (адаптированной) искусственной нейронной сети в качестве аппроксиматора функции. [12] Другая возможность заключается в интеграции нечеткой интерполяции правил (FRI) и использовании разреженных нечетких баз правил [13] вместо дискретных Q-таблиц или ИНС, что имеет преимущество в том, что является формой представления знаний, понятной человеку. Аппроксимация функции может ускорить обучение в конечных задачах из-за того, что алгоритм может обобщать более ранний опыт на ранее невиданные состояния.
Другой метод уменьшения пространства состояний/действий квантует возможные значения. Рассмотрим пример обучения балансированию палки на пальце. Описание состояния в определенный момент времени включает положение пальца в пространстве, его скорость, угол палки и угловую скорость палки. Это дает четырехэлементный вектор, который описывает одно состояние, т. е. снимок одного состояния, закодированный в четырех значениях. Проблема в том, что присутствует бесконечно много возможных состояний. Чтобы уменьшить возможное пространство допустимых действий, можно присвоить ведру несколько значений. Точное расстояние пальца от его начального положения (от -бесконечности до бесконечности) неизвестно, но известно, находится ли он далеко или нет (Близко, Далеко). [14]
Q -обучение было представлено Крисом Уоткинсом в 1989 году. [15] Доказательство сходимости было представлено Уоткинсом и Питером Даяном в 1992 году. [16]
Уоткинс рассматривал тему «Обучение с отсроченными вознаграждениями», название своей докторской диссертации. Восемью годами ранее, в 1981 году, та же проблема под названием «Отсроченное обучение с подкреплением» была решена с помощью Crossbar Adaptive Array (CAA) Бозиновски. [17] [18] Матрица памяти была такой же, как и Q-таблица Q- обучения восемь лет спустя . Архитектура ввела термин «оценка состояния» в обучение с подкреплением. Алгоритм обучения с перекрёстной ...
Термин «вторичное подкрепление» заимствован из теории обучения животных для моделирования значений состояния посредством обратного распространения : значение состояния ситуации последствий распространяется обратно на ранее встреченные ситуации. CAA вычисляет значения состояния по вертикали, а действия — по горизонтали («перекладина»). Демонстрационные графики, показывающие отложенное обучение с подкреплением, содержали состояния (желательные, нежелательные и нейтральные состояния), которые были вычислены функцией оценки состояния. Эта система обучения была предшественником алгоритма Q-обучения. [19]
В 2014 году Google DeepMind запатентовала [20] приложение Q-обучения к глубокому обучению под названием «глубокое обучение с подкреплением» или «глубокое Q-обучение», которое позволяет играть в игры Atari 2600 на уровне эксперта.
Система DeepMind использовала глубокую сверточную нейронную сеть со слоями мозаичных сверточных фильтров для имитации эффектов рецептивных полей. Обучение с подкреплением нестабильно или расходится, когда для представления Q используется нелинейный функциональный аппроксиматор, такой как нейронная сеть. Эта нестабильность возникает из-за корреляций, присутствующих в последовательности наблюдений, того факта, что небольшие обновления Q могут существенно изменить политику агента и распределение данных, а также корреляций между Q и целевыми значениями. Метод может использоваться для стохастического поиска в различных областях и приложениях. [1] [21]
Техника использовала воспроизведение опыта, биологически вдохновленный механизм, который использует случайную выборку предыдущих действий вместо самого последнего действия для продолжения. [3] Это устраняет корреляции в последовательности наблюдений и сглаживает изменения в распределении данных. Итеративные обновления корректируют Q в направлении целевых значений, которые обновляются только периодически, что еще больше снижает корреляции с целью. [22]
Поскольку будущее максимальное приближенное значение действия в Q-обучении оценивается с использованием той же функции Q, что и в текущей политике выбора действия, в шумных средах Q-обучение иногда может переоценивать значения действия, замедляя обучение. Для исправления этого был предложен вариант, называемый Double Q-обучение. Double Q-обучение [23] — это алгоритм обучения с подкреплением вне политики, в котором для оценки значения используется другая политика, нежели та, что используется для выбора следующего действия.
На практике две отдельные функции значений и обучаются взаимно симметричным образом с использованием отдельных опытов. Двойной шаг обновления Q-обучения выглядит следующим образом:
Теперь оценочная стоимость дисконтированного будущего оценивается с использованием другой политики, которая решает проблему переоценки.
Этот алгоритм был позднее модифицирован в 2015 году и объединен с глубоким обучением [24] , как в алгоритме DQN, в результате чего появился Double DQN, который превосходит исходный алгоритм DQN. [25]
Отложенное Q-обучение — это альтернативная реализация онлайн- алгоритма Q -обучения с, вероятно, приблизительно правильным (PAC) обучением . [26]
Жадный GQ — это вариант Q -обучения, используемый в сочетании с аппроксимацией (линейной) функции. [27] Преимущество жадного GQ заключается в том, что сходимость гарантируется даже при использовании аппроксимации функции для оценки значений действия.
Распределительное Q-обучение — это вариант Q -обучения, который стремится моделировать распределение возвратов, а не ожидаемый возврат каждого действия. Было замечено, что оно облегчает оценку глубокими нейронными сетями и может включать альтернативные методы контроля, такие как контроль, чувствительный к риску. [28]
Q-обучение было предложено в многоагентной среде (см. раздел 4.1.2 в [29] ). Один из подходов состоит в том, чтобы притвориться, что окружающая среда пассивна. [30] Литтман предлагает минимаксный алгоритм Q-обучения. [31]
Стандартный алгоритм Q-обучения (использующий таблицу) применим только к дискретным действиям и пространствам состояний. Дискретизация этих значений приводит к неэффективному обучению, в основном из-за проклятия размерности . Однако существуют адаптации Q-обучения, которые пытаются решить эту проблему, такие как Wire-fitted Neural Network Q-Learning. [32]
{{cite book}}
: CS1 maint: location missing publisher (link)