主要内容

RL试剂

强化学习代理

  • 库:
  • 强化学习工具箱

  • RL代理块

描述

使用RL试剂在Simulink中模拟和训练强化学习代理的块万博1manbetx®。将块与存储在MATLAB中的代理关联®工作区或数据字典作为代理对象,例如rlACAgentrlDDPGAgent对象。你连接这个块,让它接受一个观察和一个计算奖励。例如,考虑下面的框图RLSimplePendulmodel模型。

观察的输入端口RL试剂块接收由钟摆的瞬时角度和角速度得到的信号。的奖励Port将从相同的两个值和应用的操作中获得奖励。您可以配置适合您的系统的观察结果和奖励计算。

该块使用代理生成基于您提供的观察和奖励的行动。连接行动将输出端口连接到系统的相应输入RLSimplePendulmodel,行动端口是应用于摆锤系统的扭矩。有关此模型的详细信息,请参见训练DQN Agent上摆和平衡摆

要在Simulink中训练强化学习代理,您需要从Simulink模型生成一个环境。万博1manbetx然后创建和配置代理,以便针对该环境进行培训。有关更多信息,请参见创建Simul万博1manbetxink强化学习环境.当你打电话火车使用环境,火车模拟模型并更新与块关联的代理。

港口

输入

全部展开

该端口接收来自环境的观测信号。观测信号表示测量值或其他瞬时系统数据。如果你有多个观测值,你可以使用多路复用器块将它们组合成矢量信号。要使用非虚拟总线信号,请使用bus2RLSpec

这个端口接收你根据观察数据计算的奖励信号。在agent训练中使用奖励信号,使长期奖励的期望最大化。

使用此信号指定终止训练集的条件。您必须配置适合您的系统的逻辑,以确定事件终止的条件。一个应用是终止一个明显进展顺利或进展不佳的插曲。例如,如果代理达到其目标或无法恢复地远离其目标,则可以终止一集。

使用这个信号为块提供一个外部动作。这个信号可以是人类专家的控制动作,可以用于安全或模仿学习应用。时的值使用外部行动信号是1,通过对外行动向环境发出信号行动块的输出。该块还使用外部动作来更新基于结果观察和奖励的代理策略。

依赖关系

要启用该端口,请选择为外部动作信号添加输入端口参数。

使用此信号传递信号对外行动向环境发出信号。

时的值使用外部行动信号是1这个街区经过一个街区对外行动向环境发出信号。该块还使用外部操作更新代理策略。

时的值使用外部行动信号是0这个街区没有穿过马路对外行动向环境发出信号,不使用外部行动更新政策。相反,来自块的操作使用来自代理策略的操作。

依赖关系

要启用该端口,请选择为外部动作信号添加输入端口参数。

输出

全部展开

由agent根据观测和奖励输入计算的动作。将此端口连接到系统的输入。要使用非虚拟总线信号,请使用bus2RLSpec

请注意

当代理,如rlACAgentrlPGAgent,或rlPPOAgent使用随机表示如果参与者具有连续的操作空间,则代理不会强制执行操作规范设置的约束。在这些情况下,必须在环境中强制执行操作空间约束。

模拟过程中奖励信号的累积和。观察或记录这一信号,以追踪累积奖励如何随时间发展。

依赖关系

要启用该端口,请选择提供累积奖赏信号参数。

参数

全部展开

输入存储在MATLAB工作区或数据字典中的代理对象的名称,例如rlACAgentrlDDPGAgent对象。有关代理对象的信息,请参见强化学习代理

编程使用

块参数:代理人
类型:字符串,特征向量
默认值:“agentObj”

启用累积奖励块输出通过选择这个参数。

编程使用

块参数:ProvideCumRwd
类型:字符串,特征向量
价值观:“关”“上”
默认值:“关”

启用对外行动使用外部行动通过选择此参数阻止输入端口。

编程使用

块参数:ExternalActionAsInput
类型:字符串,特征向量
价值观:“关”“上”
默认值:“关”
介绍了R2019a