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