【コンピュータオセロ8】全結合ネットワークでの学習・対局

要約

 全結合ネットワークにした場合、CNNの場合よりもレートが200ほど落ちてしまった。オセロにおいて終盤の評価が難しいのはゲームの性質による問題の可能性がある。

背景

 オセロでの対局を検証していると、終盤での状態価値推定の精度が良くないのではないかという疑念が生まれた。たとえば、以下のような局面においてNNによる推論では評価値分布は中央図のようになるが、実際のところはこれは引き分けであり、右図のような評価値が正しい。

f:id:tokumini:20200612132906p:plain

 原因の一つとしてCNNが局所的な特徴しか取れていないため全体を考慮した判断ができていない可能性を指摘いただいた。

 よって全結合NNにして実験を行った。

実験

 今までチャンネル数64の残差ブロック5(つまりおおよそ10層CNN)としてたNNを、隠れ次元数512、5層の全結合NNに変更して学習、対局を行った。

実験結果

f:id:tokumini:20200612133418p:plain

 CNNよりもレートが200以上下がってしまった。終盤の様子を見てみても、やはり価値推定の精度はあまり高くなさそうだった。

f:id:tokumini:20200612133904p:plain

考察

 オセロの終盤で価値推定精度が低いことは、ネットワーク構造の問題やプログラムのバグなどではなく、ゲームの性質に由来する本質的な問題であると思われる。(将棋の方でこういう乖離があまり起きていないのは、自己対局だと中盤の時点で差が付き、一手差争いのような終盤になっていないためである可能性が考えられる。)

 上の図のように、終盤の局面から探索が開始される場合は800回の探索中に終端に行き着くので評価が間違っていることがわかるが、800回目の探索で丁度終局の一手前などとなる場合、そこで得られるNNでの評価がめちゃくちゃであるため探索に悪影響が出ていそうだ。

 これに対処するためには、価値推定の精度を上げる工夫を入れるよりも実際に盤面を動かして勝敗判断をした方が効率が良い可能性がある。つまり、ネットワークを大きくすることなどではなく、探索中の工夫により改善を目指したいものであるように感じられる。

 一つ考えているのは静止探索的な概念を導入することだ。

竹内 聖悟,金子 知適,山口 和紀 局面の情報を利用した,静止探索中の動的手生成

 将棋でも、たとえば詰ましにいって王手をかけている途中で形勢判断をすることにはあまり意味がないと思われる。しかし現状のMCTSではそのような局面でもValueを推論し、その結果をバックアップしていくため、末端以外で評価を勘違いしていた場合など評価がおかしくなっているかもしれない。

 とはいえ、MCTSの都合上、途中でノードの評価をスキップしてしまうとPolicyが展開されず探索を進められなくなってしまうので、完全に評価しないということは難しそうであり、Valueのバックアップにおいて今回の評価値をどの程度寄与させるかを調整するなどが現実的な手段かもしれない。