前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MATLAB强化学习工具箱整理

MATLAB强化学习工具箱整理

作者头像
万木逢春
发布2020-07-24 14:56:06
3.7K0
发布2020-07-24 14:56:06
举报
文章被收录于专栏:帮你学MatLab帮你学MatLab

● 在使用MATLAB强化学习工具箱时我们主要思考的env和agent两个方面。

● 首先看env,MATLAB提供了几个已经搭建好的,只要

env = rlPredefinedEnv(env名字)

env名字可以选择以下几个

'BasicGridWorld'

简单的网格环境

'CartPole-Discrete'

离散型外力输入值的倒立摆

'CartPole-Continuous'

连续型外力输入值的倒立摆

'DoubleIntegrator-Discrete'

'DoubleIntegrator-Continuous'

一个木块在木板上滑动,就是这样

'SimplePendulumWithImage-Discrete'

'SimplePendulumWithImage-Continuous'

一根摆杆,可以观测到图像

'WaterFallGridWorld-Stochastic'

'WaterFallGridWorld-Deterministic'

一个逆水行舟的网格环境,全局有外力在把agent往回推

其中网格环境是可以从空网格自定义起点终点障碍物的,也可以添加全局外力,甚至跳跃障碍物的特殊功能

还有2个是simulink搭建的环境模型

'SimplePendulumModel-Discrete'

'SimplePendulumModel-Continuous'

'CartPoleSimscapeModel-Discrete'

'CartPoleSimscapeModel-Continuous'

功能上和m语言搭建的一致

除了上面说的用基础网格搭建环境,还可以搭建复杂环境,需要注意的是这样几点

  1. 初始化,设定环境的输入输出,根据情况选择离散还是连续,维度也要在这里确定
  2. 执行一步,计算输出,reward,是否结束
  3. 绘图,重点关注是否绘图,因为训练过程每次都绘图严重降低效率

另外我们还试验成功了调用Python搭建强化学习环境的方法MATLAB调用pygame实现强化学习环境

● 接着就是agent了,可以完全自行编程实现,但这就失去了使用MATLAB的意义,要是整个功能都是在使用m语言基础函数构建,真的不要用MATLAB,隔壁python真香

提供的agent有这样的几个(排名不分先后,以字母序)

rlACAgent | rlDDPGAgent | rlDQNAgent | rlPGAgent | rlQAgent | rlSARSAAgent

其中rlQAgent和rlSARSAAgent只能在输入输出都是离散型而且维度较小时使用

如果在构建agent时需要搭建神经网络,直接编写的话基本上就是一句一层,基础的

卷基层convolution2dLayer,

池化层averagePooling2dLayer,

全连接层fullyConnectedLayer,

一句添加一层

也可以打开Deep Network Designer工具界面操作来搭建网络结构

这个工具的使用和simulink一样,从左边拖拽想要的网络层到中间,在右边设置参数,连接起来就可以导出网络结构了

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帮你学MatLab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档