1. 程式人生 > 其它 >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])。

如圖所示,左邊這些點就是被對映到[0,1]區間上了,然後作者的意思是每個環境都可以這樣對映過來,那麼環境的得分就被統一了。然後要評價一個演算法,就把每個環境的CDF加權求和就可以了。

然後還有一個問題是權重怎麼設定,作者的意思是搞一個two-player game,然後找他的equilibrium。這個game就是說,第一個人先選一個演算法來最大化在所有環境的performance,然後第二個人選一個演算法和一個對應的環境來最小化第一個人的得分。相當於第一個人只能選一個演算法,第二個人決定了測試了環境以及用來normalization CDF的另一個演算法。而且這個博弈是零和的。具體定義為

Game定義好了後就要求equilibrium solution了,作者的意思是用α-Rank來求,假如求出了每個演算法(策略)選取的對應概率\((p^*,q^*)\)

,那麼加權和就是

說實在的,不是很理解這麼做的好處。
接下來就是計算置信區間,也就是performance bound propagation(PBP)來量化評估過程的不確定性。大概思路就是,對每個環境先算置信區間,根據這個置信區間來找滿足條件的\((p^*,q^*)\),就可以求performance percentiles了,然後找他們的下界和上界。具體做法見論文附錄:

總結:說實在的,整的太複雜了,根本不會有人用的。就這個計算量,別說train模型的時間了,就是evaluation都要花很久,又是在環境裡跑一大堆episode,又是算α-Rank的,要是演算法再一多,時間指數級增加。再加上這個方法雖然看起來make sense,但是其實並不好理解他的優勢在哪。
疑問:
α-Rank具體咋做的不知道。還有這個equilibrium是什麼equilibrium,納什均衡?