创建环境和强化学习代理后,可以使用火车
函数。要配置培训,请使用RL培训选项
函数。例如,创建一个培训选项集选择
,以及火车代理人代理
在环境env
.
选择= rlTrainingOptions (...“最大集”, 1000,...“MaxStepsPerEpisode”, 1000,...“StopTrainingCriteria”,“平均向上”,...“停止训练值”,480); trainStats=列车(代理、环境、选择);
有关创建代理的详细信息,请参阅强化学习代理。有关创建环境的详细信息,请参阅创建MATLAB强化学习环境和创建Simul金宝appink强化学习环境.
火车
随着培训的进行,更新代理。为了保存原始代理参数供以后使用,请将代理保存到mat -文件中。
保存(“initialAgent.mat”,“代理人”)
当您在中指定的条件满足时,培训将自动终止StopTrainingCriteria
和StopTrainingValue
选择你的RL培训选项
对象感到满意。若要手动终止正在进行的培训,输入Ctrl+C或者,在“强化学习集管理器”中单击停止训练.因为火车
每集更新代理,您可以通过呼叫恢复培训火车(代理,env, trainOpts)
同样,在不丢失第一次调用火车
.
通常,培训执行以下步骤。
初始化代理。
每集:
重置环境。
获得初步观察年代0从环境中。
计算初始作用一个0=μ(年代0),μ(年代)是现行政策。
将当前操作设置为初始操作(一个←一个0),并将当前观察设置为初始观察(年代←年代0).
当剧集尚未结束或终止时,请执行以下步骤。
应用操作一个对环境和获得下一个观察年代”和奖励r.
从经验中学习(年代,一个,r,年代).
计算下一个动作a'=μ(年代).
用下一个操作更新当前操作(一个←a'),并将当前的观察结果更新为下一个观察结果(年代←年代).
如果满足环境中定义的终止条件,则终止该事件。
如果满足培训终止条件,则终止培训。否则,开始下一集。
软件执行这些步骤的具体方式取决于代理和环境的配置。例如,如果您将环境配置为随机化初始状态值,则在每集开始时重置环境可能包括随机化初始状态值。有关代理及其训练算法的更多信息,请参阅强化学习代理.要使用并行处理和gpu来加速训练,请参阅使用并行计算和GPU训练代理.
默认情况下,调用火车
函数打开Reinforcement Learning Episode Manager,它让您可视化培训进度。“剧集经理”情节显示了每一集的奖励(EpisodeReward)和运行平均奖励价值(平均向)此外,对于有评论家的经纪人,情节显示了评论家在每集开始时对折扣长期报酬的估计(EpisodeQ0).章节管理器还显示各种章节和培训统计数据。你也可以用the火车
函数返回剧集和培训信息。
对于有评论家的经纪人,第Q0集是在给定初始环境观察的情况下,每一事件开始时对贴现长期回报的估计。随着培训的进行,如果评论家是精心设计的。第Q0集接近真实的长期折扣报酬,如上图所示。
要关闭强化学习集管理器,请设置情节
选择RL培训选项
来“没有”
.
在培训期间,您可以保存满足您在SaveAgentCriteria
和SaveAgentValue
选择你的RL培训选项
对象。例如,您可以保存任何集奖励超过一定值的代理,即使还未满足终止训练的总体条件。例如,当情节奖励大于100
.
选择= rlTrainingOptions (“SaveAgentCriteria”,“EpisodeReward”,“SaveAgentValue”, 100年);
火车
将保存的代理存储在MAT文件中使用指定的文件夹中SaveAgentDirectory
选择RL培训选项
。保存的代理可能很有用,例如,用于测试在长时间运行的培训过程中生成的候选代理。有关保存条件和保存位置的详细信息,请参阅RL培训选项
.
训练完成后,可以从MATLAB中保存最终训练的agent®工作空间使用拯救
函数。例如,保存代理myAgent
到文件finalAgent.mat
在当前工作目录中。
保存(选择。SaveAgentDirectory +“/ finalAgent.mat”,“代理”)
缺省情况下,保存DDPG和DQN代理时,不保存体验缓冲区数据。如果您计划进一步培训所保存的代理,可以从以前的经验缓冲区作为起点开始培训。在本例中,设置SaveExperienceBufferWithAgent
选择符合事实的
。对于某些代理,例如具有较大经验缓冲区和基于图像的观察的代理,保存经验缓冲区所需的内存较大。在这些情况下,必须确保有足够的内存可供保存的代理使用。
要验证经过培训的代理,可以使用sim卡
作用要配置模拟,请使用模拟选项
.
在验证代理时,请考虑检查代理如何处理以下内容:
改变模拟初始条件-改变模型初始条件,修改环境的重置函数。例如reset函数,请参见使用自定义函数创建MATLAB环境,从模板创建自定义MATLAB环境和创建Simul金宝appink强化学习环境.
训练和仿真环境动力学之间的不匹配-要检查此类不匹配,请以创建训练环境的相同方式创建测试环境,修改环境行为。
与并行训练一样,如果您有parallel Computing Toolbox™软件,则可以在多核计算机上运行多个并行模拟。如果你有MATLAB并行服务器™软件,您可以在计算机群集或云资源上运行多个并行模拟。有关将模拟配置为使用并行计算的更多信息,请参阅UseParallel
和ParallelizationOptions
在模拟选项
.
如果您的培训环境实现了情节
方法,您可以在训练和模拟期间可视化环境行为地块(环境)
在训练或模拟之前,在哪里env
是您的环境对象,然后在训练期间进行可视化更新,以使您能够可视化每个情节或模拟的进展。
在使用并行计算训练或模拟代理时,不支持环境可视化。金宝app
对于自定义环境,必须实现自己的情节
方法。有关使用情节
功能,请参阅从模板创建自定义MATLAB环境.