Main Content

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

Simulink 강화 학습 환경 만들기

작업을 완료하도록 에이전트를 훈련시키는 강화 학습 시나리오에서는 환경이 에이전트가 상호 작용하는 동특성을 모델링합니다. 다음 그림에 표시된 것처럼 환경은 다음을 수행합니다.

  1. 에이전트로부터 행동을 수신합니다.

  2. 행동에 대한 응답으로 관측값을 출력합니다.

  3. 행동이 작업을 완료하는 데 얼마나 영향을 미치는지 측정하는 보상을 생성합니다.

Diagram showing an agent that interacts with its environment. The observation signal goes from the environment to the agent, and the action signal goes from the agent to the environment. The reward signal goes from the environment to the reinforcement learning algorithm inside the agent. The reinforcement learning algorithm uses the available information to update a policy. The agent uses a policy to map an observation to an action. This is similar to a control diagram, shown below, in which a controller senses an error between a desired reference and a plant output and uses the error to acts on a plant input.

환경 모델을 만들 때는 다음을 정의해야 합니다.

  • 에이전트가 환경과 상호 작용하기 위해 사용하는 행동 및 관측값 신호.

  • 에이전트가 성공을 측정하기 위해 사용하는 보상 신호. 자세한 내용은 Define Reward and Observation Signals in Custom Environments 항목을 참조하십시오.

  • 환경의 동적 동작.

행동 및 관측값 신호

환경 객체를 만들 때는 에이전트가 환경과 상호 작용하기 위해 사용하는 행동 및 관측값 신호를 지정해야 합니다. 이산 행동 공간과 연속 행동 공간을 둘 다 만들 수 있습니다. 자세한 내용은 rlNumericSpec 항목과 rlFiniteSetSpec 항목을 각각 참조하십시오.

행동과 관측값으로 선택하는 신호는 응용 사례에 따라 다릅니다. 예를 들어, 제어 시스템 응용 사례의 경우 오차 신호의 적분(때로는 미분)이 유용한 관측값인 경우가 많습니다. 또한, 기준 추종 응용 사례의 경우 시변 기준 신호를 관측값으로 두는 것이 유용합니다.

관측값 신호를 정의할 때는 모든 시스템 상태가 관측값을 통해 관측 가능한지 확인하십시오. 예를 들어, 흔들리는 진자의 이미지 관측값은 위치 정보를 담고 있지만 진자의 속도를 판단하기에는 정보가 부족합니다. 이 경우 진자 속도를 별도의 관측값으로 지정할 수 있습니다.

미리 정의된 Simulink 환경

Reinforcement Learning Toolbox™는 행동, 관측값, 보상, 동특성이 이미 정의되어 있는 미리 정의된 Simulink® 환경을 제공합니다. 이러한 환경을 사용하여 다음을 수행할 수 있습니다.

  • 강화 학습 개념을 학습합니다.

  • Reinforcement Learning Toolbox 특징에 익숙해집니다.

  • 자신의 강화 학습 에이전트를 테스트합니다.

자세한 내용은 항목을 참조하십시오.

사용자 지정 Simulink 환경

자신의 사용자 지정 강화 학습 환경을 지정하려면 RL Agent 블록으로 Simulink 모델을 만드십시오. 이 모델에서 행동, 관측값, 보상 신호를 RL Agent 블록에 연결합니다. 예제는 물탱크 강화 학습 환경 모델 항목을 참조하십시오.

행동 및 관측값 신호의 경우 연속 신호에 대해서는 rlNumericSpec을, 이산 신호에 대해서는 rlFiniteSetSpec을 사용하여 사양 객체를 만들어야 합니다. 버스 신호의 경우 bus2RLSpec을 사용하여 사양을 만듭니다.

보상 신호의 경우 모델에서 스칼라 신호를 생성하고 이 신호를 RL Agent 블록에 연결합니다. 자세한 내용은 Define Reward and Observation Signals in Custom Environments 항목을 참조하십시오.

Simulink 모델을 구성한 후, rlSimulinkEnv 함수를 사용하여 모델에 대한 환경 객체를 만듭니다.

적절한 행동 입력 포트, 관측값 출력 포트, 스칼라 보상 출력 포트를 갖춘 참조 모델이 있는 경우 이 참조 모델과 RL Agent 블록을 포함하는 Simulink 모델을 자동으로 만들 수 있습니다. 자세한 내용은 createIntegratedEnv 항목을 참조하십시오. 이 함수는 모델에 대한 환경 객체, 행동 사양, 관측값 사양을 반환합니다.

사용자 환경에 타사 기능이 포함될 수 있습니다. 자세한 내용은 기존 시뮬레이션 또는 환경과 통합하기 (Simulink) 항목을 참조하십시오.

참고 항목

함수

관련 항목