我是靠谱客的博主 烂漫黄蜂,这篇文章主要介绍【MATLAB强化学习工具箱】学习笔记--在基础网格环境训练强化学习智能体Train Reinforcement Learning Agent in Basic Grid World生成env初始化生成Q-Learning Agent训练Q-Learing Agent 训练结果展示,现在分享给大家,希望可以做个参考。

【说明:这是强化学习工具箱的第一个基本示例,体系了大量设计要素。】

生成env

env是强化学习的环境、world、动力学、边界,定义了操作空间。

复制代码
1
2
env = rlPredefinedEnv("BasicGridWorld"); plot(env)

【说明:plot(env)打开env图片之后,不要关闭,否则在train环节一直报错误。Error using matlab.graphics.primitive.Patch/set Invalid or deleted object.目前还不清楚原因,在本次学习过程中耽误了3个小时】 

 地图说明如下:

(1)地图由5×5网格组成,边界不可逾越。红色圆点是agent,可有四个基本动作(North = 1, South = 2, East = 3, West = 4);【说明:action】

(2)agent默认位置在[1,1];【说明:initial state】

(3)agent到达蓝色方块,可得10分;【说明:reward】

(4)地图中包含了特殊的动作,当从[2,4]直接跳到[4,4]可以得到5分;【说明:action,reward】

(5)黑色网格视为障碍不可逾越;【说明:action】

(6)除(3)(4)两种状态外的其他动作均减1分;【说明:action,reward】

初始化

环境初始化,确保每次重置后都从同一位置开始;

复制代码
1
env.ResetFcn = @()1;

随机数种子初始化

复制代码
1
rng(0)

生成Q-Learning Agent

生成Q表

从env中提取Observation和Action

复制代码
1
2
3
qTable = rlTable(getObservationInfo(env),getActionInfo(env)); qRepresentation = rlQValueRepresentation(qTable,getObservationInfo(env),getActionInfo(env));

设置学习率为1

复制代码
1
qRepresentation.Options.LearnRate = 1;

设置ε-greedy系数为0.04;

复制代码
1
2
3
agentOpts = rlQAgentOptions; agentOpts.EpsilonGreedyExploration.Epsilon = .04; qAgent = rlQAgent(qRepresentation,agentOpts);

训练Q-Learing Agent

生成train配置

复制代码
1
trainOpts = rlTrainingOptions;

设置每个迭代步最多运行步为50

复制代码
1
trainOpts.MaxStepsPerEpisode = 50;

设置最大迭代次数为200

复制代码
1
trainOpts.MaxEpisodes= 200;

设置停止训练判据为平均奖励;

复制代码
1
trainOpts.StopTrainingCriteria = "AverageReward";

设置停止训练平均奖励为11分

复制代码
1
trainOpts.StopTrainingValue = 11;

设置停止训练判据为连续30次平均奖励不小于11分

复制代码
1
trainOpts.ScoreAveragingWindowLength = 30;

开始训练

复制代码
1
trainingStats = train(qAgent,env,trainOpts);

训练过程如下所示:

 

 训练结果展示

复制代码
1
2
env.Model.Viewer.ShowTrace = true; env.Model.Viewer.clearTrace;

仿真结果路径

复制代码
1
sim(qAgent,env)

由浅色至深色的路径为最佳路径。注意根据特殊奖励策略,翻越了一次障碍,多得了5分。

 

最后

以上就是烂漫黄蜂最近收集整理的关于【MATLAB强化学习工具箱】学习笔记--在基础网格环境训练强化学习智能体Train Reinforcement Learning Agent in Basic Grid World生成env初始化生成Q-Learning Agent训练Q-Learing Agent 训练结果展示的全部内容,更多相关【MATLAB强化学习工具箱】学习笔记--在基础网格环境训练强化学习智能体Train内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部