培训强化学习代理的选项
最大集
—训练特工的最大次数500
(默认)|正整数训练代理的最大集数,指定为正整数。无论其他终止标准如何,培训在最大集
.
例子:'maxepisodes',1000
MaxStepsPerEpisode
—每集运行的最大步数500
(默认)|正整数每次集中运行的最大步数为正整数。通常,您在环境中定义剧集终端条件。如果不满足其他终端条件,则该值是在剧集中运行的最大步骤数。
例子:“MaxStepsPerEpisode”,1000
ScoreAveragingWindowLength
—平均窗口长度5.
(默认)|正整数标量|正整数向量平均每个代理的分数、奖励和步骤数的窗口长度,指定为标量或向量。
如果培训环境包含单个代理,请指定ScoreAveragingWindowLength
作为标量。
如果培训环境是多智能体Simulink万博1manbetx®环境中,指定标量以将相同的窗口长度应用于所有代理。
要为每个代理使用不同的窗口长度,请指定ScoreAveragingWindowLength
作为一个向量。在这种情况下,向量中的元素的顺序对应于环境创建期间使用的代理的顺序。
对于以平均值表示的期权,ScoreAveragingWindowLength
是包含在平均值中的剧集数量。例如,如果StopTrainingCriteria
是“平均向上”
和StopTrainingValue
是500
对于一个给定的代理,那么对于那个代理,当平均奖励超过了在ScoreAveragingWindowLength
等于或超过500
.对于其他代理商来说,培训持续到:
所有代理都达到其停止标准。
集数达到最大集
.
您可以通过单击停止培训事件管理器中的按钮或按Ctrl-C在MATLAB®命令行。
例子:“ScoreAveragingWindowLength”,10
StopTrainingCriteria
—培训终止条件“AverageSteps”
(默认)|“平均向上”
|“episodecount”
|……培训终止条件,指定为以下字符串之一:
“AverageSteps”
-当每集的运行平均步数等于或超过选项指定的临界值时,停止训练StopTrainingValue
. 使用窗口计算平均值“ScoreAveragingWindowLength”
.
“平均向上”
-当跑步平均奖励等于或超过临界值时停止训练。
“EpisodeReward”
-当当前情节中的奖励等于或超过临界值时停止训练。
“全局步数”
—当所有剧集的总步数(调用代理的总次数)等于或超过临界值时停止训练。
“episodecount”
—当训练集数达到或超过临界值时,停止训练。
例子:“StopTrainingCriteria”、“AverageReward”
StopTrainingValue
—训练终止条件的临界价值500
(默认)|标量|向量训练终止条件的临界值,指定为标量或向量。
如果培训环境包含单个代理,请指定StopTrainingValue
作为标量。
如果培训环境是一个多代理Simulink环境,请指定标量以向所有代理应用相同的终止标准。万博1manbetx为每个代理使用不同的终止标准,请指定StopTrainingValue
作为向量。在这种情况下,向量中元素的顺序对应于环境创建期间使用的代理的顺序。
对于给定的代理,培训将在StopTrainingCriteria
选项等于或超过此值。对于其他代理商来说,培训持续到:
所有代理都达到其停止标准。
集数达到最大集
.
您可以通过单击停止培训事件管理器中的按钮或按Ctrl-C在MATLAB命令行。
例如,如果StopTrainingCriteria
是“平均向上”
和StopTrainingValue
是100
对于一个给定的代理,那么对于那个代理,当平均奖励超过了在ScoreAveragingWindowLength
等于或超过100
.
例子:“停止训练值”,100
SaveAgentCriteria
—培训期间保存代理的条件“没有”
(默认)|“EpisodeReward”
|“平均向上”
|“episodecount”
|……培训期间保存代理的条件,指定为以下字符串之一:
“没有”
-不要在训练中拯救任何特工。
“EpisodeReward”
-当当前情节中的奖励等于或超过临界值时,保存代理。
“AverageSteps”
-当每集运行的平均步数等于或超过选项指定的临界值时,保存代理StopTrainingValue
. 使用窗口计算平均值“ScoreAveragingWindowLength”
.
“平均向上”
-当所有情节的运行平均奖励等于或超过临界值时,保存代理。
“全局步数”
-当所有事件中的步骤总数(调用代理的总次数)等于或超过临界值时,保存代理。
“episodecount”
-当训练集数等于或超过临界值时保存代理。
设置此选项可存储根据指定条件表现良好的候选代理。当您将此选项设置为除“没有”
,软件设置SaveAgentValue
选项到500.您可以更改该值以指定保存代理的条件。
例如,假设您希望存储任何生成集奖励等于或超过100的代理,以供进一步测试。为此,设置SaveAgentCriteria
来“EpisodeReward”
设定SaveAgentValue
申请100.当集奖励等于或超过100时,火车
在由此指定的文件夹中保存遥控器中的相应代理SaveAgentDirectory
选择。MAT文件被调用AgentK.mat
, 在哪里K
为对应插曲的个数。代理存储在MAT文件中为保存的\u代理
.
例子:'SaveAgentCriteria',“EpisodeReward”
SaveAgentValue
—节约剂条件的临界值“没有”
(默认)|500|标量|向量保存代理的条件的临界值,指定为标量或向量。
如果培训环境包含单个代理,请指定SaveAgentValue
作为标量。
如果培训环境是多代理Simulink环境,请指定标量以向每个代理应用相同的保存标准。万博1manbetx在符合特定标准时保存代理,指定SaveAgentValue
作为一个向量。在本例中,向量中元素的顺序与创建环境时使用的代理的顺序相对应。当满足保存代理的条件时,所有代理将保存在同一个MAT文件中。
使用指定保存候选代理的条件时SaveAgentCriteria
时,软件将此值设置为500。更改该值以指定保存代理的条件。看到SaveAgentCriteria
选项以获取更多详细信息。
例子:“SaveAgentValue”,100
SaveAgentDirectory
—保存的代理程序文件夹“储蓄”
(默认)|字符串|字符向量保存代理的文件夹,指定为字符串或字符向量。文件夹名称可以包含完整或相对路径。当发生令人满意的情况时,满足所指定的条件SaveAgentCriteria
和SaveAgentValue
选项,该软件将代理保存在此文件夹中的遥控器中。如果文件夹不存在,火车
创造它。什么时候SaveAgentCriteria
是“没有”
,此选项忽略了火车
不创建文件夹。
例子:'SaveAgentDirectory',PWD +“\ Run1 \代理”
使用并行
—使用平行训练的标志错误的
(默认)|符合事实的
用于使用并行训练的标志,指定为必然的
.将此选项设置为符合事实的
将培训配置为使用并行处理来模拟环境,从而允许使用多核、处理器、计算机集群或云资源来加速培训。要指定并行训练的选项,请使用并行化选项
所有物
什么时候使用并行
是符合事实的
然后对于DQN、DDPG、TD3和SACNumStepsToLookAhead
属性或相应的代理选项对象必须设置为1.
,否则将生成错误。这保证了经验是连续存储的。当AC代理并行训练时,如果stpeptuntildataissent.
财产的并行化选项
对象设置为不同的值NumStepToLookAhead
属性。
请注意,如果要使用本地GPU加速深层神经网络计算(如梯度计算、参数更新和预测),则无需设置使用并行
这是真的。相反,在创建演员或评论家形象时,请使用rlRepresentationOptions
对象,其中umussevice.
选项设置为“图形”
.使用并行计算或GPU需要并行计算工具箱™软件。另外使用计算机集群或云资源MATLAB并行服务器™. 有关使用多核处理器和GPU进行培训的更多信息,请参阅使用并行计算和GPU训练代理.
例子:“UseParallel”,对
并行化选项
—控制并行培训的选项平行训练
对象用于控制并行训练的并行化选项,指定为平行训练
有关使用并行计算进行培训的更多信息,请参阅培训强化学习代理.
这个平行训练
对象具有以下属性,您可以在创建RL培训选项
对象
模式
-并行计算模式“同步”
(默认)|“异步”
并行计算模式,指定为以下方式之一:
“同步”
- 用帕尔普
对可用的工作人员进行同步培训。在这种情况下,workers暂停执行,直到所有workers完成。主机根据所有worker的结果更新actor和critic参数,并将更新后的参数发送给所有worker。注意,同步训练对于基于梯度的并行化是必需的DataToSendFromWorkers
被设定为“渐变”
然后模式
必须设置为“同步”
.
“异步”
- 用帕尔普
对可用的工作人员进行异步培训。在这种情况下,工作人员一旦完成并从主机接收到更新的参数,就将数据发送回主机。然后工人们继续他们的工作。
DataToSendFromWorkers
- 工作人员发送到主机的数据类型“经验”
(默认)|“渐变”
工作人员发送到主机的数据类型,指定为以下字符串之一:
“经验”
-模拟由工作人员执行,学习由主机执行。具体来说,工作人员针对环境模拟代理,并向主机发送经验数据(观察、行动、奖励、下一次观察以及指示是否达到终端条件的标志)。对于具有梯度的代理,主机根据经验计算梯度,更新网络参数,并将更新后的参数发送回工作人员,以便他们可以针对环境执行新的模拟。
“渐变”
- 仿真和学习都由工人执行。具体来说,工人模拟了对环境的代理,从体验中计算渐变,并将渐变发送到主机。主机平均渐变,更新网络参数并将更新的参数发送给工人,以便对环境执行新的模拟。此选项需要同步培训,即它需要模式
设置为“同步”
.
笔记
对于AC和PG代理,必须指定DataToSendFromWorkers
像“渐变”
.
对于DQN、DDPG、PPO、TD3和SAC代理,必须指定DataToSendFromWorkers
像“经验”
.
stpeptuntildataissent.
-工作人员向主机发送数据的步骤数1
(默认)|正整数工人将数据发送到主机并接收更新的参数后的步数,指定为1
或正整数。当选择此选项时1
,工作进程将等待到事件结束,然后将所有步骤数据发送到主机。否则,工作进程将在发送数据之前等待指定的步骤数。
笔记
AC代理不接受StepsUntilDataIsSent=-1
. 对于交流培训,设置stpeptuntildataissent.
等于NumStepToLookAhead
AC代理选项。
对于PG代理,必须指定StepsUntilDataIsSent=-1
.
杂役种子
-随机化初始化工人1
(默认)|2
|载体工作程序的随机发生器初始化,指定为以下选项之一:
1
- 为每个工人分配一个独特的随机种子。种子的价值是工人ID。
2
-不要将随机种子分配给工人。
Vector-手动为每个辅助进程指定随机种子。向量中的元素数必须与辅助对象数匹配。
TransferBaseWorkspace变量
-将模型和工作空间变量发送给并行工作人员的选项“上”
(默认)|“关”
将模型和工作空间变量发送给并行工作程序的选项,指定为“上”
或“关”
. 当选项为“上”
,主机将模型中使用的变量和基础MATLAB工作区中定义的变量发送给工作人员。
附件文件
-附加到并行池的其他文件[]
(默认)| string | string array附加到并行池的附加文件,指定为字符串或字符串数组。
SetupFcn
- 在培训开始前运行的功能[]
(默认)|函数句柄在训练开始前运行的函数,指定为没有输入参数的函数的句柄。该函数在培训开始前对每个工人运行一次。编写这个函数来执行训练之前需要的任何处理。
Cleanupfcn.
- 培训结束后运行的功能[]
(默认)|函数句柄训练结束后运行的函数,指定为没有输入参数的函数的句柄。您可以编写此函数以在培训结束后清理工作区或执行其他处理。
冗长的
—在命令行上显示培训进度错误的
(0)(默认)|符合事实的
(1)在命令行上显示训练进度,指定为逻辑值错误的
(0)或符合事实的
(1). 着手符合事实的
在训练期间将每个训练集的信息写入MATLAB命令行。
StopOnError
—出现错误时停止培训的选项“上”
(默认)|“关”
选项停止训练时,错误发生在一集,指定为“上”
或“关”
.当这个选项是“关”
,错误被捕获并返回模拟信息
产量火车
,培训将继续进行到下一集。
绘图
—选择显示培训进度与插曲经理“训练进步”
(默认)|“没有”
使用事件管理器显示培训进度的选项,指定为“训练进步”
或“没有”
. 默认情况下,调用火车
打开Reinforcement Learning Episode Manager,它以图形化和数字化的方式显示关于训练进度的信息,例如每个章节的奖励、平均奖励、章节数量和总步骤数。(有关更多信息,请参见火车
)要关闭此显示,请将此选项设置为“没有”
.
火车 |
在特定环境中培训强化学习代理 |
创建一个用于培训钢筋学习代理的选项。设置剧集的最大数量和每集的最大步骤数为1000.配置当平均奖励等于或超过480时停止培训的选项,然后打开命令行显示和加强学习集管理管理器以显示培训结果.您可以在创建选项集时使用名称值对参数设置选项。您未明确设置的任何选项都具有其默认值。
培训选项=RL培训选项(...'maxepisodes', 1000,...“MaxStepsPerEpisode”, 1000,...“停止培训标准”,“平均向上”,...“停止训练值”,480,...'verbose',真的,...“情节”,“训练进步”)
trainOpts=rlTrainingOptions with properties:MaxSpices:1000 MaxStepRepisode:1000 Score AveragingWindowLength:5 StopTrainingCriteria:“AverageWard”StopTrainingValue:480 SaveAgentCriteria:“none”SaveAgentValue:“none”SaveAgentDirectory:“savedAgents”Verbose:1绘图:“培训进度”StopOner:“开”UseParallel:0并行化选项:[1x1 rl.option.ParallelTraining]
或者,创建一个默认选项集,并使用点符号更改某些值。
trainOpts = rlTrainingOptions;训练.maxepisodes = 1000;训练.maxstepperepisode = 1000;训练.StoptrainingCriteria =“平均向上”; trainOpts.StopTrainingValue=480;trainOpts.Verbose=true;火车路线图=“训练进步”;训练
trainOpts=rlTrainingOptions with properties:MaxSpices:1000 MaxStepRepisode:1000 Score AveragingWindowLength:5 StopTrainingCriteria:“AverageWard”StopTrainingValue:480 SaveAgentCriteria:“none”SaveAgentValue:“none”SaveAgentDirectory:“savedAgents”Verbose:1绘图:“培训进度”StopOner:“开”UseParallel:0并行化选项:[1x1 rl.option.ParallelTraining]
你现在可以使用训练
的输入参数火车
命令。
创建一个选项对象,用于在同一环境中同时培训三个代理。
将每集的最大集数和最大步数设置为1000
.配置选项以停止培训第一个代理,当其平均奖励超过5个剧集等于或超过400时,第二代理在其平均奖励时10
剧集等于或超过500,而第三次奖励超过15剧集等于或超过600.在环境创建期间使用的代理顺序是使用的。
当当前情节中第一个代理的奖励超过100时,或者当第二个代理的奖励超过120时,第三个代理的奖励等于或超过140时,保存代理。
打开命令行显示和强化学习事件管理器以显示培训结果。创建选项集时,可以使用名称-值对参数设置选项。任何未显式设置的选项都有其默认值。
培训选项=RL培训选项(...'maxepisodes', 1000,...“MaxStepsPerEpisode”, 1000,...“ScoreAveragingWindowLength”,[5 10 15],...“停止培训标准”,“平均向上”,...“停止训练值”(400 500 600),...“SaveAgentCriteria”,“EpisodeReward”,...“SaveAgentValue”,[100 120 140],...'verbose',真的,...“情节”,“训练进步”)
trainOpts = rlTrainingOptions属性:MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 ScoreAveragingWindowLength: [5 10 15] StopTrainingCriteria:“AverageReward”StopTrainingValue: [400 500 600] SaveAgentCriteria:“EpisodeReward”SaveAgentValue: [100 120 140] SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”StopOnError:"on" UseParallel: 0 parallelationoptions: [1x1 rl.option.ParallelTraining]
或者,创建一个默认选项集,并使用点符号更改某些值。
trainOpts = rlTrainingOptions;训练.maxepisodes = 1000;训练.maxstepperepisode = 1000;trainOpts。ScoreAveragingWindowLength = [5 10 15];训练.StoptrainingCriteria =“平均向上”;trainOpts。StopTrainingValue = [400 500 600];trainOpts。SaveAgentCriteria =“EpisodeReward”;trainOpts。SaveAgentValue = [100 120 140];trainOpts。冗长的= true; trainOpts.Plots =“训练进步”;训练
trainOpts = rlTrainingOptions属性:MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 ScoreAveragingWindowLength: [5 10 15] StopTrainingCriteria:“AverageReward”StopTrainingValue: [400 500 600] SaveAgentCriteria:“EpisodeReward”SaveAgentValue: [100 120 140] SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”StopOnError:"on" UseParallel: 0 parallelationoptions: [1x1 rl.option.ParallelTraining]
您可以指定一个标量,将相同的标准应用于所有代理。例如,使用的窗口长度为10
所有三个代理商。
trainOpts。ScoreAveragingWindowLength = 10
trainOpts=rlTrainingOptions with properties:MaxSections:1000 MaxStepRepisode:1000 Score AveragingWindowLength:10 StopTraining标准:“AverageWard”StopTraining值:[400 500 600]SaveAgentCriteria:“EpiodeReward”SaveAgentValue:[100 120 140]SaveAgentDirectory:“savedAgents”详细描述:1绘图:“培训进度”StopOner:“开”UseParallel:0并行化选项:[1x1 rl.option.ParallelTraining]
你现在可以使用训练
的输入参数火车
命令。
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。