前回、余計な探索の工夫を入れようとしなければカテゴリカルモデルがやや性能向上に寄与していそうだという結果が得られた。今回はより詳細に実験を行い、差がありそうかどうかを検証した。
実験
次の3手法についてAlphaZeroと同様の強化学習を実行して、Edax(Level 6)と対局し性能を測定した。
手法 | 学習 | 探索 |
---|---|---|
Categorical | TD(0.75) | 分布から期待値を計算しAlphaZeroと同様のMCTS |
Scalar | TD(0.75) | AlphaZeroと同様のMCTS |
AlphaZero | TD(1) | AlphaZeroと同様のMCTS |
※カテゴリカルモデルモデルではTD(1)で学習することはできない(しても良いが、どうせ1,0,-1の3値しか使われないので意味がないと判断している)(いや、実はそれでも意味がある可能性が?)
学習、対局に使用したマシンはGTX 1080が2枚搭載されているマシンであり、各手法2回ずつ実験を行った。対局は800回の探索を探索バッチサイズ4で行った。
実験結果
結果としては
- カテゴリカルモデルにすることでレート+40程度
- TD()のパラメータを1から0.75にすることでレート+260程度
と言える。後者の方が寄与が大きく、前者は誤差程度に感じられる。また、AlphaZero(TD(1))はまだ伸びている傾向があり、学習が遅いだけでここから逆転することもひょっとしたらあり得るかもしれない。
個人的にはTD()のパラメータだけでここまで変わることにやや違和感はあり、AlphaZeroの学習がなにかおかしいのではないかと心配になる。実装は本当にパラメータを一つ変えているだけなのでバグということはないかもしれないが、勝手に入れている優先度付き経験再生との組み合わせが悪いという可能性はあり得るか。初期局面にもValueの教師信号が1 or -1で来ると損失としては大きい値になり、優先的に再生されそうなので。
TD()部分に新規性はほぼ無いため、この結果ではなぁと思うところ。そもそも探索に有効活用できるという売りも吹っ飛んでいるわけで。一応論文をちゃんと書く作業は進めてみたいが、まともな形になる気はあまりしない。