创建了一个环境和强化学习代理后,您可以使用该环境和强化学习代理火车
功能。要配置培训,请使用rltringOptions.
功能。例如,创建培训选项集选择
和火车代理代理人
在环境中env.
。
opt = rltringOptions(......'maxepisodes',1000,......'maxstepperepisode',1000,......'stoptrinaincriteria'那“平均”那......'stoptriningvalue',480);TrainStats =火车(代理商,ENV,OPT);
有关创建代理商的更多信息,请参阅加固学习代理人。有关创建环境的更多信息,请参阅创建MATLAB强化学习环境和创建Simul金宝appink强化学习环境。
火车
在培训进展中更新代理商。要保留原始代理参数以供稍后使用,请将代理保存到MAT文件中。
保存(“italitagent.mat”那“代理人”)
当您指定的条件时,训练会自动终止stoptrinatreaincriteria.
和stoptriningvalue.
您的选择rltringOptions.
对象满意。手动终止正在进行的培训,类型Ctrl + C.或者,在钢筋学习集团管理器中,单击停止培训。因为火车
在每个集中更新代理,您可以通过呼叫恢复培训火车(代理人,env,训练)
同样,在第一次呼叫期间没有丢失训练有素的参数火车
。
通常,培训执行以下步骤。
初始化代理。
对于每一次集:
重置环境。
获得初始观察S.0.来自环境。
计算初始操作一种0.=μ.(S.0.), 在哪里μ.(S.)是目前的政策。
将当前操作设置为初始操作(一种←一种0.),并将当前观察设置为初始观察(S.←S.0.)。
虽然episode未完成或终止,但执行以下步骤。
申请行动一种对环境并获得下一个观察S''和奖励R.。
从体验集中学习(S.那一种那R.那S')。
计算下一个操作一种'=μ.(S')。
使用下一个操作更新当前操作(一种←一种')通过下次观察更新当前观察(S.←S')。
如果满足环境中定义的终止条件,则终止剧集。
如果满足培训终止条件,则终止培训。否则,开始下一个剧集。
软件如何执行这些步骤的具体细节取决于代理和环境的配置。例如,如果配置环境,则重置每个剧集开始时的环境可以包括随机化初始状态值。有关代理及其培训算法的更多信息,请参阅加固学习代理人。使用并行处理和GPU加速培训,看使用并行计算和GPU的火车代理。
默认情况下,调用火车
功能打开钢筋学习剧集管理器,可让您可视化培训进度。Episode Manager Plot显示每个剧集的奖励(EpisodeReward.)和运行的平均奖励价值(平均)。此外,对于具有批评者的代理商,情节表明了评论家在每一集开始时对折扣长期奖励的估计(episodeq0.)。Episode Manager还显示各种剧集和培训统计信息。你也可以使用火车
返回剧集和培训信息的功能。
对于批评者的代理商,第六章考虑到环境初步观察,每次发作开始时估算折扣长期奖励。随着培训进展,如果评论家设计得很好。第六章涉及真正的折扣长期奖励,如前图所示。
要关闭钢筋学习剧集管理器,请设置绘图
选择rltringOptions.
至“没有任何”
。
在培训期间,您可以保存符合您指定的条件的候选代理商SaveAgentCriteria.
和SaveAgentValue.
您的选择rltringOptions.
目的。例如,即使尚未满足终止培训的整体条件,您还可以保存剧集奖励超出某个值的任何代理。例如,当剧集奖励大于时,保存代理100.
。
opt = rltringOptions('SaveAgentCriteria'那“EpisodeReward”那'SaveagentValue',100');
火车
将保存的代理存储在使用该文件文件夹中的Mat文件中SaveAgentDirectory.
选择rltringOptions.
。例如,已保存的代理可以有用,以测试在长期运行培训过程中生成的候选代理。有关保存标准和保存位置的详细信息,请参阅rltringOptions.
。
培训完成后,您可以从MATLAB中保存最终培训的代理®工作区使用保存
功能。例如,保存代理myAgent.
到文件FinalAgent.mat.
在当前的工作目录中。
保存(opt.SaveAgentDirectory +“/finalagent.mat”那'代理人')
默认情况下,保存DDPG和DQN代理时,不会保存体验缓冲区数据。如果您计划进一步列出已保存的代理,您可以使用以前的经验缓冲区作为起点开始培训。在这种情况下,设置SaveexperienceBufferWithAgent.
选择真的
。对于某些代理,例如具有大经验缓冲区和基于图像的观察的代理,节省体验缓冲区所需的内存很大。在这些情况下,您必须确保已保存的代理商可用的内存足够。
要验证培训的代理,您可以使用培训环境中的代理商使用SIM
功能。配置模拟,使用RlsimulationOptions.
。
验证代理时,考虑检查代理程序如何处理以下内容:
仿真初始条件的更改 - 要更改模型初始条件,请修改环境的重置功能。例如,重置函数,请参阅使用自定义功能创建MATLAB环境那从模板创建自定义MATLAB环境, 和创建Simul金宝appink强化学习环境。
培训和仿真环境动态之间的不匹配 - 要检查此类不匹配,以与您创建培训环境的方式相同的方式创建测试环境,修改环境行为。
与并行培训一样,如果您有并行计算工具箱™软件,则可以在多核计算机上运行多个并行模拟。如果你有MATLAB并行服务器™软件,您可以在计算机集群或云资源上运行多个并行模拟。有关配置模拟以使用并行计算的详细信息,请参阅使用指α.
和并行化选项
在RlsimulationOptions.
。
如果您的培训环境实施阴谋
方法,您可以在培训和仿真期间可视化环境行为。如果你打电话情节(env)
在培训或模拟之前,在哪里env.
是您的环境对象,然后是培训期间的可视化更新,允许您可视化每个剧集或模拟的进度。
使用并行计算培训或模拟代理时不支持环境可视化。金宝app
对于自定义环境,必须实现自己的环境阴谋
方法。有关创建自定义环境的更多信息阴谋
功能,参见从模板创建自定义MATLAB环境。