训练强化学习代理的选项
MaxEpisodes
- - - - - -训练特工的最大次数500
(默认)|正整数训练代理的最大剧集数,指定为正整数。无论其他终止标准如何,培训在结束后终止MaxEpisodes
.
例子:“MaxEpisodes”,1000年
MaxStepsPerEpisode
- - - - - -每集要运行的最大步骤数500
(默认)|正整数每集要运行的最大步骤数,指定为正整数。通常,您可以在环境中定义集终止条件。如果不满足其他终止条件,此值是该集要运行的最大步骤数。
例子:“MaxStepsPerEpisode”,1000年
ScoreAveragingWindowLength
- - - - - -平均窗长5
(默认)|正整数标量|正整数向量平均每个代理的分数、奖励和步骤数的窗口长度,指定为标量或向量。
如果培训环境包含单个代理,请指定ScoreAveragingWindowLength
作为一个标量。
如果培训环境是多智能体Simulink金宝app®环境中,指定标量以将相同的窗口长度应用于所有代理。
若要为每个代理使用不同的窗口长度,请指定ScoreAveragingWindowLength
作为向量。在这种情况下,向量中元素的顺序对应于环境创建期间使用的代理的顺序。
对于以平均值表示的期权,ScoreAveragingWindowLength
是包含在平均值中的剧集数量。例如,如果StopTrainingCriteria
是“AverageReward”
,StopTrainingValue
是500
对于一个给定的代理,那么对于那个代理,当平均奖励超过了在ScoreAveragingWindowLength
等于或超过500
.对于其他代理人,培训将持续到:
所有特工都达到了停止标准。
剧集的数量达到MaxEpisodes
.
你可以通过点击停止训练按钮或按下ctrl - c在MATLAB®命令行。
例子:“ScoreAveragingWindowLength”,10
StopTrainingCriteria
- - - - - -训练终止条件“平均步数”
(默认)|“AverageReward”
|“情节计数”
|……训练终止条件,指定为以下字符串之一:
“平均步数”
-当每集跑步的平均步数等于或超过选项指定的临界值时停止训练StopTrainingValue
.平均值使用窗口计算“ScoreAveragingWindowLength”
.
“AverageReward”
-当跑步平均奖励等于或超过临界值时停止训练。
“EpisodeReward”
-当当前章节的奖励等于或超过临界值时,停止训练。
“GlobalStepCount”
—当所有剧集的总步数(调用代理的总次数)等于或超过临界值时停止训练。
“情节计数”
—当训练集数达到或超过临界值时,停止训练。
例子:“StopTrainingCriteria”、“AverageReward”
StopTrainingValue
- - - - - -训练终止条件的临界值500
(默认)|标量|向量训练终止条件的临界值,指定为标量或向量。
如果培训环境包含单个代理,请指定StopTrainingValue
作为一个标量。
如果培训环境是多agent Simulink环境,请指定一个标量以将相同的终止条件应用于所金宝app有agent。要为每个代理使用不同的终止标准,请指定StopTrainingValue
作为一个向量。在本例中,向量中元素的顺序与环境创建期间使用的代理的顺序相对应。
对于给定的agent,当指定的终止条件达到时,训练结束StopTrainingCriteria
选项等于或超过此值。对于其他代理人,培训将持续到:
所有特工都达到了停止标准。
剧集的数量达到maxEpisodes
.
你可以通过点击停止训练按钮或按下ctrl - c在MATLAB命令行。
例如,如果StopTrainingCriteria
是“AverageReward”
,StopTrainingValue
是One hundred.
对于一个给定的代理,那么对于那个代理,当平均奖励超过了在ScoreAveragingWindowLength
等于或超过One hundred.
.
例子:“StopTrainingValue”,100年
SaveAgentCriteria
- - - - - -训练期间拯救特工的条件“没有”
(默认)|“EpisodeReward”
|“AverageReward”
|“情节计数”
|……培训期间保存代理的条件,指定为以下字符串之一:
“没有”
-不要在训练中拯救任何特工。
“EpisodeReward”
-当当前章节中的奖励等于或超过临界值时,保存代理。
“平均步数”
—当每集运行的平均步数等于或超过选项指定的临界值时,保存代理StopTrainingValue
.平均值使用窗口计算“ScoreAveragingWindowLength”
.
“AverageReward”
-当所有章节的平均奖励等于或超过临界值时,保存代理。
“GlobalStepCount”
—当所有剧集中的总步骤数(调用代理的总次数)等于或超过临界值时,保存代理。
“情节计数”
—当训练集数等于或超过临界值时,保存agent。
设置此选项以存储根据指定的标准执行良好的候选代理。当您将此选项设置为非“没有”
,软件设置SaveAgentValue
选择500。您可以更改该值以指定保存代理的条件。
例如,假设您希望存储任何生成集奖励等于或超过100的代理,以供进一步测试。为此,设置SaveAgentCriteria
来“EpisodeReward”
并设置SaveAgentValue
选择100。当一集奖励等于或超过100时,火车
将相应的代理保存在由指定的文件夹中的MAT文件中SaveAgentDirectory
选择。MAT文件被调用AgentK.mat
哪里K
为对应插曲的个数。代理存储在MAT文件中为saved_agent
.
例子:“SaveAgentCriteria”和“EpiosodeReward”
SaveAgentValue
- - - - - -救生药剂条件的临界值“没有”
(默认)|500|标量|向量保存代理的条件的临界值,指定为标量或向量。
如果培训环境包含单个代理,请指定SaveAgentValue
作为一个标量。
如果培训环境是多agent Simulink环境,请指定一个标量,以便对每个agent应用金宝app相同的保存标准。要在满足特定条件时保存代理,请指定SaveAgentValue
作为一个向量。在本例中,向量中元素的顺序与创建环境时使用的代理的顺序相对应。当满足保存代理的条件时,所有代理将保存在同一个MAT文件中。
当您指定保存候选代理的条件时SaveAgentCriteria
时,软件将此值设置为500。更改该值以指定保存代理的条件。看到SaveAgentCriteria
选择了解更多细节。
例子:“SaveAgentValue”,100年
SaveAgentDirectory
- - - - - -保存的代理程序文件夹“savedAgents”
(默认)|字符串|特征向量已保存代理的文件夹,指定为字符串或字符向量。文件夹名称可以包含完整路径或相对路径。当事件发生时,满足SaveAgentCriteria
和SaveAgentValue
选项,软件将代理保存在此文件夹中的MAT文件中。如果文件夹不存在,火车
创造它。什么时候SaveAgentCriteria
是“没有”
,此选项将被忽略,并且火车
不创建文件夹。
例子:“SaveAgentDirectory”,pwd+“\run1\Agents”
UseParallel
- - - - - -使用平行训练的标志假
(默认)|真正的
使用平行训练的标志,指定为逻辑
. 将此选项设置为真正的
将培训配置为使用并行处理来模拟环境,从而允许使用多核、处理器、计算机集群或云资源来加速培训。要指定并行训练的选项,请使用ParallelizationOptions
财产。
什么时候UseParallel
是真正的
对DQN、DDPG、TD3和SAC则为NumStepsToLookAhead
属性或相应的代理选项对象必须设置为1
,否则会产生错误。这保证了体验是连续存储的。当AC代理并行训练时,如果STEPSUNTILDATISSENT
财产的ParallelizationOptions
对象设置为与NumStepToLookAhead
属性。
注意,如果你想使用本地GPU加速深度神经网络计算(如梯度计算、参数更新和预测),你不需要设置UseParallel
为true。相反,在创造你的演员或评论家形象时,使用rlRepresentationOptions
对象,其中使用设备
选项设置为“图形”
. 使用并行计算或GPU需要并行计算工具箱™ 软件使用计算机群集或云资源还需要MATLAB并行服务器™.有关使用多核处理器和gpu进行培训的更多信息,请参见使用并行计算和gpu的列车代理.
例子:“UseParallel”,真的
ParallelizationOptions
- - - - - -控制平行培训的选项平行训练
对象控制并行训练的并行化选项,指定为平行训练
对象。有关使用并行计算进行培训的更多信息,请参见训练强化学习代理.
的平行训练
对象具有以下属性,您可以在创建rlTrainingOptions
对象。
模式
-并行计算模式“同步”
(默认)|“异步”
并行计算模式,指定为以下方式之一:
“同步”
-使用parpool
对可用的工作人员进行同步培训。在这种情况下,workers暂停执行,直到所有workers完成。主机根据所有worker的结果更新actor和critic参数,并将更新后的参数发送给所有worker。注意,同步训练对于基于梯度的并行化是必需的DataToSendFromWorkers
设置为“梯度”
然后模式
必须设置为“同步”
.
“异步”
-使用parpool
对可用的工作人员进行异步培训。在这种情况下,工作人员一旦完成并从主机接收到更新的参数,就将数据发送回主机。然后工人们继续他们的工作。
DataToSendFromWorkers
-工作人员发送到主机的数据类型“经验”
(默认)|“梯度”
工作人员发送给主机的数据类型,指定为以下字符串之一:
“经验”
—模拟由工作者执行,学习由主机执行。具体来说,工作人员根据环境模拟代理,并将体验数据(观察、动作、奖励、下一次观察和指示是否达到终端条件的标志)发送给主机。对于具有梯度的代理,主机根据经验计算梯度,更新网络参数,并将更新后的参数发送给工作人员,使他们能够针对环境执行新的模拟。
“梯度”
-模拟和学习都由工作人员执行。具体来说,工作人员根据环境模拟agent,根据经验计算梯度,并将梯度发送给主机。主机对梯度进行平均,更新网络参数,并将更新后的参数发送回工作人员,以便他们可以执行n对抗环境的电子战模拟。此选项需要同步训练,即模式
设置为“同步”
.
请注意
对于AC和PG代理,必须指定DataToSendFromWorkers
作为“梯度”
.
对于DQN、DDPG、PPO、TD3和SAC代理,必须指定DataToSendFromWorkers
作为“经验”
.
STEPSUNTILDATISSENT
—工作者向主机发送数据的步长1
(默认)|正整数工作人员向主机发送数据并接收更新参数的步骤数,指定为1
或者一个正整数。当这个选项是1
, worker会一直等到剧集结束,然后将所有步骤数据发送给主机。否则,worker在发送数据之前等待指定的步骤数。
请注意
AC代理不接受StepsUntilDataIsSent = 1
.AC训练,设置STEPSUNTILDATISSENT
等于NumStepToLookAhead
AC剂的选择。
对于PG代理,必须指定StepsUntilDataIsSent = 1
.
WorkerRandomSeeds
-随机化初始化工人1
(默认)|2
|向量随机化器初始化工人,指定为以下之一:
1
-给每个工人分配一个唯一的随机种子。种子的值是worker ID。
2
不要随机分配种子给工人。
向量-手动指定每个工人的随机种子。vector中的元素数量必须与worker的数量匹配。
TransferBaseWorkspaceVariables
-选择发送模型和工作空间变量并行工作者“上”
(默认)|“关闭”
选项将模型和工作区变量发送给并行工作人员,指定为“上”
或“关闭”
.当选择是“上”
,主机将模型中使用的变量和MATLAB基本工作空间中定义的变量发送给工作人员。
AttachedFiles
-附加到并行池的附加文件[]
(默认)| string | string array附加到并行池的附加文件,指定为字符串或字符串数组。
SetupFcn
-在培训开始前运行的函数[]
(默认)|函数句柄在训练开始前运行的函数,指定为没有输入参数的函数的句柄。该函数在培训开始前对每个工人运行一次。编写这个函数来执行训练之前需要的任何处理。
清理
-训练结束后运行的函数[]
(默认)|函数句柄在训练结束后运行的函数,指定为没有输入参数的函数的句柄。您可以编写此函数来清理工作空间或在培训结束后执行其他处理。
详细的
- - - - - -在命令行中显示训练进度假
(0)(默认)|真正的
(1)在命令行上显示训练进度,指定为逻辑值假
(0)或真正的
(1)设置真正的
在训练期间将每个训练集的信息写入MATLAB命令行。
StopOnError
- - - - - -选择停止训练时,错误发生“上”
(默认)|“关闭”
选项停止训练时,错误发生在一集,指定为“上”
或“关闭”
.当这个选项是“关闭”
,将捕获错误并在中返回SimulationInfo
的输出火车
,培训将继续进行到下一集。
阴谋
- - - - - -选择显示培训进度与插曲经理“训练进步”
(默认)|“没有”
使用章节管理器显示培训进度选项,指定为“训练进步”
或“没有”
.默认情况下,调用火车
打开Reinforcement Learning Episode Manager,它以图形化和数字化的方式显示关于训练进度的信息,例如每个章节的奖励、平均奖励、章节数量和总步骤数。(有关更多信息,请参见火车
)。要关闭此显示,请将此选项设置为“没有”
.
火车 |
在指定的环境中训练强化学习代理 |
创建用于培训强化学习代理的选项集。将每集的最大事件数和最大步骤数设置为1000。配置选项以在平均奖励等于或超过480时停止培训,并打开命令行显示和强化学习事件管理器以显示培训结果。创建选项集时,可以使用名称-值对参数设置选项。未显式设置的任何选项都有其默认值。
trainOpts = rlTrainingOptions (...“最大集”, 1000,...“MaxStepsPerEpisode”, 1000,...“StopTrainingCriteria”,“AverageReward”,...“StopTrainingValue”,480,...“冗长”,真的,...“阴谋”,“训练进步”)
trainOpts = rlTrainingOptions属性:MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 ScoreAveragingWindowLength: 5 StopTrainingCriteria:“AverageReward”StopTrainingValue: 480 SaveAgentCriteria:“没有一个”SaveAgentValue:“没有”SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”StopOnError:”“UseParallel:0 parallelelizationoptions: [1x1 rl.option.ParallelTraining]
或者,创建一个默认选项集,并使用点符号来更改一些值。
trainOpts = rlTrainingOptions;trainOpts。MaxEpisodes = 1000;trainOpts。MaxStepsPerEpisode = 1000;trainOpts。StopTrainingCriteria =“AverageReward”; 列车.StopTrainingValue = 480;trainOpts。详细的= true; trainOpts.Plots =“训练进步”; 列车
trainOpts = rlTrainingOptions属性:MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 ScoreAveragingWindowLength: 5 StopTrainingCriteria:“AverageReward”StopTrainingValue: 480 SaveAgentCriteria:“没有一个”SaveAgentValue:“没有”SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”StopOnError:”“UseParallel:0 parallelelizationoptions: [1x1 rl.option.ParallelTraining]
您现在可以使用列车
的输入参数火车
命令。
创建一个options对象,以便在同一环境中同时训练三个代理。
设置每集的最大集数和最大步数1000
. 配置选项,当第一个代理的平均奖励超过5集等于或超过400时停止培训,当第二个代理的平均奖励超过400时停止培训10
每集等于或超过500集,第三集平均奖励超过15集等于或超过600集。代理的顺序是在创建环境期间使用的顺序。
当当前章节中第一个代理的奖励超过100时,或者当第二个代理的奖励超过120时,第三个代理的奖励等于或超过140时,保存代理。
打开命令行显示和Reinforcement Learning Episode Manager以显示训练结果。在创建选项集时,可以使用名称-值对参数设置选项。没有显式设置的任何选项都有其默认值。
trainOpts = rlTrainingOptions (...“最大集”, 1000,...“MaxStepsPerEpisode”, 1000,...“ScoreAveragingWindowLength”(5 10 15),...“StopTrainingCriteria”,“AverageReward”,...“StopTrainingValue”(400 500 600),...“SaveAgentCriteria”,“EpisodeReward”,...“SaveAgentValue”,[100 120 140],...“冗长”,真的,...“阴谋”,“训练进步”)
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;trainOpts。MaxEpisodes = 1000;trainOpts。MaxStepsPerEpisode = 1000;trainOpts。ScoreAveragingWindowLength = [5 10 15];trainOpts。StopTrainingCriteria =“AverageReward”; 列车.StopTrainingValue = [400 500 600];trainOpts。SaveAgentCriteria =“EpisodeReward”; 列车.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属性:MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 ScoreAveragingWindowLength: 10 StopTrainingCriteria:“AverageReward”StopTrainingValue: [400 500 600] SaveAgentCriteria:“EpisodeReward”SaveAgentValue: [100 120 140] SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”StopOnError:"on" UseParallel: 0 parallelationoptions: [1x1 rl.option.ParallelTraining]
您现在可以使用列车
的输入参数火车
命令。
Hai fatto clic su un collegamento che Corrido向comando MATLAB提出了一个问题:
Esegui il comando inserendolo nella finestra di comando MATLAB。我浏览器web非supportano金宝app I命令MATLAB。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。