主要内容

RL代理

强化学习代理

  • 图书馆:
  • 强化学习工具箱

  • RL代理块

描述

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

这个观察输入端口RL代理块接收从摆锤的瞬时角度和角速度导出的信号。这个奖励端口接收根据相同的两个值和应用的操作计算的奖励。您可以配置适合您的系统的观察和奖励计算。

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

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

港口

输入

全部展开

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

此端口接收奖励信号,您根据观察数据计算奖励信号。奖励信号在代理培训期间使用,以最大化对长期奖励的期望。

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

使用此信号向块提供外部动作。该信号可以是人类专家的控制动作,可用于安全或模拟学习应用。当使用外部动作信号是1.,通过外部作用通过网络向环境发送信号行动块输出。该块还使用外部操作根据结果观察和奖励更新代理策略。

依赖关系

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

使用此信号传递信号外部作用向环境发出信号。

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

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

依赖关系

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

输出

全部展开

由代理基于观察和奖励输入计算的操作。将此端口连接到系统的输入端。要使用非虚拟总线信号,请使用bus2RLSpec

笔记

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

模拟过程中奖励信号的累积和。观察或记录此信号,以跟踪累积奖励随时间的演变。

依赖关系

要启用此端口,请选择提供累积奖励信号参数

参数

全部展开

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

程序化使用

块参数:代理
类型:字符串,字符向量
违约:“agentObj”

启用累积报酬通过选择此参数阻止输出。

程序化使用

块参数:ProvideCumRwd
类型:字符串,字符向量
价值观:“关闭”,“关于”
违约:“关闭”

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

程序化使用

块参数:外部操作输入
类型:字符串,字符向量
价值观:“关闭”,“关于”
违约:“关闭”
在R2019a中引入