主要内容

RL代理

强化学习代理

  • 库:
  • 强化学习工具箱

  • RL代理块

描述

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

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

该块使用代理生成基于您提供的观察和奖励的行动。连接行动输出端口到适当的输入为您的系统。例如,在rlSimplePendulumModel,行动端口是施加在摆系统上的力矩。有关此模型的更多信息,请参见训练DQN Agent上摆和平衡摆

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

港口

输入

全部展开

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

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

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

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

依赖关系

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

用这个信号传递对外行动向环境发出信号。

时的值使用外部行动信号是1障碍物通过对外行动向环境发出信号。该块还使用外部操作来更新代理策略。

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

依赖关系

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

输出

全部展开

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

请注意

当代理人如rlACAgentrlPGAgent,或rlPPOAgent使用一个rlStochasticActorRepresentation具有连续操作空间的参与者,由操作规范设置的约束不会由代理强制执行。在这些情况下,您必须在环境中强制操作空间约束。

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

依赖关系

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

参数

全部展开

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

编程使用

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

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

编程使用

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

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

编程使用

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