主要内容

使用强化学习设计器设计和训练代理

这个例子展示了如何为一个具有离散动作空间的环境设计和训练DQN代理强化学习设计.

打开强化学习设计师应用程序

打开强化学习设计应用程序。

增强学习设计器

初始强化学习设计器窗口。左侧窗格不显示加载的代理、环境、结果或预览

最初,应用程序中没有加载代理或环境。

进口车柱环境

当使用强化学习设计,您可以从MATLAB导入一个环境®工作区或创建预定义的环境。有关更多信息,请参见创建MATLAB环境强化学习设计器为强化学习设计万博1manbetx器创建Simulink环境.

对于本例,使用预定义的离散车柱MATLAB环境强化学习选项卡,环境节,选择新的>离散车杆.

增强学习设计器窗口,扩展“新环境”部分,显示要导入的环境选择

环境窗格中,应用程序添加导入的离散CartPole环境。要重命名环境,请单击环境文本。您还可以在会话中导入多个环境。

要查看观察和行动空间的维度,请单击环境文本。应用程序将在中显示维度预览窗格。

预览窗格显示状态空间和操作空间的维度分别为[4 1]和[1 1]

这个环境有一个连续的四维观察空间(车和杆的位置和速度)和一个离散的一维动作空间,由两种可能的力组成,-10N或10N。该环境用于培训DQN代理以平衡大车杆系统的例子。有关预定义控制系统环境的更多信息,请参见加载预定义的控制系统环境.

为导入的环境创建DQN代理

要创建代理,请在强化学习选项卡,代理部分,单击。在“创建代理”对话框中,指定代理名称、环境和培训算法。默认代理配置使用导入的环境和DQN算法。对于本例,请将隐藏单元数从256更改为24。有关创建代理的详细信息,请参阅使用强化学习设计器创建代理.

“创建代理”对话框

点击好吧.

该应用程序将新的代理添加到代理窗格并打开相应的探员1文件

代理窗口打开时的强化学习设计器

有关DQN代理功能的简要摘要以及查看代理的观察和操作规范,请单击概述.

增强学习设计器,代理窗口打开,显示概述部分

中创建DQN代理时强化学习设计,代理使用默认的深度神经网络结构作为其评论员。要查看评论员网络,请在DQN代理选项卡,单击视图批评模型.

这个深度学习网络分析仪打开并显示评论结构。

深度学习网络分析仪显示了在批评家中使用的深度神经网络

关闭深度学习网络分析仪.

火车代理

培训你的经纪人,在火车选项卡,首先指定培训代理的选项。有关指定培训选项的信息,请参阅在强化学习设计器中指定模拟选项.

对于本例,请通过设置指定最大训练集数马克斯集1000。对于其他培训选项,请使用其默认值。停止的默认标准是每集的平均步数(在过去一段时间内5.情节)是大于500.

强化学习设计器应用程序在工具条中显示Train选项卡

要开始训练,请单击火车.

在培训期间,应用程序将打开培训班选项卡中显示训练进度培训结果文件

agent训练后的强化学习设计

此处,当每集的平均步数为500时,训练停止。清除显示集Q0可以更好地形象化情节和平均奖励。

要接受培训的结果,就上培训班选项卡,单击接受.在代理应用程序Pane会添加训练有素的代理人,经过培训的代理.

模拟代理并检查模拟结果

来模拟训练有素的特工,在模拟选项卡,首先选择经过培训的代理代理下拉列表,然后配置模拟选项。对于本例,使用默认的剧集数(10)及最长剧集长度(500).有关指定模拟选项的更多信息,请参见在强化学习设计器中指定培训选项.

模拟工具条选项卡

要模拟代理,单击模拟.

应用程序将打开模拟会议选项卡。仿真完成后模拟结果文档显示了每集的奖励以及奖励平均值和标准差。

模拟结果文件,显示每个模拟事件的奖励及其平均值和标准偏差

分析仿真结果,单击检查模拟数据.

模拟数据检查器您可以查看为每个模拟集保存的信号。有关更多信息,请参见模拟数据检查器(万博1manbetxSimulink).

下图显示了第六个模拟集的推车杆系统的第一和第三状态(推车位置和杆角度)。即使推车位置发生适度摆动,代理也能够成功地平衡杆500步。您可以修改一些DQN代理选项,例如BatchSizeTargetUpdateFrequency促进更快、更有活力的学习。有关更多信息,请参见培训DQN代理以平衡大车杆系统.

模拟数据检查器显示的位置和速度的车在第六集模拟

关闭模拟数据检查器.

要接受模拟结果,请在模拟会议选项卡,单击接受.

结果窗格,应用程序添加了模拟结果结构,experience1.

导出代理和保存会话

将训练过的代理导出到MATLAB工作空间进行额外的仿真,在强化学习选项卡,在下面出口,选择经过培训的代理。

强化学习设计器窗口,显示如何导出经过培训的代理

要保存应用程序会话,请在强化学习选项卡,单击保存会话.在future, to resume your work where you left off, you can open the session in强化学习设计.

在命令行模拟代理

要在MATLAB命令行中模拟agent,首先加载cart-pole环境。

env=rlPredefinedEnv(“CartPole-Discrete”);

车杆环境有一个环境可视化器,允许您查看系统在模拟和训练期间的行为。

绘制环境并使用之前从应用程序导出的经过训练的代理执行模拟。

绘图(环境)xpr2=sim(环境,代理1);

在仿真过程中,可视化工具显示小车和杆的运动。经过训练的agent能够稳定系统。

车杆环境可视化显示杆稳定在车

最后,显示模拟的累积奖励。

总和(xpr2.Reward)
环境=500

不出所料,奖励是500。

另见

|

相关的话题