強化学習のAtari57のHuman-Normalizedスコア(HNS)は果たして正当なのか？

強化学習モデルの**「MuZero」**が発表されたとき、その性能の良さを指標としてAtariの57種のゲームに対するHuman-Normalizedスコア(HNS)の「中央値」および「平均値」が使われました。このHuman-Normalizedスコア(HNS)は今後のAtari57の強化学習モデルの発展と共に継続的に使われていく指標にたりうるのか？という事を考えてみたい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/88e98e99-7ffd-8f66-819f-805eeb8edc70.png)

#データ
これは[Muzeroの論文](https://arxiv.org/pdf/1911.08265v2.pdf)に表があり、このHNSとはランダムの時の点数と人間のスコアの差分の比率である。これに100を掛け単位は%で示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/09d4f40b-dc33-94f7-ae94-0f8eee97454b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/d74cad18-e6e8-2eee-2fb3-b6a7850ae516.png)

#問題1:スコアが既にカンストしている
例えば`asterix`のスコアを見てみるとR2D2が`999,153`、MuZeroが`998,425`、そして後発のAgent57が`991,384`と非常に類似のスコアである。これらが偶然に同じスコアに集まったという確率は低いとみるとこれはスコアがカンスト`999,999`するような状況に陥って、報酬予測に乖離が生まれるためカンスト付近において正しい報酬が求められなくなり行動学習が行われなくなるのではと考えられる。
いずれにせよ、このカンスト付近のスコアを取っている時点で行動には誤差程度の差しかなく、モデルの性能差を評価するのには使えない可能性がある。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/b58a3b84-438f-2fc0-477d-5f13356ad58a.png)
このようにカンスト、もしくは理論スコア上限に近い場所にあるゲームは`asterix,bowling,boxing,breakout,chopper command,double dunk,freeway, gopher,phoenix,pong,seaquest,surround,time pilot,venture,video pinball,yars revenge`の計16ゲームは既にスコアがカンスト、もしくはその疑いがあり、モデルの改良があってもこのカンスト上限のスコアが今後大幅に上昇することはなく、「Human-Normalizedスコア中央値、平均値」を押し上げる事はない。

#問題2:カンストしているにもかかわらず低スコアである
freeway,surroundのスコア上限はおそらくそれぞれ$34,10$である。
(例えばfreewayならスコアが$34$のモデルが大量にある。
https://paperswithcode.com/sota/atari-games-on-atari-2600-freeway)

これ以上のスコアを取るモデル作成は不可能である。一方、人間のスコアは$29.60$と$6.53$であるためスコアがカンストしてもHNSの値はそれぞれ$115\%$と$121\%$しか取れない。
これは、スコアがカンストしているにもかかわらず、「Human-Normalizedスコアの平均値」を押し下げる働きをしており、57個のゲームの平均値という指標のバランスに疑問を投げかける。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/c4ed42e6-7b50-7e0c-5983-e12a614d27b9.png)
例えばこのような低スコアのゲームが仮にカンストしていなくても「Human-Normalizedスコア平均値」に与える影響は非常に小さい。これは10000～20000%の違いと60～120%の違いでは平均値に与える影響は前者の方が大きいためである。
このように考えると、57個のゲームの内で人間比でのスコアの比較的取りやすいゲームに対し最適化を行った方がスコアの平均値は改善するのでこのような正規化で低スコアのゲームに対しては最適化が行われにくい可能性がある。少なくとも57個のゲームの平均値に与える寄与度は平等ではなく、平均値に対する寄与度の高いゲームと低いゲームで100倍以上の差がある。

これは日経平均株価が単なる寄与度の上位株の指数になってるという揶揄と同様の事が起こっている。例えばMuZeroでは57個のゲーム中、寄与度の最も高いゲーム1個でHNSの平均値の10%を占め、上位7個でHNSの平均値の49%、上位13個でHNSの平均値の70%、上位24個でHNSの平均値の90%を占める。
Atari57の不遇ゲームがHNSの不公平さに耐えかねて「我々は99パーセントだ！」とデモを起こすのもそう遠くない未来なのかもしれません……。

#問題3:安定戦略にとらわれている
`tennis`の最低スコアは`-24`で最高スコアは`24`である。スコア`0`の場合、引き分けだと思われる。
Agent57やApeXのスコアは`24`だが、MuZeroやR2D2のスコアは`0`で安定している。
https://paperswithcode.com/sota/atari-games-on-atari-2600-tennis
これは自分がサーブの時に必勝の戦略があるか、相手がサーブの時に必勝のカウンターがあるか、CPUがスコアによって手を抜いてくれるかのどれかである。いずれにしろ学習容易な安定戦略があり、その戦略を一度捨てて新しい戦略を取ることが出来ずにいる。
このような場合、学習があまり進んでいないと見なすことも出来るが、スコアは悪くないと評価する事が出来てしまう。少なくとも人間のスコアより良い。

この状況は学習の状況に対しモデル差の優劣によるスコア差が出にくいという問題がある。例えば`tennis`においてMuZeroとR2D2はスコア差がほとんどない。
このようなゲームは`demon attack,kangaroo,montezuma revenge, pitfall,skiing,tennis`などが挙げられ、いずれも安定戦略から飛び立てずにいるのではないかという疑いがある。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/4a15c9b5-951f-d25b-7b41-a596f364e1e0.png)

#問題4:ゲーム難易度とスコア寄与度は無関係
寄与度は人間スコアとカンストスコアでの比率で決まる。
一般に寄与度の差はゲームの難易度(強化学習の安定性)とは全く関係ない。
しかし、「中央値」および「平均値」を高めるモデルのパラメータを探したとすると「ゲーム難易度が高く、スコア寄与度が低いゲーム」を捨てて「ゲーム難易度が高く、スコア寄与度が高いゲーム」を高くするようなモデルで学習した方が「中央値」および「平均値」のスコアが高いモデルとなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/7ba3125a-a9dc-de4a-e433-37bf2e7a2f1f.png)
これがMuZeroだとするならMuZeroは寄与度の高いゲームにしぼって最適化したと見なせ、「難易度が低く、寄与度の低いゲーム」は棚ぼたでスコアはカンストに近くなり、そして結果的に「難易度が高く、寄与度の低いゲーム」に対してだけスコアが低い。
ゲーム難易度とスコア寄与度は本来無関係だが、HNSの「平均値」を改善するモデルのパラメータ探索を行う事で結果的に、「難易度が高く、寄与度の低いゲーム」のスコアが低くなる。

Agent57はHNS下位5%の「難易度が高く、寄与度の低いゲーム」のスコアが高くなるようなモデルで強化学習していると見なせばHNSの「平均値」が逆に悪化している理由にも説明がつく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/2829bb6e-612d-2918-5719-ece49f3fc974.png)

#GDI論文採用のスコア
[GDI論文](https://arxiv.org/pdf/2106.06232v5.pdf)によれば従来のHNSにおける人間スコアのかわりに人間の世界記録スコアを用いる**HWRNS**がある。これは平均スコアをかなり小さくするので、結果的にスコアの絶対値を小さくしてゲーム間の寄与度のばらつきを低くすることができる。
さらに**SABER**では足し合わせるスコアに上限を設ける。これは各ゲームの寄与度をほとんど等しくするのでゲーム間のスコア寄与の不平等を解消するには良い指標でないかと思われる。

一方でHuman World Record Breakthroughの指標は既にスコアがカンストしているゲームに対して一部恣意的なWorld Record（ありえない値、例えばasterixではカンスト999,999なのにHWRが1,000,000となっている）を決めている気がしてカンスト付近のモデルの優劣を評価するには疑問符が付く。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/13a8d80c-707e-e4a5-9890-d0b4524c41bb.png)
ゲーム間の寄与度のばらつきが小さい**SABER平均値**で見た時、結局一番平均スコアが高いのは**Agent57**である。従来の**HNS平均値**で見ればGDI-I3やGDI-H3のモデルがMuZeroを上回っているが、SABER平均値はMuZero以下である。これは寄与度の高いゲームに対しては良いが、寄与度の低いゲームに対しては悪くなっているのを示唆する。(とはいえゲーム学習時間はGDI-H3はMuZeroやAgent57より非常に短いので効率は良いのだろうが)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299928/2670df7b-0d93-5013-6e69-1d5552ce642f.png)



#まとめ
Atari57という57種のゲーム群はHuman-Normalizedスコア(HNS)の平均値を求めるとゲームごとの寄与度に差がありすぎるので、HNSの平均値で評価することに対して正当性があるのだろうかと感じました。この「HNSの平均値」を改善するパラメータを探す行為は相対的に「寄与度の低いゲーム」に対する最適化を捨てているように思います。