我目前正在尝试从您以前的论文中复制一些关于我安装 flow 的结果。我遇到了以下问题,其中我不清楚实验中使用的确切参数以及论文中给出的结果。
对于 [1],我希望能够通过从您的存储库运行 stabilizing_highway.py 来重现结果。(使用提交“bc44b21”,虽然我尝试运行当前版本,但找不到与我的问题相关的差异)。我预计在 [2] 中使用的合并场景是相同的。
我已经发现论文/代码中的差异是:
1) [2] (2) 中的奖励函数与 [1] (6) 中的不同:第一个使用最大值并在总和的第一部分进行归一化。为什么会有这种差异?查看代码,我将其解释如下:根据评估标志,您可以将(a)奖励计算为模拟中所有车辆的平均速度,或者(b)作为 [2] 中给出的函数(没有标准化关于速度的术语),但值为 alpha(代码中的 eta2)= 0.1(参见 merge.py,第 167 行,compute_reward)。我找不到论文中给出的 alpha 参数,所以我假设使用了代码版本?
2)我进一步阅读了代码,就好像您通过迭代模拟中的所有车辆来计算它,而不仅仅是观察到的车辆?这对我来说似乎违反直觉,在部分观察到的环境中使用奖励函数通过使用来自完全观察到的状态信息的信息来训练代理......!?
3)这引出了下一个问题:您最终希望在设置评估标志时评估给定的奖励,即模拟中所有车辆的平均速度,如 [1] 的表 1 所示。这些值是通过对您可以运行可视化工具生成的 emit.csv 文件中的“速度”列进行平均计算得出的吗?
4)下一个问题是关于[1]和[2]图中的累积收益。在 [1] 图 3 中,在合并场景中,cum。回报最大约为 500,而最大。[2] 的值,图 5 约为 200000。为什么会有这种差异?使用了不同的奖励函数?请您提供两者的 alpha 值并验证哪个版本是正确的(纸质或代码)?
5) 我还观察到 [1] 表 1,Merge1 和 2:ES 显然具有最高的平均速度值,但 TRPO 和 PPO 具有更好的累积回报。这是否表明用于评估的 40 次推出不足以获得具有代表性的平均值?或者说最大化训练奖励函数不一定能给出好的评价结果?
6) 我不清楚其他一些参数:在 [1] Fig3 中,提到了 50 个 rollout,而 N_ROLLOUTS=20。你推荐使用什么?在 [1] A.2 Merge 中,T=400,而 HORIZON=600,和 [2] C. Simulations 讨论了 3600s。查看运行 Visualizer_rllib.py 时在 Sumo 中产生的回放,模拟在时间 120.40 终止,这将与 600 的 HORIZON 相匹配,时间步长为 0.2 秒(此信息在 [2] 中给出。)所以我假设,为此在场景中,地平线应该设置得比 1 和代码都高得多,而不是设置为 18.000?
感谢您的任何提示!韩国
[1] Vinitsky, E., Kreidieh, A., Le Flem, L., Kheterpal, N., Jang, K., Wu, F., ... & Bayen, AM(2018 年 10 月)。混合自治交通中强化学习的基准。在机器人学习会议上(第 399-409 页)
[2] Kreidieh、Abdul Rahman、Cathy Wu 和 Alexandre M. Bayen。“通过深度强化学习在封闭和开放网络中消散走走停停的波浪。” 在 2018 年第 21 届智能交通系统 (ITSC) 国际会议上,第 1475-1480 页。IEEE,2018 年。