rlSARSAAgent

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

Описание

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

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

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

Создание

Описание

пример

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

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

развернуть все

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

Свойства

развернуть все

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

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

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

Примеры

свернуть все

Создайте или загрузите интерфейс среды. Поскольку этот пример загружает Основной интерфейс среды Мира Сетки.

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