文章目录
- 1. 简介
- 2. 实验分析
- 超参数
- 网络架构
- Reward Scale
- Random Seeds and Trails
- Environment
- Codebases
- 3. Reporting Evaluation Metrics
- Online view vs. Policy Optimization
- Confidence Bounds
- Power Analysis
- Significance
- 4. 结论
- 5. 参考资料
1. 简介
这篇2017年的论文 是强化学习领域的经典论文,也被称为劝退文,在自己的强化学习试验中也有很多困惑,就想把这篇论文读一读。
论文摘要翻译:近年来,深度强化学习 (RL) 在解决各个领域的挑战性问题方面取得了重大进展。复现现有工作并准确判断新方法提供的改进对于维持这一进展至关重要。不幸的是,复现最先进的深度 RL 方法的结果不太直接。特别是,标准基准环境中的不确定性和方法本身固有的方差,会使报告的结果难以解释。如果没有显着性指标和更严格的实验报告标准化,很难确定对之前SOTA的改进是否有意义。在本文中,我们研究了可复现性、适当的实验技术和报告程序所带来的挑战。我们说明了与公共基线比较时报告指标和结果的可变性,并给出使深度 RL 的未来结果更具可复现性的指南。通过最大限度地减少因不可重复且容易被误解的结果而造成的浪费精力,希望我们能够推动讨论如何确保领域的持续进展。
为了清晰起见,论文将实验聚焦在策略梯度(policy gradient, PG)方法的连续控制上。
论文比较了几种无模型的PG算法:
- TRPO (Trust Region Policy Optimization)
- DDPG (Deep Deterministic Policy Gradients)
- PPO (Deep Deterministic Policy Gradient)
- ACKTR (Actor Critic using Kronecker-Factored Trust Region)
2. 实验分析
作者们对影响SOTA RL方法复现性的因素提出了几个问题,并针对这些问题做了一系列的实验。为了保证公平性每个评估都使用不同的随机种子的做了五次试验(种子集对于所有的试验是一样的)
超参数
Q:超参数设置对基线性能的影响有多大?
调优后的超参数在许多算法获得最佳结果方面发挥着重要作用,但是相关文献中最佳超参数配置的选择往往不一样,选择的值范围也没有报道。而不良的超参数选择不利于与基线算法的公平比较。
网络架构
Q:对策略函数和价值函数的网络架构的选择如何影响性能?
-
比较了文献中常用的三种网络架构:(64,64), (100, 50,25), (400, 300)。三种激活函数:tanh、ReLU、Leaky Relu。
-
实验结果表明激活函数的调整对于结果的影响很大,并且在不同的算法和环境中的效果不一致。
-
这种不一致表明了网络架构与算法方法之间的相互关联性。 例如,使用带有 PPO 的大型网络可能需要调整其他超参数,例如信任区域裁剪或学习率以补偿架构变化。
Reward Scale
Q: reward scale 如何影响结果?为什么reward rescaling 被使用?
- reward scale是指对环境给出的奖励成一个系数,使奖励变成 r ^ = r σ ^ \hat{r} = r \hat{\sigma} r^=rσ^
- 在基于梯度的方法中,大且稀疏的输出规模可能会导致学习饱和和效率低下的问题,因为在基于动作价值函数的方法如DDPG中, clipping 或 rescaling rewards 可以压缩估计期望回报的空间。
- reward rescaling也对结果有很大的影响,但是对不同的环境和scaling value是不一致的.
- layer normalization对reward rescaling的效果有影响
Random Seeds and Trails
Q:随机种子对性能影响很大吗?可以通过平均适合次数的试验来得到结果吗?
-
进行10次试验,这10次试验只有随机种子不同,然后将它们分成2个组,再平均两个组的结果,如下图。算法的结果是很不一样的。
-
仅改变随机种子,每一次运行的方差就可以创建明显不同的分布了
Environment
Q:环境特性如何影响RL算法的性能呢?
-
使用的环境是OpenAI Gym中的Hopper-v1, HalfCheetah-v1, Swimmer-v1 and Walker2d-v1
-
算法在不同的环境中的表现是不一样的,在所有环境中都表现最好的算法是不明确的。
-
在下图中,DDPG算法在稳定的环境的表现中最好,但是在不稳定的环境中性能急剧下降。
-
从TRPO在Swimmer-v1环境中陷入局部最优的例子,说明不仅要展示回报,还要展示所学策略的实际动作。入股不了解评估结果表明的内容,则可能会报告误导性结果,这些结果实际上只是优化局部最优,而不是期望的行为。
Codebases
Q: 常用的baseline实现是可比较的吗?
- 不同实现的差异对性能有明显的影响,在前面图片里的表格1和表格2以及下面的图片中可以看出。
3. Reporting Evaluation Metrics
实践中,一般RL 算法的评估是通过展示平均累积奖励(平均回报)的图片或表格。也会通过在固定时间步内的最大奖励来评估。
因为算法的不稳定性,使用最大回报来评估显然对于公平的比较来说是不够的。因为随机种子和试验次数未知,比较平均回报也可能是有误导的。而与置信区间结合时,在足够多的试验中,可能可以做出明智的决定,所以作者们研究了机器学习中的boostraping 和显著性试验来评估算法性能。
Online view vs. Policy Optimization
- 在RL的online view 中,agent会在整个学习过程中优化回报,不必等到一个轨迹的结束。在这个视角下,评估可以使用整个学习过程中的平均累积奖励。
- 在policy optimization中,在整个任务轨迹的长度中使用单个目标策略来决定该目标可以获得的平均回报。
论文使用policy optimization,但是方法对于online view也适用
Confidence Bounds
- 一个bootstrap 估计器是通过有放回的多次采样来产生统计相关的均值和置信区间
- 下面图片中的表格3展示了boostrap均值和95%置信区间
- 发现TRPO和PPO在小的置信区间最稳定的。
- 如果置信区间非常大,进行更多的实验次数可能是有必要的(增加样本)
Power Analysis
- power analysis 是决定是否需要更多样本的一种方法
- 试验的结果说明在不稳定的实验中,需要更多的样本,而在小样本的稳定试验中,确实不需要更多的样本。
Significance
- 在监督学习中,在比较机器学习结果时,会讨论k-fold t-test, corrected resampled t-test等,但是一些假设可能在强化学习中不满足。
- 论文中还是考虑了一些指标:the simple 2-sample t-test、 the Kolmogorov-Smirnov test 、 bootstrap percent differences with 95% confidence intervals。实验结果是符合作者预期的。
4. 结论
Q:从论文实验有什么建议呢?
- 超参数,通过标准的超参数搜索找到至少与基线算法的性能相匹配的参数很重要
- 用于比较的新基线算法实现应该与原始代码库结果相匹配
- 使用不同的随机种子进行多次试验
- 进行适当的显著性试验以确定较高的平均回报是否实际上代表更好的性能很重要
- 进行可复现试验最重要的步骤是报告比较的基线方法和新方法的所有超参数、实现细节、实验设置和评估方法。
5. 参考资料
- Henderson, Peter, Riashat Islam, Philip Bachman, Joelle Pineau, Doina Precup, and David Meger. 2022. “Deep Reinforcement Learning That Matters.” Proceedings of the AAAI Conference on Artificial Intelligence, June. doi:10.1609/aaai.v32i1.11694.
- 论文代码
- https://www.jiqizhixin.com/articles/2017-09-22-3