● 在使用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语言搭建的一致
除了上面说的用基础网格搭建环境,还可以搭建复杂环境,需要注意的是这样几点
初始化,设定环境的输入输出,根据情况选择离散还是连续,维度也要在这里确定
执行一步,计算输出,reward,是否结束
绘图,重点关注是否绘图,因为训练过程每次都绘图严重降低效率
另外我们还试验成功了调用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一样,从左边拖拽想要的网络层到中间,在右边设置参数,连接起来就可以导出网络结构了

帮你学MatLab
微信号:MatLab_helper


长按识别二维码关注我们
免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:MATLAB强化学习工具箱整理(matlab classification工具箱) https://www.zentong.com/a/p/70029.html