一旦创建了一个环境并强化了学习代理,就可以在环境中使用火车
函数。要配置您的训练,使用rlTrainingOptions
函数。例如,创建一个训练选项设置选择
和列车剂代理人
在环境ENV
.
选择= rlTrainingOptions(......“MaxEpisodes”,1000,......“MaxStepsPerEpisode”,1000,......'StopTrainingCriteria'那“AverageReward”那......“StopTrainingValue”, 480);trainStats =火车(代理,env,选择);
有关创建代理的详细信息,请参见强化学习代理.有关创建环境的更多信息,请参见创建MATLAB强化学习环境和创建Simul金宝appink强化学习环境.
火车
更新代理培训进展。要保留以备后用原来的代理参数,代理保存到MAT文件。
节省(“initialAgent.mat”那“代理”)
中指定的条件将自动终止培训StopTrainingCriteria
和StopTrainingValue
选项您rlTrainingOptions
对象是满意的。要手动终止进行中,键入培训Ctrl + C或者,在强化学习集管理器,单击停止训练.因为火车
在每一集更新的代理,你可以通过调用恢复训练列车(代理人,ENV,trainOpts)
同样,在不丢失第一次调用时学到的训练参数的情况下火车
.
一般来说,培训执行以下步骤。
初始化代理。
对于每一个插曲:
重置环境。
得到最初的观察结果S.0.从环境。
计算初始动作一种0.=μ(S.0.), 在哪里μ(S.)是当前的政策。
将当前操作设置为初始操作(一种←一种0.),将当前观测值设置为初始观测值(S.←S.0.).
而情节没有完成或终止,执行以下步骤。
应用操作一种环境和获得下一个观察S'“和奖励R..
从经验中学习组(S.那一种那R.那S').
计算出下一个动作一个“=μ(S').
使用下一个操作更新当前操作(一种←一个“),并更新与下一个观察当前观察(S.←S').
如果满足环境中定义的终止条件,则终止该集。
如果满足培训终止条件,终止培训。否则,就开始下一集。
软件如何执行这些步骤的细节取决于代理和环境的配置。例如,在每一集的开始重置环境可以包括随机初始状态值,如果您配置您的环境这样做。有关代理及其训练算法的更多信息,请参见强化学习代理.要使用并行处理和GPU来加速训练,看使用并行计算和gpu的列车代理.
默认情况下,调用火车
函数打开强化学习集管理器,它可以让你直观的训练进度。该集经理图显示每集奖励(EpisodeReward)和移动平均报酬值(AverageReward).同样,对于有评论家的特工,情节显示了评论家在每一集开始时对折扣长期报酬的估计(EpisodeQ0).该集管理器还显示各种情节和培训的统计数据。你也可以使用火车
函数返回情节和培训的信息。
对于有批评剂,集Q0是考虑到环境的初步观察,在每一集的开始打折长期回报的估计。随着训练的进行,如果评论家是精心设计的。集Q0接近真实的贴现长期回报,如上图所示。
要关闭强化学习集管理器中将绘图
的选择rlTrainingOptions
到“没有”
.
在训练过程中,你可以保存候选药物您在指定满足条件SaveAgentCriteria
和SaveAgentValue
选项您rlTrainingOptions
目的。例如,可以保存其情节奖励超过一定数值的任何代理,即使终止培训的总体条件没有得到满足。例如,保存剂时的插曲奖励大于One hundred.
.
选择= rlTrainingOptions('SaveAgentCriteria'那“EpisodeReward”那'SaveAgentValue',100' );
火车
将已保存的代理存储在指定的文件夹中的mat -文件中SaveAgentDirectory
的选择rlTrainingOptions
.保存的代理可能很有用,例如,用于测试在长时间的训练过程中生成的候选代理。保存条件和保存位置请参见rlTrainingOptions
.
培训完成后,您可以从MATLAB保存最终经过培训代理®工作区使用保存
函数。例如,保存剂myAgent
该文件finalAgent.mat
在当前的工作目录。
保存(opt.SaveAgentDirectory +“/finalAgent.mat”那'代理人')
默认情况下,当DDPG和DQN剂被保存,缓冲数据的经验不会被保存。如果你打算进一步列车已保存的代理,你就可以开始用以前的经验缓存为出发点的训练。在这种情况下,设置SaveExperienceBufferWithAgent
选项真正的
.对于某些代理,例如具有较大经验缓冲区和基于图像的观察的代理,保存经验缓冲区所需的内存很大。在这些情况下,必须确保为保存的代理程序提供足够的内存。
要验证经过培训的代理,可以在培训环境中使用SIM
函数。要配置模拟,请使用rlSimulationOptions
.
验证代理时,请考虑检查代理如何处理以下情况:
更改模拟的初始条件 - 要改变模型的初始条件,修改复位功能的环境。例如复位功能,请参阅使用自定义函数创建MATLAB环境那创建自定义MATLAB环境从模板,创建Simul金宝appink强化学习环境.
训练和模拟环境动态之间的不匹配——为了检查这种不匹配,以创建训练环境的相同方式创建测试环境,修改环境行为。
与平行的训练,如果您有并行计算工具箱™软件,你可以在多核计算机上运行多个并行计算。如果你有MATLAB并行服务器™软件,您可以在计算机集群或云资源上运行多个并行模拟。有关配置模拟以使用并行计算的更多信息,请参见UseParallel
和ParallelizationOptions
在rlSimulationOptions
.
如果您的培训环境实施了阴谋
方法,您可以可视化的环境行为在训练和模拟。如果你叫情节(env)
在训练或模拟之前ENV
是你的环境对象,然后在训练中的可视化更新,让您直观每集或模拟的进展。
训练或使用并行计算模拟你的代理时,不支持环境的可视化。金宝app
对于自定义环境,您必须实现自己的环境阴谋
方法。有关创建自定义环境的详细信息阴谋
功能,参见创建自定义MATLAB环境从模板.