在特定环境中培训强化学习代理
使用默认训练选项在指定的环境中训练一个或多个强化学习代理。虽然trainStats
=火车(env
,代理
)代理
是一个输入参数,在每次训练结束后,火车
更新中指定的每个代理的参数代理
使他们从环境中获得的长期回报最大化。培训结束时,代理
在最终培训集结束时反映每个代理人的状态。
执行与前面语法相同的训练。trainStats
=火车(代理
,env
)
火车
在培训过程中更新代理。要保留原始代理参数以供以后使用,请将代理保存到MAT文件中。
默认情况下,调用火车
打开钢筋学习剧集管理器,允许您可视化培训的进度。Episode Manager Plot显示每个剧集,运行平均奖励价值和批评估计的奖励Q0(针对有批评者的代理商)。章节管理器还显示各种章节和培训统计数据。要关闭强化学习集管理器,请设置情节
选择trainOpts
到“没有”
.
如果您使用一个预定义的环境,其中有一个可视化,您可以使用情节(env)
使环境形象化。如果你叫情节(env)
在训练前,然后在训练中可视化更新,让你可视化每一集的进展。(对于自定义环境,您必须实现自己的环境情节
方法。)
培训在下列条件下终止:trainOpts
满意。要终止正在进行的培训,请在加强学习集团管理器中,单击停止训练.因为火车
在每集更新代理,您可以通过拨打火车(代理,env, trainOpts)
同样,在不丢失第一次调用时学到的训练参数的情况下火车
.
在培训期间,您可以保存满足指定条件的候选代理trainOpts
.例如,即使尚未满足终止培训的整体条件,您还可以保存剧集奖励超出某个值的任何代理。火车
在指定的文件夹中的mat -文件中存储已保存的代理trainOpts
。保存的代理可能很有用,例如,允许您测试在长时间运行的培训过程中生成的候选代理。有关保存条件和保存位置的详细信息,请参阅rlTrainingOptions
.
一般来说,火车
执行以下迭代步骤:
初始化代理人
.
每集:
重置环境。
获得初始观察s0从环境中。
计算初始动作A.0=μ(s0).
将当前操作设置为初始操作(A.←A.0)并将当前观察设置为初始观察(s←s0).
本集尚未结束或终止:
使用动作步骤环境A.以获得下一个观察s“至于报酬呢?R.
从经验中学习(s,A.,R,s”)。
计算下一个动作A.'=μ(s”)。
使用下一个操作更新当前操作(A.←A.'),并将当前的观测值更新为下一个观测值(s←s”)。
如果满足环境中定义的集终止条件,则中断。
如果培训终止条件由trainOpts
满足条件,终止培训。否则,就开始下一集。
具体如何火车
执行这些计算取决于您的代理和环境的配置。例如,如果配置环境,则重置每个剧集开始时的环境可以包括随机化初始状态值。