强化学习MATLAB代码实现
强化学习MATLAB代码实现
目录
- 倒立摆代码实现
倒立摆代码实现
代码如下(MATLAB):
mdl = 'rlSimplePendulumModel';
open_system(mdl)
env = rlPredefinedEnv('SimplePendulumModel-Discrete');
env.ResetFcn = @(in)setVariable(in,'theta0',pi,'Workspace',mdl);
obsInfo = getObservationInfo(env);
actInfo = getActionInfo(env);
Ts = 0.05;
Tf = 20;
rng(0);
dnn = [featureInputLayer(3,'Normalization','none','Name','state')fullyConnectedLayer(24,'Name','CriticStateFC1')reluLayer('Name','CriticRelu1')fullyConnectedLayer(48,'Name','CriticStateFC2')reluLayer('Name','CriticCommonRelu')fullyConnectedLayer(3,'Name','output')];
figure;
plot(layerGraph(dnn));
criticOpts = rlRepresentationOptions('LearnRate',0.001,'GradientThreshold',1);
critic = rlQValueRepresentation(dnn,obsInfo,actInfo,'Observation',{'state'},criticOpts);
agentOptions = rlDQNAgentOptions(...'SampleTime',Ts,...'TargetSmoothFactor',1e-3,...'ExperienceBufferLength',3000,... 'UseDoubleDQN',false,...'DiscountFactor',0.9,...'MiniBatchSize',64);
agent = rlDQNAgent(critic,agentOptions);
trainingOptions = rlTrainingOptions(...'MaxEpisodes',1000,...'MaxStepsPerEpisode',500,...'ScoreAveragingWindowLength',5,...'Verbose',false,...'Plots','training-progress',...'StopTrainingCriteria','AverageReward',...'StopTrainingValue',-1100,...'SaveAgentCriteria','EpisodeReward',...'SaveAgentValue',-1100);
doTraining = false;if doTrainingtrainingStats = train(agent,env,trainingOptions);
elseload('SimulinkPendulumDQNMulti.mat','agent');
end
simOptions = rlSimulationOptions('MaxSteps',500);
experience = sim(env,agent,simOptions);
来自MATLAB帮助文档
强化学习MATLAB代码实现相关推荐
- 强化学习matlab工具箱应用
1. 如何使用强化学习强大的工具箱编写自己的工程 众所周知reinforcement learning Toolbax for matlab是非常强大的,小编刚开始使用时走了很多弯路,有试过一层一层的 ...
- 树状图栏目切换_AAAI 2020 | 中山大学HCP实验室:基于树状结构策略的渐进强化学习,代码已开源...
作者 | 吴捷 编辑 | Camel 本文对中山大学.北京航空航天大学.DMAI合作完成,被AAAI2020录用的一篇关于多模态视频理解的论文<Tree-Structured Policy ba ...
- 人人能上手:OpenAI发射初学者友好的强化学习教程 | 代码简约易懂
栗子 发自 凹非寺 量子位 出品 | 公众号 QbitAI OpenAI说,全无机器学习基础的人类,也可以迅速上手强化学习. 他们刚刚发射了一套强化学习 (RL) 入门教程,叫做Spinning Up ...
- 通过 Q-learning 深入理解强化学习-附带代码实现
本文将带你学习经典强化学习算法 Q-learning 的相关知识.在这篇文章中,你将学到:(1)Q-learning 的概念解释和算法详解:(2)通过 Numpy 实现 Q-learning. 故事案 ...
- 强化学习PPO代码讲解
阅读本文前对PPO的基本原理要有概念性的了解,本文基于我的上一篇文章:强化学习之PPO 当然,查看代码对于算法的理解直观重要,这使得你的知识不止停留在概念的层面,而是深入到应用层面. 代码采用了简单易 ...
- BUAA 强化学习DQN代码及实验报告参考
DQN实验报告 一.DQN实现方式 助教给的参考代码由两个文件组成,一个是game.py,一个是train.py.game.py的内容是迷宫界面绘制和agent行走方式.奖励规则的有关代码,而trai ...
- 计算机视觉与深度学习 | 基于Faster R-CNN的目标检测(深度学习Matlab代码)
===================================================== github:https://github.com/MichaelBeechan CSDN: ...
- 强化学习教程来啦!贡献者来自中科院、清华、北大3位男神!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale开源 核心贡献者:王琦.杨毅远.江季 导读 半年前,Datawhale开源项目 ...
- 《强化学习周刊》第10期:强化学习应用之计算机视觉
No.10 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,它在计算机视觉领域中的应用研究进展与成果也引发了众多关注.为帮助研究与工程人 ...
- 【原创】强化学习精选资料汇总:从入门到精通,看完这些干货就够啦!
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要8分钟 Follow小博主,每天更新前沿干货 [导读]本文为大家整理了公众号之前发过的一系列强化学习资料和学习手册,包括:强化学习视频课程.经 ...
最新文章
- 9个基于Java的搜索引擎框架
- Java算法之 一致性hash算法原理及实现
- 笔记-项目沟通管理-高效的会议方案
- 1万条数据大概占多大空间_「数据分析」Sqlserver的窗口函数的精彩应用之数据差距与数据岛...
- Adobe Acrobat XI反色保护色
- java 字节序列_java – 这个线程安全的字节序列生成器有什么问题?
- Spring面向方面的编程
- opencv:用最邻近插值和双线性插值法实现上采样(放大图像)与下采样(缩小图像)
- C语言逐行读取文件内容
- Auto layout 的使用
- 中科院-杨力祥视频教程	04课程
- Qt实现类似QQ好友列表
- UltraLAB台式图形工作站(并行计算高效王~高性能计算工作站EX620i介绍)
- OSChina 周三乱弹 —— 念念不忘,必有回响
- 第三方支付线上产品分析
- 【无标题】线性代数的可用之地----图像的矩阵表示之浅看
- 微信小程序(视图与逻辑)
- 【oracle】查看oracle客户端版本和位数
- 网站业务被攻击,CPU100%负载满了怎么解决
- 有传言任天堂可能会很快推出N64 Classic Mini
热门文章
- android打开关闭gps定位服务,【Android】使用模拟位置,关闭模拟位置后GPS启动不了...
- python深度学习——案例讲解
- live2d_基于Qt的Live2D示例(几乎都是官方给的代码就是啦!)
- fmea第五版pfmea表格_FMEA第五版中文版.pdf
- AndroidTV开发9远程adb调试设备
- IntelliJ IDEA Community Edition 社区版插件汇总
- 微橙人人店 php,最新微橙人人店分销3.5.7整站源码,全开源任意二开,新增及修复多项功能,附升级补丁...
- Linux下网络测试工具tcpping、tcptraceroute的使用
- Java程序性能优化
- 相亲交友源码中,音频AAC解码的实现代码