从零开始学MATLAB强化学习工具箱使用(四):使用强化学习设计器设计和训练代理

译自强化学习工具包文档,加入自己的见解。

这个例子展示了使用强化学习设计器在离散动作空间环境中设计和训练DQN代理。

打开强化学习设计器app

通过如下语句打开:

reinforcementLearningDesigner

在这里插入图片描述

导入Cart-Pole环境

按下图所示选择导入:
在这里插入图片描述
导入后在环境面板里可观察到,点击可修改名字,Preview面板显示所选环境的状态空间和动作空间:
在这里插入图片描述
该环境包含一个连续的4维观测空间(杆和车的分别的位置和速度)和一个离散一维动作空间(包含两个可能的力10N或-10N)。

为导入的环境创建DQN代理

在Reinforcement Learning标签页点击New,在弹出的窗口里,修改隐藏层神经元数量为20,默认的环境即为导入的环境,默认的算法即为DQN算法,点击OK。
在这里插入图片描述Agents面板里会新增刚刚创建的代理agent1,并且设计器会自动跳转至agent1的文档。

在超参数选项里,设置学习率为0.0001。(改了效果也不一定好,多跑几次)
在这里插入图片描述
可点击DQN Agent标签页里的View Critic Model查看评论家(Q值函数)网络结构。
默认的网络结构如下:
在这里插入图片描述

训练代理

在Train标签页配置训练参数,参数含义都比较明了。
在这里插入图片描述
点击Train开始训练,训练过程如下:
在这里插入图片描述

在训练过程中可随时点击Stop按钮中断训练和Resume恢复训练。

点击Accept储存训练好的代理和结果,随后在Agents面板会自动添加该代理,命名为原代理名加_Trained,在Results面板自动添加一条trainStats。
在这里插入图片描述

对代理进行仿真并检查仿真结果

在Simulate标签页配置仿真参数,指定代理为刚训练好的代理,其它参数按需更改,这里先保持默认。然后点击仿真按钮,app弹出仿真会话标签页。仿真完成后,会展示每轮奖励以及所有轮奖励均值和标准差。
在这里插入图片描述

点击Inspect Simulation Data分析仿真结果,也可以点击Clear and Inspect Simulation Data预先清除在上一个会话中加载的任何数据。可以在不同的图中选择查看不同的数据。
在这里插入图片描述

回到仿真对话窗体,同样点击Accept保存仿真结果,在Results面板自动添加一条experience。

导出代理并保存会话

在Agents面板双击训练好的代理agent1_Trained打开相关文档,然后按下图所示选择导出,导出的代理保存在MATLAB工作区。
在这里插入图片描述
当然,也可以直接在Reinforcement Learning选项卡下选择导出需要的代理。若要保存会话,点击Reinforcement Learning选项卡下的Save Session。可以用该设计器再次打开保存的会话。

在命令行仿真代理

首先加载cart-pole环境:

env = rlPredefinedEnv("CartPole-Discrete");

可视化环境:

plot(env)

运行仿真:

xpr2 = sim(env,agent1_Trained);

在这里插入图片描述

展示仿真的累计奖励:

sum(xpr2.Reward)

在这里插入图片描述

Tips

  • 强化学习设计器通过MATLAB工作空间与命令行交互,你可以导入环境或导入及导出代理、神经网络、评论家和行动者以及网络参数。
  • 强化学习设计器支持多种代理,包括:DQN、DDPG、TD3、PPO、TRPO、SAC。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值