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