文章目录
前言
很多深度强化学习领域的研究者在验证自己学习算法性能时常常会选择将该算法应用于Atari视频游戏。在相关文献中,作者为了说明自己提出算法(下称proposed方法)的优越性,一般会做一些对比试验。对比试验是将proposed方法与前人已有方法(下称base算法)同时用于训练智能体(agent)玩Atari游戏,从不同方面进行比较。试验内容包括智能体的性能比较、算法学习速度比较、数据有效性比较、对超参数的鲁棒性比较等四个方面。本文将对这些深度强化学习领域常用的对比试验进行总结。
常用对比试验
0 比较智能体的性能(performance)
智能体性能的定义:将智能体玩Atari游戏的总得分定义为智能体的性能。
学习算法训练智能体玩游戏,获得分数越高,说明智能体的性能越好,进而说明该算法的整体性能越好。
如何说明性能有提升?
以人类玩家得分为基准点,作出agent得分对基准点的百分比,若所得结果大于100%,说明训练出的智能体性能已经超过了人类。
1 比较学习速度(speedup)
学习算法的速度speed:学习算法训练智能体玩游戏达到特定性能(得到某一得分)所花费的时间步timestep的倒数。
如何说明proposed算法的学习速度更快,实现了加速speedup?
base方法达到最佳性能所用的学习步数/proposed 方法达到相同性能所用的步数,若结果>1则说明研究结果实现了学习算法的加速。
2 比较数据效率(data efficiency)
数据效率data efficiency:学习算法训练智能体达到最佳性能时所用数据量的倒数。
如何说明proposed算法实现了数据效率的提高?
base算法达到最佳性能所用的数据量与proposed 算法达到相同性能所用数据量的比值,若结果大于1,则说明研究结果实现了数据效率的提高。
3 比较算法对超参数的鲁棒性(robustness to hpyerparameters)
robustness to hpyerparameters:学习算法选定不同的超参数训练智能体,记录下智能体的性能变化曲线。智能体的性能随超参数的变化越小,则越说明采用的学习算法对超参数越鲁棒。
如何说明proposed算法对超参数更鲁棒?
分别作出base算法和proposed算法智能体得分对超参数变化的曲线,分析曲线波动情况。若proposed算法曲线更平稳,则说明研究结果实现了对超参数鲁棒性的提高。
作图技巧
对原始数据进行统计后再作图
对于抖动较大的实验曲线,为了反映试验的整体情况,作者可以先将原始数据进行处理,然后作出处理后的曲线。
例如,上图是文献[2]中的曲线。纵轴的reward曲线抖动过于剧烈。作者作出了数据处理后的结果。作者做了大量试验,然后统计试验曲线的均值和标准差。图中的实线表示均值,阴影区域表示均值±标准差。