Алгоритм SARSA является онлайновым, методом изучения укрепления на политике без моделей. Агент SARSA является основанным на значении агентом изучения укрепления, который обучает критика оценивать возврат или будущие вознаграждения.
Для получения дополнительной информации о различных типах агентов изучения укрепления смотрите, что Укрепление Изучает Агенты.
Агенты SARSA могут быть обучены в средах со следующими пробелами наблюдения и действия.
Пространство наблюдений | Пробел действия |
---|---|
Непрерывный или дискретный | Дискретный |
Во время обучения агент исследует пробел действия с помощью жадного эпсилоном исследования. Во время каждого интервала управления агент выбирает случайное действие с вероятностью ϵ, в противном случае это выбирает действие жадно относительно функции значения с вероятностью 1-ϵ. Это жадное действие является действием, для которого функция значения является самой большой.
Чтобы оценить функцию значения, агент SARSA поддерживает критика Q (S, A), который является таблицей или функцией approximator. Критик берет наблюдение S и действие A как вводы и выводы соответствующее ожидание долгосрочного вознаграждения.
Для получения дополнительной информации о создании критиков для приближения функций значения смотрите, Создают политику и Представления Функции Значения.
Когда обучение завершено, обученная функция значения approximator хранится в критике Q (S, A).
Чтобы создать агент SARSA сначала создают объект представления критика. Затем с помощью этого представления создайте агент с помощью функции 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'.
rlRepresentation
| rlSARSAAgentOptions