getObservationInfo
강화 학습 환경, 에이전트 또는 경험 버퍼에서 관측값 데이터 사양 가져오기
구문
설명
예제
이 예제의 강화 학습 환경은 자동차 2대(선행 차량과 후행 차량 각각 1대)로 구성된 종방향 동특성 모델입니다. 이 차량 모델은 Adaptive Cruise Control System Using Model Predictive Control (Model Predictive Control Toolbox) 예제에서도 사용됩니다.
모델을 엽니다.
mdl = "rlACCMdl";
open_system(mdl);모델에서 에이전트 블록의 경로를 지정합니다.
agentblk = mdl + "/RL Agent";관측값 및 행동 사양을 만듭니다.
% Observation specifications 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 specifications actInfo = rlNumericSpec([1 1],LowerLimit=-3,UpperLimit=2); actInfo.Name = "acceleration";
환경 객체를 만듭니다.
env = rlSimulinkEnv(mdl,agentblk,obsInfo,actInfo)
env =
SimulinkEnvWithAgent with properties:
Model : rlACCMdl
AgentBlock : rlACCMdl/RL Agent
ResetFcn : []
UseFastRestart : on
강화 학습 환경 env는 SimulinkEnvWithAgent 객체입니다.
env에서 행동 사양과 관측값 사양을 추출합니다.
actInfoExt = getActionInfo(env)
actInfoExt =
rlNumericSpec with properties:
LowerLimit: -3
UpperLimit: 2
Name: "acceleration"
Description: [0×0 string]
Dimension: [1 1]
DataType: "double"
obsInfoExt = getObservationInfo(env)
obsInfoExt =
rlNumericSpec with properties:
LowerLimit: [3×1 double]
UpperLimit: [3×1 double]
Name: "observations"
Description: "information on velocity error and ego velocity"
Dimension: [3 1]
DataType: "double"
행동 정보는 가속도 값을 포함하며, 관측값 정보는 에고 차량의 속도와 속도 오차 값을 포함합니다.
입력 인수
환경으로, 다음과 같이 지정됩니다.
MATLAB® 환경은 다음 객체 중 하나로 표현됩니다.
rlPredefinedEnv를 사용하여 생성된 미리 정의된 환경.rlMDPEnv— 마르코프 결정 과정 환경.rlFunctionEnv— 사용자 지정 함수를 사용하여 정의된 환경.rlMultiAgentFunctionEnv— 모든 에이전트가 동일한 단계에서 실행되는 다중 에이전트 환경.rlTurnBasedFunctionEnv— 에이전트들이 차례대로 실행되는 순서 기반 다중 에이전트 환경.rlCreateEnvTemplate을 사용하여 템플릿에서 생성된 사용자 지정 환경.rlNeuralNetworkEnvironment— 신경망 전환 모델을 활용한 환경.
MATLAB 환경 중에서는
rlMultiAgentFunctionEnv와rlTurnBasedFunctionEnv만이 동시에 여러 에이전트를 훈련할 수 있습니다.Simulink® 객체로 표현되는
SimulinkEnvWithAgent환경으로, 다음을 사용하여 생성됩니다:rlSimulinkEnv— 이 환경은 이미 하나 이상의 에이전트 블록을 포함하고 있는 모델을 기반으로 생성되며, 여러 에이전트를 동시에 훈련할 수 있습니다.createIntegratedEnv— 이 환경은 에이전트 블록이 포함되지 않은 모델로 생성되었으며, 여러 에이전트를 동시에 훈련하는 기능을 지원하지 않습니다.
Simulink-기반 환경 객체는 인터페이스 역할을 하여, 강화 학습 시뮬레이션이나 훈련 함수가 (컴파일된) Simulink-모델을 호출해 에이전트를 위한 경험을 생성하도록 합니다. 이러한 환경에서는
reset및step함수를 사용할 수 없습니다.
참고
env는 핸들 객체이므로, train과 같이 이를 출력 인수로 반환하지 않는 함수라도 여전히 해당 객체의 내부 상태를 업데이트할 수 있습니다. 핸들 객체에 대한 자세한 내용은 핸들 객체 동작 항목을 참조하십시오.
강화 학습 환경에 대한 자세한 내용은 Reinforcement Learning Environments 및 사용자 지정 Simulink 환경 만들기 항목을 참조하십시오.
예: env = rlPredefinedEnv("DoubleIntegrator-Continuous")는 연속 동작 이중 적분기 시스템을 구현하는 미리 정의된 환경을 생성하고, 이를 변수 env에 할당합니다.
에이전트로, 다음 강화 학습 에이전트 객체 중 하나로 지정됩니다.
사용자 지정 에이전트 — 사용자 지정 에이전트에 대한 자세한 내용은 Create Custom Reinforcement Learning Agents 항목을 참조하십시오.
참고
agent는 핸들 객체이므로, train와 같이 이를 출력 인수로 반환하지 않는 함수라도 이 객체를 업데이트할 수 있습니다. 핸들 객체에 대한 자세한 내용은 핸들 객체 동작 항목을 참조하십시오.
강화 학습 에이전트에 대한 자세한 내용은 강화 학습 에이전트 항목을 참조하십시오.
예: agent = rlPPOAgent(rlNumericSpec([2 1]),rlNumericSpec([1 1]))는 관측값 채널이 연속적인 요소를 2개 가진 벡터를 전달하고, 행동 채널이 연속적인 스칼라를 전달하는 환경을 위한 디폴트 rlPPOAgent 객체 agent를 생성합니다.
경험 버퍼로, 다음과 같은 replay memory 객체 중 하나로 지정됩니다.
예: rlReplayMemory(rlNumericSpec([1 1]),rlFiniteSetSpec([0 1]),1e5)
출력 인수
강화 학습 환경에서 추출된 관측값 데이터 사양으로, 다음 중 하나로 구성된 배열로 반환됩니다.
rlNumericSpec객체와rlFiniteSetSpec객체의 혼합
배열의 각 요소는 환경 관측값 채널의 속성(예: 차원, 데이터형, 이름)을 정의합니다.
getObservationInfo를 사용하여 기존 환경, 함수 근사기 또는 에이전트에서 observationInfo를 추출할 수 있습니다. rlFiniteSetSpec 또는 rlNumericSpec을 사용하여 사양을 수동으로 생성할 수도 있습니다.
버전 내역
R2019a에 개발됨
참고 항목
함수
객체
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)