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