在强化学习场景中,您训练一个代理完成一项任务,环境模拟该代理与之交互的动力学。环境如下图所示:
从代理接收操作。
输出观察结果以响应行动。
产生一种奖励来衡量行动对完成任务的贡献。
创建环境模型包括定义以下内容:
动作和观察信号是主体与环境交互的信号。
奖励信号是代理用来衡量其成功的信号。有关更多信息,请参见定义奖励信号.
环境动态行为。
在创建环境对象时,必须指定代理用于与环境交互的操作和观察信号。您既可以创建离散的动作空间,也可以创建连续的动作空间。有关更多信息,请参见rlNumericSpec
和rlFiniteSetSpec
,分别。
选择什么信号作为动作和观察取决于应用程序。例如,对于控制系统的应用,误差信号的积分(有时是导数)常常是有用的观测。此外,对于参考跟踪应用,有一个时变参考信号作为观测是有帮助的。
当你定义你的观察信号时,确保所有的系统状态都可以通过观察观察到。例如,对摆锤的图像观察具有位置信息,但没有足够的信息来确定摆锤的速度。在这种情况下,您可以指定钟摆速度作为一个单独的观察。
Reinforcement Learning Toolbox™软件提供了预定义的Simulink金宝app®已经定义了行动、观察、奖励和动态的环境。你可以使用这些环境:
学习强化学习概念。
熟悉强化学习工具箱软件功能。
测试您自己的强化学习代理。
有关更多信息,请参见加载预定义的Simulink环境金宝app.
要指定您自己的自定义强化学习环境,请使用金宝appRL代理块。在这个模型中,将行动、观察和奖励信号与RL代理块。例如,请参见水箱加固学习环境模型.
对于动作和观察信号,您必须使用rlNumericSpec
对于连续信号和rlFiniteSetSpec
对离散信号。对于总线信号,使用创建规范bus2RLSpec
.
对于奖励信号,在模型中构造一个标量信号,并将这个信号连接到RL代理块。有关更多信息,请参见定义奖励信号.
在配置了Simulink模型之后,使用金宝apprl金宝appSimulinkEnv
函数。
如果您有一个具有适当的操作输入端口、观察输出端口和标量奖励输出端口的参考模型,您可以自动创建一个Simulink模型,其中包括这个参考模型和一个金宝appRL代理块。有关更多信息,请参见createIntegratedEnv
.该函数返回模型的环境对象、操作规范和观察规范。
您的环境可以包括第三方功能。有关更多信息,请参见与现有的模拟或环境集成(金宝app模型).
rlPredefinedEnv
|rl金宝appSimulinkEnv
|createIntegratedEnv