Evaluating the Performance of Reinforcement Learning Algorithms

Evaluating the Performance of Reinforcement Learning Algorithms
Evaluating the Performance of Reinforcement Learning Algorithms
发表时间:2020(ICML 2020)
文章要点:文章指出RL复现难的原因在于评价指标不一致。作者提出评估指标应该满足四点:1. Scientific,主要说你这个指标提供的信息要告诉别人针对某个具体的问题或假设,得出了什么结论,这个结论有没有考虑各种不确定性可能造成的问题。2. Usability,主要是说你这个算法适用性如何,是不是有general的适用范围,是不是还需要调参,调参要花多少时间需要给个准信。3. Nonexploitative,不要过分在某些环境上跑分(over represented)然后就说你这算法效果好,也不要利用一些特殊的计算指标来钻空子(abusing a particular score normalization method)。4. tractable,这个就是说实验要可重复。然后作者用一句话来总结了这个标准,which algorithm(s) perform well across a wide variety of environments with little or no environment-specific tuning?
基于此,作者提出了新的度量方式performance percentiles来比较各个算法的好坏,最后提出performance bound propagation来量化评估过程的不确定性。performance percentiles的出发点是,我在很多个环境上去测试完算法后,由于不同环境reward量级是不一样的,那么就需要Normalization来消除量级问题,performance percentiles就把每个环境的得分看成一个随机变量,把这个随机变量累积分布函数画出来,这样就把所有reward样本映射到[0,1]区间上了(that projecting a random variable through its CDF transforms the variable to be uniform on [0,1])。
Evaluating the Performance of Reinforcement Learning Algorithms
如图所示,左边这些点就是被映射到[0,1]区间上了,然后作者的意思是每个环境都可以这样映射过来,那么环境的得分就被统一了。然后要评价一个算法,就把每个环境的CDF加权求和就可以了。
Evaluating the Performance of Reinforcement Learning Algorithms
然后还有一个问题是权重怎么设置,作者的意思是搞一个two-player game,然后找他的equilibrium。这个game就是说,第一个人先选一个算法来最大化在所有环境的performance,然后第二个人选一个算法和一个对应的环境来最小化第一个人的得分。相当于第一个人只能选一个算法,第二个人决定了测试了环境以及用来normalization CDF的另一个算法。而且这个博弈是零和的。具体定义为
Evaluating the Performance of Reinforcement Learning Algorithms
Game定义好了后就要求equilibrium solution了,作者的意思是用α-Rank来求,假如求出了每个算法(策略)选取的对应概率\((p^*,q^*)\),那么加权和就是
Evaluating the Performance of Reinforcement Learning Algorithms
说实在的,不是很理解这么做的好处。
接下来就是计算置信区间,也就是performance bound propagation(PBP)来量化评估过程的不确定性。大概思路就是,对每个环境先算置信区间,根据这个置信区间来找满足条件的\((p^*,q^*)\),就可以求performance percentiles了,然后找他们的下界和上界。具体做法见论文附录:
Evaluating the Performance of Reinforcement Learning Algorithms
总结:说实在的,整的太复杂了,根本不会有人用的。就这个计算量,别说train模型的时间了,就是evaluation都要花很久,又是在环境里跑一大堆episode,又是算α-Rank的,要是算法再一多,时间指数级增加。再加上这个方法虽然看起来make sense,但是其实并不好理解他的优势在哪。
疑问:α-Rank具体咋做的不知道。还有这个equilibrium是什么equilibrium,纳什均衡?

上一篇:leetcode-Algorithms-581|最短无序连续子数组


下一篇:深度学习的优化算法 (Optimization algorithms)