主要内容

创建动态仿真模块强化学习的环境

在强化学习场景中,训练一个代理完成一项任务,环境对代理与之交互的动态进行建模。如下图所示,环境:

  1. 从代理接收操作。

  2. 输出响应操作的观察结果。

  3. 生成一个奖励来衡量行为对完成任务的贡献程度。

创建环境模型包括定义以下内容:

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

  • 代理用来衡量成功的奖励信号。有关更多信息,请参见定义奖励信号

  • 环境动态行为。

行动及观察信号

在创建环境对象时,必须指定代理用于与环境交互的操作和观察信号。你可以创建离散和连续的动作空间。有关更多信息,请参见rlNumericSpec而且rlFiniteSetSpec,分别。

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

在定义观察信号时,确保所有系统状态都可以通过观察观察到。例如,一个摆动的摆的图像观测有位置信息,但没有足够的信息来确定摆的速度。在这种情况下,您可以指定摆速度作为一个单独的观察。

预定义的动态仿真模块环境

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

  • 学习强化学习的概念。

  • 熟悉强化学习工具箱软件功能。

  • 测试你自己的强化学习剂。

有关更多信息,请参见加载预定义的Simulink环境

自定义动态仿真模块环境

要指定您自己的自定义强化学习环境,请使用RL代理块。在这个模型中,将行动、观察和奖励信号连接到RL代理块。示例请参见水箱强化学习环境模型

对于操作和观察信号,您必须使用rlNumericSpec对于连续信号和rlFiniteSetSpec对离散信号。对于总线信号,使用bus2RLSpec

对于奖励信号,在模型中构造一个标量信号,并将该信号连接到RL代理块。有关更多信息,请参见定义奖励信号

配置Simulink模型之后,为模型创建环境对象rlSimulinkEnv函数。

如果您有一个具有适当的动作输入端口、观察输出端口和标量奖励输出端口的参考模型,您可以自动创建一个包含该参考模型和RL代理块。有关更多信息,请参见createIntegratedEnv.这个函数返回模型的环境对象、操作规范和观察规范。

您的环境可以包含第三方功能。有关更多信息,请参见与现有的模拟或环境集成(模型)

另请参阅

||

相关的话题

Baidu
map