Алгоритм Q-learning - это метод обучения без модели, онлайн, вне политики. Агент Q-learning - это агент обучения по укреплению на основе стоимости, который обучает критика оценивать отдачу или будущие вознаграждения.
Дополнительные сведения о различных типах агентов обучения усилению см. в разделе Агенты обучения усилению.
Q-обучающие агенты могут обучаться в средах со следующими пространствами наблюдения и действий.
| Пространство наблюдения | Пространство действий |
|---|---|
| Непрерывный или дискретный | Дискретный |
Агенты Q используют следующее представление критиков.
| Критик | Актер |
|---|---|
Критик Q (S, A) функции Q-value, созданный с помощью | Агенты Q не используют актера. |
Во время обучения агент исследует пространство действия, используя эпсилон-жадные исследования. В течение каждого интервала управления агент выбирает случайное действие с вероятностью ϵ, в противном случае он выбирает действие жадно относительно функции значения с вероятностью 1-ϵ. Это жадное действие - действие, для которого функция значения является наибольшей.
Для оценки функции значения агент Q-обучения поддерживает критика Q (S, A), который является аппроксиматором таблицы или функции. Критик принимает наблюдение S и действие A в качестве входных данных и возвращает соответствующее ожидание долгосрочной награды.
Дополнительные сведения о создании критиков для аппроксимации функций значений см. в разделе Создание представлений политик и функций значений.
Когда обучение завершено, аппроксиматор обученной функции значения сохраняется в критике Q (S, A).
Для создания агента Q-learning:
Создание критика с помощью rlQValueRepresentation объект.
Укажите параметры агента с помощью rlQAgentOptions объект.
Создание агента с помощью rlQAgent объект.
Q-обучающие агенты используют следующий алгоритм обучения. Чтобы настроить алгоритм обучения, укажите параметры с помощью rlQAgentOptions объект.
Инициализируйте критик Q (S, A) случайными значениями.
Для каждого учебного эпизода:
Установите начальное наблюдение S.
Повторяйте следующее для каждого шага эпизода, пока S не будет терминальным состоянием.
Для текущего наблюдения S выберите случайное действие A с вероятностью ϵ. В противном случае выберите действие, для которого функция критического значения является наибольшей.
, A)
Чтобы указать ϵ и скорость его распада, используйте EpsilonGreedyExploration вариант.
Выполнить действие A. Наблюдать награду R и следующее наблюдение S '.
Если S 'является терминальным состоянием, задайте для целевой функции значения y значение R. В противном случае установите его в значение
S ', A)
Чтобы установить коэффициент дисконтирования γ, используйте DiscountFactor вариант.
Вычислите обновление параметров критика.
(S, A)
Обновите критика, используя скорость обучения α.
) +α∗ΔQ
Укажите скорость обучения при создании критического представления, установив LearnRate опции в rlRepresentationOptions объект.
Установите наблюдение S в S '.