exponenta event banner

rlSARSAAgent

Агент обучения по усилению SARSA

Описание

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

Дополнительные сведения об агентах SARSA см. в разделе Агенты SARSA.

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

Создание

Описание

пример

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