主要内容

rlMultiAgentTrainingOptions

选择多个强化学习培训代理

自从R2022a

    描述

    使用一个rlMultiAgentTrainingOptions对象为多个代理指定培训选项。培训代理商,使用火车

    培训代理商的更多信息,请参阅强化学习培训代理

    创建

    描述

    trainOpts= rlMultiAgentTrainingOptions返回默认选项多个强化学习培训代理。使用训练训练选项来指定参数,如集训练的最大数量,停止标准培训,并保存标准代理。配置选项,后使用trainOpts作为一个输入参数火车

    例子

    trainOpts= rlMultiAgentTrainingOptions (名称,值)创建一个培训选项设置和设置对象属性使用一个或多个名称-值对参数。

    属性

    全部展开

    代理指标分组,指定为细胞的正整数数组或单元阵列的整数数组。

    例如,考虑一个训练的场景4代理。你可以在以下方面:集团代理

    • 分配每个代理在一个单独的组:

      trainOpts = rlMultiAgentTrainingOptions (“AgentGroups”、“汽车”)

    • 指定四剂组,每组一个代理:

      trainOpts = rlMultiAgentTrainingOptions (“AgentGroups”, {1, 2, 3, 4})
    • 指定两个代理组有两个代理:

      trainOpts = rlMultiAgentTrainingOptions (“AgentGroups”{[1、2], [3,4]})
    • 指定代理三个组:

      trainOpts = rlMultiAgentTrainingOptions (“AgentGroups”{[1,4], 2、3})

    AgentGroupsLearningStrategy必须一起使用指定代理组织学习在一个集中的方式或分散的方式。

    例子:AgentGroups = {1, 2, 3, 4]}

    学习策略对每个代理集团指定为“去中心化”“集中”。分散培训,代理收集自己的经验在情节和独立学习的经验。在集中培训、代理一起分享收集到的经验和从错误中学习。

    AgentGroupsLearningStrategy必须一起使用指定代理组织学习在一个集中的方式或分散的方式。例如,您可以使用以下命令来配置培训三个代理组用不同的学习策略。的代理指标[1,2]和[3,5]在一个集中的学习方式,而代理4以分散的方式学习。

    trainOpts = rlMultiAgentTrainingOptions (…AgentGroups = {[1, 2] 4 (3、5)},…LearningStrategy =[“集中式”、“分散”,“集中”))

    例子:LearningStrategy = "集中"

    最大数量的训练集代理、指定为一个正整数。无论终止的其他标准,培训后终止MaxEpisodes

    例子:MaxEpisodes = 1000

    最大数量的步骤运行每集指定为一个正整数。一般来说,您定义事件终止条件环境。这个值是步骤运行的最大数量的事件如果其他终止条件不满足。

    例子:MaxStepsPerEpisode = 1000

    窗口长度平均成绩、奖励和每个代理的一些步骤,指定为一个标量或矢量。

    指定一个标量应用相同的窗口长度对所有代理。为每个代理使用一个不同的窗口长度,指定ScoreAveragingWindowLength作为一个向量。在这种情况下,元素的顺序向量对应订单的代理期间使用环境的创建。

    选项表示平均而言,ScoreAveragingWindowLength是集的数量包括在平均水平。例如,如果StopTrainingCriteria“AverageReward”StopTrainingValue500年对于一个给定的代理之后,代理、培训结束时平均奖励中指定事件的数量ScoreAveragingWindowLength等于或超过500年。其他代理、培训持续进行直到:

    • 所有代理达到停止条件。

    • 集到的数量MaxEpisodes

    • 通过单击你停止训练停止训练按钮事件经理或紧迫ctrl - c在MATLAB®命令行。

    例子:ScoreAveragingWindowLength = 10

    训练终止条件,指定为以下字符串之一:

    • “AverageSteps”——停止训练运行时平均每集的步数等于或超过临界值指定的选项StopTrainingValue。使用窗口的平均计算“ScoreAveragingWindowLength”

    • “AverageReward”——停止训练时正在运行的平均回报等于或超过临界值。

    • “EpisodeReward”——停止训练时,奖励在当前事件等于或超过临界值。

    • “GlobalStepCount”——停止训练步骤在所有事件的总数(的总数乘以代理调用)等于或超过临界值。

    • “EpisodeCount”——停止训练当训练集的数量等于或超过临界值。

    例子:StopTrainingCriteria = " AverageReward "

    临界值的训练终止条件,指定为一个标量或矢量。

    指定一个标量相同的终止准则适用于所有代理。为每个代理,使用不同的终止准则指定StopTrainingValue作为一个向量。在这种情况下,元素的顺序向量对应订单的代理期间使用环境的创建。

    对于一个给定的代理、培训结束时,指定的终止条件StopTrainingCriteria选择等于或超过这个值。其他代理的培训持续进行直到:

    • 所有代理达到停止条件。

    • 集到的数量maxEpisodes

    • 通过单击你停止训练停止训练按钮事件经理或紧迫ctrl - c在MATLAB命令行。

    例如,如果StopTrainingCriteria“AverageReward”StopTrainingValueOne hundred.对于一个给定的代理,然后代理训练终止时平均奖励中指定事件的数量ScoreAveragingWindowLength等于或超过One hundred.

    例子:StopTrainingValue = 100

    条件保存代理培训期间,指定为以下字符串之一:

    • “没有”——不保存任何代理在训练。

    • “EpisodeReward”——保存剂当奖励在当前事件等于或超过临界值。

    • “AverageSteps”——保存代理运行时平均每集的步数等于或超过临界值指定的选项StopTrainingValue。使用窗口的平均计算“ScoreAveragingWindowLength”

    • “AverageReward”——保存代理运行时平均回报所有集等于或超过临界值。

    • “GlobalStepCount”——保存剂步骤在所有事件的总数(的总数乘以代理调用)等于或超过临界值。

    • “EpisodeCount”——保存剂当训练集的数量等于或超过临界值。

    设置这个选项来存储候选代理人根据您所指定的标准,表现良好。当你设定这个选项以外的一个值“没有”,软件设置SaveAgentValue选择500。你可以改变这个值指定条件保存剂。

    例如,假设你想等待进一步测试的任何代理收益率一集奖励,等于或超过100年。为此,集SaveAgentCriteria“EpisodeReward”并设置SaveAgentValue选择100。当一集奖励等于或超过100年,火车在垫文件保存相应的代理在指定的文件夹中SaveAgentDirectory选择。垫文件AgentK.mat,在那里K的数量相应的事件。代理是垫文件存储在saved_agent

    例子:SaveAgentCriteria = " EpisodeReward "

    临界值的条件保存代理、指定为一个标量或矢量。

    指定一个标量应用相同的储蓄标准每个代理。保存剂,当一个人满足一个特定的标准,指定SaveAgentValue作为一个向量。在这种情况下,元素的顺序向量对应订单的创建环境时使用的代理。保存标准代理时,所有代理都保存在相同的垫文件。

    当你指定一个条件保存候选人代理使用SaveAgentCriteria,软件将这个值设置为500。改变指定条件的值保存剂。看到SaveAgentCriteria选择更多的细节。

    例子:SaveAgentValue = 100

    文件夹保存代理、指定为字符串或字符向量。文件夹可以包含一个完整或相对路径名称。当一个事件发生,满足指定的条件SaveAgentCriteriaSaveAgentValue选项,保存的软件代理在垫文件在这个文件夹中。如果该文件夹不存在,火车创建它。当SaveAgentCriteria“没有”,此选项将被忽略火车不创建一个文件夹。

    例子:SaveAgentDirectory = pwd +“\ run1 \代理”

    选择停止训练当一个错误发生在一集,指定为“上”“关闭”。当这个选项“关闭”、错误捕获和返回的SimulationInfo的输出火车和培训继续下一集。

    例子:StopOnError =“关闭”

    在命令行选项来显示培训进展,指定为逻辑值(0)或真正的(1)。设置为真正的写的信息从每个训练集训练期间MATLAB命令行。

    例子:Verbose = true

    选项来显示与事件经理培训进展,指定为“训练进步”“没有”。默认情况下,调用火车打开了强化学习集管理器,它以图形和数字显示培训进展的信息,如每集的奖励,平均回报,集,数量和总数量的步骤。(有关更多信息,请参见火车)。关掉这显示,设置这个选项“没有”

    例子:情节= "没有"

    对象的功能

    火车 强化学习培训代理在指定的环境中

    例子

    全部折叠

    创建一个选项设置培训5强化学习代理。设置事件的最大数量和步骤每集的最大数量为1000。配置选项停止训练时的平均回报等于或超过480年,打开命令行显示和强化学习集经理显示培训结果。您可以使用名称-值对参数设置选项当您创建选项集。任何选项,你不显式地设置默认值。

    trainOpts = rlMultiAgentTrainingOptions (AgentGroups = {[1, 2] 3 (4、5)},LearningStrategy = [“集中”,“去中心化”,“集中”),MaxEpisodes = 1000,MaxStepsPerEpisode = 1000,StopTrainingCriteria =“AverageReward”,StopTrainingValue = 480,Verbose = true,情节=“训练进步”)
    trainOpts = rlMultiAgentTrainingOptions属性:AgentGroups: {[1 - 2] [3] [4 - 5]} LearningStrategy:[“集中式”“分散”“集中式”]MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 StopOnError:”“ScoreAveragingWindowLength: 5 StopTrainingCriteria:“AverageReward”StopTrainingValue: 480 SaveAgentCriteria:“没有一个”SaveAgentValue:“没有一个”SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”

    另外,创建一个默认的选项设置和使用点符号改变的一些值。

    trainOpts = rlMultiAgentTrainingOptions;trainOpts。AgentGroups = {[1, 2] 3 (4、5)};trainOpts。LearningStrategy = [“集中”,“去中心化”,“集中”];trainOpts。MaxEpisodes = 1000;trainOpts。MaxStepsPerEpisode = 1000;trainOpts。StopTrainingCriteria =“AverageReward”;trainOpts。StopTrainingValue = 480;trainOpts。详细的= true; trainOpts.Plots =“训练进步”;trainOpts
    trainOpts = rlMultiAgentTrainingOptions属性:AgentGroups: {[1 - 2] [3] [4 - 5]} LearningStrategy:[“集中式”“分散”“集中式”]MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 StopOnError:”“ScoreAveragingWindowLength: 5 StopTrainingCriteria:“AverageReward”StopTrainingValue: 480 SaveAgentCriteria:“没有一个”SaveAgentValue:“没有一个”SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”

    您现在可以使用trainOpts作为输入参数火车命令。

    创建一个选项对象同时培训三个特工在相同的环境中。

    设置的最大数量集,每集最大的步骤1000年。配置选项停止训练第一剂平均回报5集等于或超过400年它的平均回报时,第二个代理10集等于或超过500年当它的平均回报,第三15集等于或超过600年。代理的顺序是在创造环境。

    保存代理当奖励第一个代理在当前事件超过One hundred.的奖励,或者当第二代理超过120年第三,奖励代理等于或超过140年

    打开命令行显示和强化学习集经理显示培训结果。您可以使用名称-值对参数设置选项当您创建选项集。任何选项,你不显式地设置默认值。

    trainOpts = rlMultiAgentTrainingOptions (MaxEpisodes = 1000,MaxStepsPerEpisode = 1000,ScoreAveragingWindowLength = (5 10 15),StopTrainingCriteria =“AverageReward”,StopTrainingValue = (400 500 600),SaveAgentCriteria =“EpisodeReward”,SaveAgentValue = (100 120 140),Verbose = true,情节=“训练进步”)
    trainOpts = rlMultiAgentTrainingOptions属性:AgentGroups:“汽车”LearningStrategy:“分散”MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 StopOnError:”“ScoreAveragingWindowLength: [5 10 15] StopTrainingCriteria:“AverageReward”StopTrainingValue: [400 500 600] SaveAgentCriteria:“EpisodeReward”SaveAgentValue: [100 120 140] SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”

    另外,创建一个默认的选项设置和使用点符号改变的一些值。

    trainOpts = rlMultiAgentTrainingOptions;trainOpts。MaxEpisodes = 1000;trainOpts。MaxStepsPerEpisode = 1000;trainOpts。ScoreAveragingWindowLength = (5 10 15);trainOpts。StopTrainingCriteria =“AverageReward”;trainOpts。StopTrainingValue = (400 500 600);trainOpts。SaveAgentCriteria =“EpisodeReward”;trainOpts。SaveAgentValue = (100 120 140);trainOpts。详细的= true; trainOpts.Plots =“训练进步”;trainOpts
    trainOpts = rlMultiAgentTrainingOptions属性:AgentGroups:“汽车”LearningStrategy:“分散”MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 StopOnError:”“ScoreAveragingWindowLength: [5 10 15] StopTrainingCriteria:“AverageReward”StopTrainingValue: [400 500 600] SaveAgentCriteria:“EpisodeReward”SaveAgentValue: [100 120 140] SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”

    您可以指定一个标量相同的标准适用于所有代理。例如,使用一个窗口的长度10为所有三个代理。

    trainOpts。ScoreAveragingWindowLength = 10
    trainOpts = rlMultiAgentTrainingOptions属性:AgentGroups:“汽车”LearningStrategy:“分散”MaxEpisodes: 1000 MaxStepsPerEpisode: 1000 StopOnError:”“ScoreAveragingWindowLength: 10 StopTrainingCriteria:“AverageReward”StopTrainingValue: [400 500 600] SaveAgentCriteria:“EpisodeReward”SaveAgentValue: [100 120 140] SaveAgentDirectory:“savedAgents”详细:1块:“训练进步”

    您现在可以使用trainOpts作为输入参数火车命令。

    版本历史

    介绍了R2022a

    另请参阅

    功能

    对象