主要内容

创建MATLAB加固学习环境

在钢筋学习场景中,您培训代理完成任务,环境模拟了代理交互的外部系统(即世界)。在控制系统应用中,这种外部系统通常被称为植物.

如下图所示,环境:

  1. 从代理商接收行动。

  2. 返回响应操作的观察结果。

  3. 生成奖励测量行动有助于实现任务的贡献。

创建环境模型涉及定义:

  • 代理用来与环境交互的动作和观察信号。

  • 代理人用来衡量其成功的奖励信号。有关详细信息,请参阅定义奖励信号.

  • 环境初始条件及其动态行为。

动作和观察信号

创建环境对象时,必须指定代理用于与环境交互的操作和观察信号。可以创建离散和连续的动作和观察空间。有关详细信息,请参阅rlNumericSpecrlFiniteSetSpec分别地

您选择什么信号作为操作和观察取决于您的应用程序。例如,对于控制系统应用,误差信号的积分(有时是导数)通常是有用的观测值。此外,对于参考跟踪应用,将时变参考信号作为观测值是有帮助的。

定义观测信号时,请确保所有环境状态(或其估计)都包含在观测向量中。这是一个很好的实践,因为代理通常是一个静态函数,缺少内部内存或状态,因此它可能无法在内部成功地重构环境状态。

例如,摆动摆的图像观察具有位置信息,但是本身没有足够的信息来确定摆速。在这种情况下,您可以测量或估计摆动速度作为观察向量中的附加条目。

预定义MATLAB环境

强化学习工具箱™ 软件提供了一些预定义的MATLAB®已经定义了行动、观察、奖励和动态的环境。您可以使用这些环境来:

  • 学习强化学习概念。

  • 熟悉钢筋学习工具箱软件功能。

  • 测试您自己的强化学习代理。

有关更多信息,请参阅加载预定义的网格世界环境加载预定义的控制系统环境.

风俗MATLAB环境

您可以为自己的应用程序创建以下类型的自定义MATLAB环境。

  • 具有指定大小、奖励和障碍的网格世界

  • 使用自定义函数指定动力学的环境

  • 通过创建和修改模板环境对象指定的环境

创建自定义环境对象后,可以使用与预定义环境中相同的方式培训代理。有关培训代理的更多信息,请参阅培训强化学习代理.

自定义网格世界

您可以使用自己的自定义奖励、状态转换和障碍配置创建任意大小的自定义网格世界。要创建自定义网格世界环境,请执行以下操作:

  1. 使用该网格世界模型createGridWorld作用例如,创建一个名为的网格世界吉瓦有十行九列。

    gw=createGridWorld(10,9);
  2. 通过修改模型的属性来配置网格世界。例如,将终端状态指定为位置[7,9]

    gw.终端状态=“[7,9]”;
  3. 网格世界需要包含在马尔可夫决策过程(MDP)环境中。为此网格世界创建MDP环境,代理使用该环境与网格世界模型交互。

    env=rlMDPEnv(gw);

有关自定义网格世界的更多信息,请参阅创建自定义网格世界环境.

指定自定义函数

对于简单环境,可以通过创建rlfunctionenv.对象并指定您自己的自定义重启职能。

  • 在每个训练集的开头时,代理调用重置函数来设置环境初始条件。例如,您可以指定已知的初始状态值或将环境放入随机初始状态。

  • step函数定义环境的动态,即状态如何随当前状态和代理操作而变化。在每个训练时间步,使用step函数更新模型的状态。

有关更多信息,请参阅使用自定义功能创建MATLAB环境.

创建和修改模板环境

对于更复杂的环境,您可以通过创建和修改模板环境来定义自定义环境。要创建自定义环境:

  1. 使用rlcreateenvtemplate.作用

  2. 修改模板环境,指定环境属性、必需的环境函数和可选的环境函数。

  3. 使用自定义环境使用验证环境.

有关更多信息,请参阅从模板创建自定义MATLAB环境.

另见

||

相关话题