【コンピュータオセロ7】優先度付き経験再生の検証

要約

 優先度付き経験再生はオフにした方が良さそう。

背景

 比較実験でAlphaZeroの学習が妙に弱いことがわかった。

 原因として優先度付き経験再生が悪さをしている可能性が考えられた。優先度付き経験再生は1年前の検証で結果が良かったので採用したのだが、実装などが大きく変わりレートも上がった現在だとかなり事情が違うかもしれない。

 優先度付き経験再生は損失を基準にやっている。N個のデータがリプレイバッファに格納されているとして、 i番目のデータ選択される確率 p_iを前回計算した損失 l_iを用いて


p_i =  \frac{l_i^{\alpha}}{\sum_j l_j^{\alpha}}

と計算する。 \alpha = 0とすると確率が \frac{1}{N}となるので通常のランダムサンプリングに一致する。

実験

 前回の結果(の一つ)は \alpha = 2のものであった。比較対象として新たに \alpha = 0で各実験をやり直した。

f:id:tokumini:20200522190603p:plain

  \alpha = 0とするとAlphaZeroにおける性能がものすごく改善され、ScalarやCategoricalでも \alpha = 0の方が性能が良かった。ScalarやCategoricalでの改善量は微差だが、全体として優先度付き経験再生はオフにした方が良いということになる。

 この点から考えてみると、 \alpha = 2でCategoricalの性能が良かったのは、Value損失の計算方法が違う影響で損失のばらつきが小さくなるなどして、優先度付き経験再生の悪影響を受けにくかったということなのかもしれない。学習中の損失を見てみると

f:id:tokumini:20200522212816p:plainf:id:tokumini:20200522212819p:plain
左:Policy損失 右:Value損失

となっており、 \alpha = 0のときはPolicy損失が改善されることがわかる。Value損失はCategoricalの場合に大きいことがわかり、これの影響である可能性は十分にある。