Main Content

Policy

강화 학습 정책

R2022b 이후

  • Policy block

라이브러리:
Reinforcement Learning Toolbox

설명

Policy 블록을 사용하여 Simulink®에서 강화 학습 정책을 시뮬레이션하고 배포 용도로 (Simulink Coder™를 사용하여) 코드를 생성합니다. 이 블록은 관측값을 입력값으로 받고 행동을 출력합니다. 정책의 전체 특성을 정의하는 데 필요한 정보가 포함된 MAT 파일을 이 블록과 연결하십시오. 이 MAT 파일은 generatePolicyFunction 또는 generatePolicyBlock으로 생성 가능합니다.

포트

입력

모두 확장

이 포트는 환경으로부터 관측값 신호를 받습니다. 관측값 신호는 측정값이나 시스템의 순시 데이터를 나타냅니다. 관측값이 여러 개인 경우 Mux 블록을 사용하여 이 관측값들을 벡터 신호로 결합할 수 있습니다. 비가상 버스 신호를 사용하려면 bus2RLSpec 함수를 사용하십시오.

출력

모두 확장

관측값 입력값에 기반하여 정책에 의해 계산되는 행동입니다. 이 포트를 사용자 시스템의 입력에 연결하십시오. 비가상 버스 신호를 사용하려면 bus2RLSpec 함수를 사용하십시오.

참고

연속 행동-공간 rlStochasticActorPolicy 객체 또는 연속 행동-공간 rlACAgent, rlPGAgent 또는 rlPPOAgent 객체에서 생성된 Policy 블록은 행동 사양에 의해 설정된 제약 조건을 강제로 적용하지 않습니다. 이러한 경우에는 사용자가 행동 공간 제약 조건을 환경 내에 강제로 적용해야 합니다.

파라미터

모두 확장

정책의 전체 특성을 정의하는 데 필요한 정보가 포함된 MAT 파일의 이름을 입력합니다. 이 파일은 generatePolicyFunction 또는 generatePolicyBlock에 의해 생성됩니다. 이 블록을 generatePolicyBlock을 사용하여 생성하고 dataFileName 인수를 디폴트가 아닌 값으로 지정하면, 생성된 블록에서 이 파라미터가 지정된 파일 이름으로 설정되므로 블록과 생성된 데이터 파일이 서로 연결됩니다.

Triggered Subsystem (Simulink) 또는 Function-Call Subsystem (Simulink) 같은 조건부 실행 서브시스템 내에서 Policy 블록을 사용하려면 SampleTime 속성이 -1로 설정된 agent 객체 또는 policy 객체에서 해당 데이터 파일을 생성해야 합니다. 그러면 블록이 부모 서브시스템의 샘플 시간을 상속할 수 있습니다.

프로그래밍 방식 사용

블록 파라미터: MATFile
유형: string형, 문자형 벡터
디폴트 값: "blockAgentData.mat"

  • Embedded Coder®를 사용하여 병렬 코드를 생성할 때 병렬 for 루프 생성 최적화 파라미터를 활성화하면 처리 중인 데이터 크기가 큰 경우에는 성능이 향상됩니다. 그러나 신경망과 데이터의 크기가 작은 경우에는 병렬화를 위한 스레드를 초기화하는 오버헤드로 인해 성능이 상당히 저하됩니다. 이 경우 병렬 for 루프 생성을 비활성화하십시오. 자세한 내용은 Generate parallel for-loops (Embedded Coder) 항목과 coder.MexCodeConfig (MATLAB Coder)를 참조하십시오.

확장 기능

C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2022b에 개발됨