exponenta event banner

getObservationInfo

Получение спецификаций данных наблюдения из среды обучения армированию или агента

Описание

пример

obsInfo = getObservationInfo(env) извлекает информацию наблюдения из среды обучения армированию env.

obsInfo = getObservationInfo(agent) извлекает информацию наблюдения из усиливающего обучающего агента agent.

Примеры

свернуть все

Извлеките сведения о действиях и наблюдениях, которые можно использовать для создания других сред или агентов.

Среда обучения армированию для этого примера представляет собой простую продольную динамику для эго-автомобиля и ведущего автомобиля. Целью обучения является обеспечение движения эго-автомобиля с заданной скоростью при сохранении безопасного расстояния от ведущего автомобиля путем управления продольным ускорением (и торможением). В этом примере используется та же модель транспортного средства, что и в примере адаптивной системы круиз-контроля с использованием модельного прогнозирующего управления (Model Predictive Control Toolbox).

Откройте модель и создайте среду обучения армированию.

mdl = 'rlACCMdl';
open_system(mdl);
agentblk = [mdl '/RL Agent'];
% create the observation info
obsInfo = rlNumericSpec([3 1],'LowerLimit',-inf*ones(3,1),'UpperLimit',inf*ones(3,1));
obsInfo.Name = 'observations';
obsInfo.Description = 'information on velocity error and ego velocity';
% action Info
actInfo = rlNumericSpec([1 1],'LowerLimit',-3,'UpperLimit',2);
actInfo.Name = 'acceleration';
% define environment
env = rlSimulinkEnv(mdl,agentblk,obsInfo,actInfo)
env = 
SimulinkEnvWithAgent with properties:

           Model : rlACCMdl
      AgentBlock : rlACCMdl/RL Agent
        ResetFcn : []
  UseFastRestart : on

Среда обучения по усилению env является SimulinkWithAgent с указанными выше свойствами.

Извлечение информации о действиях и наблюдениях из среды обучения армированию env.

actInfoExt = getActionInfo(env)
actInfoExt = 
  rlNumericSpec with properties:

     LowerLimit: -3
     UpperLimit: 2
           Name: "acceleration"
    Description: [0x0 string]
      Dimension: [1 1]
       DataType: "double"

obsInfoExt = getObservationInfo(env)
obsInfoExt = 
  rlNumericSpec with properties:

     LowerLimit: [3x1 double]
     UpperLimit: [3x1 double]
           Name: "observations"
    Description: "information on velocity error and ego velocity"
      Dimension: [3 1]
       DataType: "double"

Информация о действии содержит значения ускорения, в то время как информация о наблюдении содержит значения ошибок скорости и скорости эго-транспортного средства.

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

свернуть все

Среда обучения армированию, из которой должна быть извлечена информация наблюдения, указанная как SimulinkEnvWithAgent объект.

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

Усиливающий обучающий агент, из которого должна быть извлечена информация наблюдения, указанный как один из следующих объектов:

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

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

свернуть все

Спецификации данных наблюдений, извлеченные из среды обучения армированию, возвращены в виде массива одного из следующих элементов:

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