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