rlSARSAAgent

Агент обучения с подкреплением SARSA

Описание

Алгоритм SARSA является онлайновым методом обучения с подкреплением без моделей и без политики. Агент SARSA является агентом обучения с подкреплением на базе ценностей, который обучает критика оценивать текущее или будущее вознаграждения.

Для получения дополнительной информации об агентах SARSA см. Раздел «Агенты SARSA».

Для получения дополнительной информации о различных типах агентов обучения с подкреплением смотрите Reinforcement Learning Agents.

Создание

Описание

пример

agent = rlSARSAAgent(critic,agentOptions) создает агента SARSA с заданной сетью критика и устанавливает AgentOptions свойство.

Входные параметры

расширить все

Представление сети критика, заданное как rlQValueRepresentation объект. Для получения дополнительной информации о создании представлений критика, см., Создают Политику и Представления Функции Ценности.

Свойства

расширить все

Опции агента, заданные как rlSARSAAgentOptions объект.

Функции объекта

trainОбучите агентов обучения с подкреплением в заданном окружении
simСимулируйте обученных агентов обучения с подкреплением в заданном окружении
getActionПолучите действие от агента или представления актера заданных наблюдений окружения
getActorПолучите представление актера от агента обучения с подкреплением
setActorУстановите представление актера агента обучения с подкреплением
getCriticПолучите представление критика от агента обучения с подкреплением
setCriticУстановите представление критика агента обучения с подкреплением
generatePolicyFunctionСоздайте функцию, которая оценивает обученную политику агента обучения с подкреплением

Примеры

свернуть все

Создайте или загрузите интерфейс окружения. В данном примере загружается интерфейс окружения Basic Grid World.

env = rlPredefinedEnv("BasicGridWorld");

Создайте представление функции ценности критика с помощью Q-таблицы, полученной из окружения наблюдения и спецификаций действия.

qTable = rlTable(getObservationInfo(env),getActionInfo(env));
critic = rlQValueRepresentation(qTable,getObservationInfo(env),getActionInfo(env));

Создайте агента SARSA, используя заданную функцию ценности критика и значение эпсилона 0.05.

opt = rlSARSAAgentOptions;
opt.EpsilonGreedyExploration.Epsilon = 0.05;

agent = rlSARSAAgent(critic,opt)
agent = 
  rlSARSAAgent with properties:

    AgentOptions: [1x1 rl.option.rlSARSAAgentOptions]

Чтобы проверить своего агента, используйте getAction, чтобы вернуть действие от случайного наблюдения.

getAction(agent,{randi(25)})
ans = 1

Теперь можно тестировать и обучать агента против окружения.

Введенный в R2019a