Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

rlNumericSpec

강화 학습 환경에 대한 연속 행동 또는 관측값 데이터 사양 만들기

R2019a 이후

설명

rlNumericSpec 객체는 강화 학습 환경에 대한 연속 행동 또는 관측값 데이터 사양을 지정합니다.

생성

설명

예제

spec = rlNumericSpec(dimension)은 연속 행동 또는 관측값에 대한 데이터 사양을 만들고 Dimension 속성을 설정합니다.

spec = rlNumericSpec(dimension,Name,Value)는 이름-값 쌍의 인수를 사용하여 속성을 설정합니다.

속성

모두 확장

데이터 공간의 하한으로, 스칼라 또는 데이터 공간과 동일한 크기의 행렬로 지정됩니다. LowerLimit가 스칼라로 지정된 경우 rlNumericSpec은 데이터 공간의 모든 요소에 이를 적용합니다.

데이터 공간의 상한으로, 스칼라 또는 데이터 공간과 동일한 크기의 행렬로 지정됩니다. UpperLimit가 스칼라로 지정된 경우 rlNumericSpec은 데이터 공간의 모든 요소에 이를 적용합니다.

rlNumericSpec 객체의 이름으로, string형으로 지정됩니다.

rlNumericSpec 객체에 대한 설명으로, string형으로 지정됩니다.

읽기 전용 속성입니다.

데이터 공간의 차원으로, 숫자형 벡터로 지정됩니다.

읽기 전용 속성입니다.

데이터형에 대한 정보로, "double" 또는 "single"과 같은 string형으로 지정됩니다.

객체 함수

rlSimulinkEnvSimulink에서 구현된 동적 모델을 사용하여 강화 학습 환경 만들기
rlFunctionEnv함수를 사용하여 사용자 지정된 강화 학습 환경 동특성 지정
rlValueFunctionValue function approximator object for reinforcement learning agents
rlQValueFunction Q-Value function approximator object for reinforcement learning agents
rlVectorQValueFunction Vector Q-value function approximator for reinforcement learning agents
rlContinuousDeterministicActor Deterministic actor with a continuous action space for reinforcement learning agents
rlDiscreteCategoricalActorStochastic categorical actor with a discrete action space for reinforcement learning agents
rlContinuousGaussianActorStochastic Gaussian actor with a continuous action space for reinforcement learning agents

예제

모두 축소

이 예제에서는 Simulink 모델 rlSimplePendulumModel이 있다고 가정해 보겠습니다. 이 모델은 처음에 아래쪽을 향해 매달려 있는 마찰 없는 단순 진자입니다.

모델을 엽니다.

mdl = 'rlSimplePendulumModel';
open_system(mdl)

관측값과 행동 정보에 대해 각각 rlNumericSpecrlFiniteSetSpec 객체를 만듭니다.

관측값은 각도의 사인, 코사인 및 시간 도함수에 해당하는 3개의 신호를 포함하는 벡터입니다.

obsInfo = rlNumericSpec([3 1]) 
obsInfo = 
  rlNumericSpec with properties:

     LowerLimit: -Inf
     UpperLimit: Inf
           Name: [0×0 string]
    Description: [0×0 string]
      Dimension: [3 1]
       DataType: "double"

행동은 토크를 표현하는 스칼라이며 -2Nm, 0Nm, 2Nm의 3개 값 중 하나일 수 있습니다.

actInfo = rlFiniteSetSpec([-2 0 2])
actInfo = 
  rlFiniteSetSpec with properties:

       Elements: [3×1 double]
           Name: [0×0 string]
    Description: [0×0 string]
      Dimension: [1 1]
       DataType: "double"

점 표기법을 사용하여 rlNumericSpecrlFiniteSetSpec 객체에 대한 속성값을 할당할 수 있습니다.

obsInfo.Name = 'observations';
actInfo.Name = 'torque';

에이전트 블록 경로 정보를 할당하고, 이전 단계에서 추출된 정보를 사용하여 Simulink 모델에 대한 강화 학습 환경을 만듭니다.

agentBlk = [mdl '/RL Agent'];
env = rlSimulinkEnv(mdl,agentBlk,obsInfo,actInfo)
env = 
SimulinkEnvWithAgent with properties:

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

점 표기법을 사용하여 재설정 함수를 포함할 수도 있습니다. 이 예제에서는 모델 작업 공간에서 theta0을 임의로 초기화합니다.

env.ResetFcn = @(in) setVariable(in,'theta0',randn,'Workspace',mdl)
env = 
SimulinkEnvWithAgent with properties:

           Model : rlSimplePendulumModel
      AgentBlock : rlSimplePendulumModel/RL Agent
        ResetFcn : @(in)setVariable(in,'theta0',randn,'Workspace',mdl)
  UseFastRestart : on

버전 내역

R2019a에 개발됨