主要内容

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

RL代理

강화학습에이전트

  • 라이브러리:
  • 强化学习工具箱

  • RL代理块

설명

RL代理블록을사용하여Simulink®에서강화학습에이전트를시뮬레이션하고훈련시킵니다。이블록을matlab®작업공간또는데이터사전에저장된에이전트(예:rlACAgent또는rlDDPGAgent객체)와연결합니다。이블록이관측값과계산된보상을받을수있도록연결합니다。예를들어,rlSimplePendulumModel모델의블록다이어그램이다음과같다고가정하겠습니다。

RL代理블록의观察입력포트는진자의순시각과(瞬时角)각속도에서도출되는신호를받습니다。奖励포트는이두개의동일한값과적용된행동으로부터계산된보상을받습니다。이시스템에적합한관측값과보상계산은사용자가구성합니다。

이블록은에이전트를사용하여사용자가제공하는관측값과보상에기반한행동을생성합니다。行动출력포트를사용자의시스템에들어가는입력으로적절하게연결합니다。예를들어,rlSimplePendulumModel에서行动출력포트는진자시스템에적용되는토크입니다。이모델에대한자세한내용은训练DQN代理人摆动和平衡摆항목을참조하십시오。

仿真软件에서강화학습에이전트를훈련시키려면仿真软件모델에서환경을생성하십시오。그다음,에이전트를만들고구성하여이환경에대해훈련시킵니다。자세한내용은Simulink강화학습환경만들기항목을참조하십시오。해당환경을사용하여火车을호출하면火车은모델을시뮬레이션하고이블록과연결된에이전트를업데이트합니다。

포트

입력값

모두 확장

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

이포트는관측값데이터에기반하여계산하는보상신호를받습니다。보상신호는에이전트를훈련하는동장기보상의기대값을최대화하는데사용됩니다。

이신호를사용하여훈련에피소드를종료하는조건을지정합니다。에피소드를종료하는조건을결정하려면사용자의시스템에적합하게논리를구성해야합니다。한응용사례는훈련이잘되는에피소드를종료하거나잘안되는에피소드를종료하는것입니다。예를들어,에이전트가목표에도달한에피소드를종료하거나목표에서지나치게멀어진에피소드를종료할수있습니다。

이신호를사용하여블록에외부행동을전달합니다。이신호는인간전문가로부터전달되는제어행동이될수있으며,안전학습이나모방학습응용분야에서사용될수있습니다。利用外部行动신호의값이1이면,블록은对外行动신호를行动블록출력을통해환경으로전달합니다。블록은또한외부행동을사용하여결과관측값과보상을기반으로에이전트정책을업데이트합니다。

종속 관계

이포트를활성화하려면외부행동입력파라미터를선택하십시오。

어떤응용사례에서는환경에적용되는행동이RL代理블록에서출력하는행동과다를수있습니다。예를들어,仿真软件모델이행동출력신호에饱和블록을포함할수있습니다。

이경우학습결과를개선하기위해이입력포트를활성화하고환경에적용된실제행동신호를연결할수있습니다。

참고

最后的动作포트는오직오프-폴리시(off-policy)에이전트와사용해야합니다。그렇지않으면훈련에서예기치않은결과가도출될수있습니다。

종속 관계

이포트를활성화하려면마지막행동입력파라미터를선택하십시오。

이신호를사용하여对外行动신호를환경으로전달합니다。

利用外部行动신호의값이1이면,블록은对外行动신호를환경으로전달합니다。블록은또한외부행동을사용하여에이전트정책을업데이트합니다。

利用外部行动신호의값이0이면,블록은对外行动신호를환경으로전달하지않으며외부행동을사용하여정책을업데이트하지않습니다。그대신,블록으로부터오는행동은에이전트정책으로부터오는행동을사용합니다。

종속 관계

이포트를활성화하려면외부행동입력파라미터를선택하십시오。

출력값

모두 확장

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

참고

rlACAgent,rlPGAgent또는rlPPOAgent와같은에이전트가연속행동공간을갖는rlStochasticActorRepresentation액터를사용할경우,에이전트는행동사양에의해설정된제약조건을강제로적용하지않습니다。이러한경우에는사용자가행동공간제약조건을환경내에강제로적용해야합니다。

시뮬레이션하는동누적된보상신호의합입니다。이신호를관측하거나기록하여시간에따라누적보상이어떻게변화하는지추적합니다。

종속 관계

이포트를활성화하려면누적보상출력파라미터를선택하십시오。

파라미터

모두 확장

MATLAB작업공간이나데이터사전에저장된代理객체의이름을입력합니다(예:rlACAgent또는rlDDPGAgent).代理객체에대한내용은强化学习代理항목을참조하십시오。

RL代理블록이触发子系统(模型)또는函数调用子系统(模型)같은조건부실행서브시스템내에있는경우,블록이부모서브시스템의샘플시간을상속할수있도록代理객체의샘플시간을-1로지정해야합니다。

프로그래밍방식사용

블록파라미터:代理
유형:字符串형,문자형벡터
디폴트값:“agentObj”

이파라미터를선택하여对外行动利用外部行动블록입력포트를활성화합니다。

프로그래밍방식사용

블록파라미터:ExternalActionAsInput
유형:字符串형,문자형벡터
값:“关闭”|“上”
디폴트값:“关闭”

이파라미터를선택하여最后的动作블록입력포트를활성화합니다。

프로그래밍방식사용

블록파라미터:ProvideLastAction
유형:字符串형,문자형벡터
값:“关闭”|“上”
디폴트값:“关闭”

累积奖励블록출력을활성화하려면이파라미터를선택합니다。

프로그래밍방식사용

블록파라미터:ProvideCumRwd
유형:字符串형,문자형벡터
값:“关闭”|“上”
디폴트값:“关闭”

버전 내역

R2019a에개발됨

Baidu
map