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