通常来说,Offline RL 算法刚训练完,我们还需要对多组超参多组随机种子得到的模型进行初步(离线)评估,选出我们认为最可靠的模型,并且认为该模型的性能会好于生成离线数据的策略,方可在线上部署,得到真实的策略性能。在严格的 Offline RL 的设置下,实际部署的次数是很有限的,因此,使用真实环境来选超参或模型,是不可行的,也一定程度上违背了 Offline RL 任务的初衷。
通常,对训练好的模型,可以使用 Offline Policy Evaluation 的方法,这类方法主要基于 Off-Policy Evaluation,例如:(1)基于重新加权的方法——重要性采样(Importance Sampling,IS)及其变体改进算法(2)直接方法(Direct Method,DM),例如 Fitted Q Iteration/Evaluation(3)基于模型的方法(Model-Based),即先学一个环境模型,再在学到的环境中,使用策略进行交互,查看 rollout 生成的轨迹数据并根据生成的轨迹进行评估。
如果使用的是基于模型的 Offline RL 算法,还可以更进一步,使用双环境验证,即在一开始训练时,将数据分为两份A 和 B,在两份数据集上都做 Offline RL 算法的训练,会得到环境模型 A 和环境模型 B,然后会分别在环境模型 A 和 B 里训练策略 A 和策略 B,训练时每隔一定间隔,将训练的最新的策略 A 和 B,分别放到环境 B 和 A 里进行交叉验证,即生成一批轨迹并查看其累积收益,与对应环境下正在训练的策略进行对比,如果在两个环境上交叉验证的结果是一致的,并且超过数据集上行为策略的性能,则认为该策略可用,然后再从训练得到的可用策略中,选出最好的策略。
另外,由于训练到后期的模型往往不是最好的(类比监督学习任务里的过拟合),针对某些特定的 Offline RL 算法,可以使用训练过程中的指标进行监控,因此,更准确地说,不只是在训练完成后,评估模型的好坏,而是在训练过程中,就根据训练过程中的损失和其他的指标来选择模型,例如,对 CQL (Conservative Q-Learning)算法,可以监控训练过程中 Conservative Q 函数的损失,并根据学到的 Q 函数对策略进行评估,选择 Q 函数损失小且Q值评估高的策略。