Алгоритм Q-обучения является онлайновым методом обучения с подкреплением без моделей и без политики. Агент Q-обучения это агент обучения с подкреплением на базе ценностей, который обучает критика оценивать текущее или будущее вознаграждения.
Для получения дополнительной информации о различных типах агентов обучения с подкреплением смотрите Агентов Обучения с подкреплением.
Агенты 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'.