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