前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >鼠标拖拽搭建强化学习网络模型

鼠标拖拽搭建强化学习网络模型

作者头像
万木逢春
发布2022-03-26 10:10:14
9780
发布2022-03-26 10:10:14
举报
文章被收录于专栏:帮你学MatLab

Deep Network Designer

网络模型设计器

在实现了几个针对gym的基础场景的强化学习模型后,我们想要在atari的游戏中试试身手,借助Deep Network Designer,可以方便地设计、修改、观察深度学习神经网络模型。

比Simulink更方便的是参数填写就在右边、不需要双击打开模块就可以直接修改参数。

左边的是所有支持的网络结构,鼠标拖拽到中央模型区域即可,接下来就是和simulink一样的连线了,鼠标靠近的时候会出现圆形连接点、按住鼠标拖拽到下一个就可以了。

我们首先要用到的是图像输入层,输入层都是蓝色方块,拖拽一个imageInputLayer到中间来,因为我们要研究的是atari游戏画面,灰度图甚至是二值图就足够了、所以需要修改的是inputSize,atari原始画面大概要160*160,我们也不需要这么大、可以在Env对象中缩小一下、只需要50*50或者更小一些就可以。

接下来是卷积层,就是图里面的黄色方块,卷积层的功能是对输入数据进行特征提取。一样的拖拽到中间来、在右边填写参数。

全连接层,是每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。

激活函数都是红色的方块,还有灰色的方块是辅助功能。我们在接下来针对atari的pong游戏进行训练,用的就是这些模块。

搭建完网络模型后点击export就可以生成代码、在后续训练中使用

代码语言:javascript
复制
criticNetwork = layerGraph();
tempLayers = [
    imageInputLayer([40 40 1],"Name","gameVedio","Normalization","none")
    convolution2dLayer([10 10],2,"Name","conv","Padding","same","Stride",[5 5])
    reluLayer("Name","relu_1")
    fullyConnectedLayer(400,"Name","fc_1")
    reluLayer("Name","relu_2")
    fullyConnectedLayer(300,"Name","fc_3")];
criticNetwork = addLayers(criticNetwork,tempLayers);
tempLayers = [
    imageInputLayer([1 1 1],"Name","action","Normalization","none")
    fullyConnectedLayer(300,"Name","fc_2")];
criticNetwork = addLayers(criticNetwork,tempLayers);
tempLayers = [
    additionLayer(2,"Name","addition")
    reluLayer("Name","relu_3")
    fullyConnectedLayer(1,"Name","fc_4")];
criticNetwork = addLayers(criticNetwork,tempLayers);
% 清理辅助变量
clear tempLayers;
criticNetwork = connectLayers(criticNetwork,"fc_2","addition/in2");
criticNetwork = connectLayers(criticNetwork,"fc_3","addition/in1");
figure
plot(criticNetwork)

预知后事如何

且听下回分解

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

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

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

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

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