exponenta event banner

rlQAgent

Агент по обучению Q-learning

Описание

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

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

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

Создание

Описание

пример

agent = rlQAgent(critic,agentOptions) создает Q-обучающий агент с указанной сетью критиков и устанавливает AgentOptions собственность.

Входные аргументы

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

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

Свойства

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

Параметры агента, указанные как rlQAgentOptions объект.

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

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

Примеры

свернуть все

Создайте интерфейс среды.

env = rlPredefinedEnv("BasicGridWorld");

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

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

Создание агента Q-learning с использованием указанной функции критического значения и эпсилонного значения 0.05.

opt = rlQAgentOptions;
opt.EpsilonGreedyExploration.Epsilon = 0.05;

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

    AgentOptions: [1x1 rl.option.rlQAgentOptions]

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

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

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

Представлен в R2019a