主要内容

rlfinitesetspec

为增强学习环境创建离散的动作或观察数据规范

描述

一个rlfinitesetspec对象为增强学习环境指定离散操作或观察数据规范。

创建

描述

例子

规格= rlfinitesetsetpec(元素使用一组离散的操作或观察创建数据规范,设置元素财产。

特性

展开全部

针对环境的一组有效动作或观察值,指定为以下一项:

  • 向量 - 为单个动作或单个观测值指定有效的数字值。

  • 单元阵列 - 当您具有多个动作或观察时,指定有效的数字值组合。单元阵列的每个条目都必须具有相同的维度。

的名字rlfinitesetspec对象,指定为字符串。使用此属性为您的有限集设置有意义的名称。

描述rlfinitesetspec对象,指定为字符串。使用此属性来指定有限设置值的有意义的描述。

此属性仅阅读。

每个元素的大小,指定为向量。

如果指定元素作为向量,然后方面[1 1]。否则,如果指定单元格数组,则方面指示条目的大小元素

此属性仅阅读。

有关数据类型的信息,指定为字符串。

对象功能

rl金宝appsimulinkenv 使用实施的动态模型创建强化学习环境金宝app
rlfunctionenv 使用功能指定自定义增强学习环境动态
反应 (不推荐)加固学习代理的模型表示

例子

全部收缩

对于此示例,请考虑rlsimplependulummodel金宝appSimulink模型。该模型是一种简单的无摩擦摆,最初悬挂在向下的位置。

打开模型。

mdl ='rlsimplependulummodel';Open_System(MDL)

创造rlnumericspecrlfinitesetspec观察和行动信息的对象。

obsinfo = rlnumericspec([3 1])3个观测值的矢量​​:sin(theta),cos(theta),d(theta)/dt
obsInfo = rlnumericspec带有属性:lowerlimit:-inf upperlimit:inf名称:[0x0字符串]描述:[0x0字符串]维度:[3 1] datatype:“ double”
actinfo = rlfinitesetsetspec([ -  2 0 2])%3扭矩的可能值:-2 nm,0 nm和2 nm
actinfo = rlfinitesetsetspec带有属性:元素:[3x1 double]名称:[0x0字符串]描述:[0x0 string] dimension:[1 1] datatype:“ double”

您可以使用点符号为分配属性值rlnumericspecrlfinitesetspec对象。

obsinfo.name =“观察”;actinfo.name =“扭矩”;

分配代理块路径信息,并使用上一步中提取的信息为Simulink模型创建强化学习环境。金宝app

AgentBlk = [MDL'/rl代理人'];env = rl金宝appSimulinkenv(MDL,AgentBlk,obsinfo,actinfo)
env = 金宝appsimulinkenvwithagent具有属性:模型:rlsimplependulummodeldel agentBlock:rlsimplependulummodel/rl代理resetfcn:[] usefastrestart:on

您还可以使用点表示法包含一个重置函数。对于此示例,随机初始化theta0在模型工作区中。

env.Resetfcn = @(in)setVariable(in,'theta0',兰德,“工作空间”,MDL)
env = 金宝appsimulinkenvwithagent具有属性:模型:rlsimplependulummodel agent block:rlSimplePendulummodel/rl代理resetfcn: @(in)setVariable(in)setVariable(in,'theta0','theta0',randn,randn,'workspace','workspace',mdl)usefastrestart on on on on on on:

如果您的强化学习代理人的演员有多个输出,则每个输出都有一个离散的动作空间,您可以使用一个可能的离散操作组合来使用rlfinitesetspec目的。

假设两个输出系统的有效值是[1 2]对于第一个输出和[10 20 30]对于第二个输出。为所有可能的输入组合创建离散的操作空间规范。

ActionPec = rlfinitesetsetspec({[1 10],[1 20],[1 30],,...[2 10],[2 20],[2 30]})
actionspec = rlfinitesetsetspec带有属性:元素:{6x1 cell}名称:[0x0字符串]描述:[0x0字符串]尺寸:[1 2] datatype:“ double”

版本历史记录

在R2019a中引入