TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

【dlshogi】ラージカーネル+TransformerモデルのPolicy Elo

先日学習したラージカーネル+Transformerモデルの方策のみの強さ(Policy Elo)を測定した。

これまで、同一持ち時間や固定ノード数で計測も行ったが、方策のみの連続対局を行うことで、短時間で直接方策の強さを測ることができる。

floodgateのテストデータでの精度と強さは相関があるが、実際の強さは対局して測定しないとわからない。
探索ありで対局すると時間がかかるが、方策のみでの対局は短時間で方策の強さを測ることができる。
CPUのみでも短時間で測定できるので、GPUサーバを占有しなくて良い。

方策のみで対局

方策のみで対局するスクリプトを実装した。

DeepLearningShogi/dlshogi/utils/usi_policy_only.py at master · TadaoYamaoka/DeepLearningShogi · GitHub

onnxruntimeで推論を行うのでCPUで実行可能で、探索を行わないためCPUのみでも短時間で計測できる。
df-pnで詰み探索を行うオプションを有効にすると、詰みが見つけるまでの精度を比較できる。

温度パラメータをしきい値の手数の前後で2つ設定できるようにしている。

1手読みして価値ネットワークのみで、対局するオプションも実装している。
ただし、候補手すべての局面をバッチ推論するため、CPUのみだと対局に時間がかかる。

計測結果

互角局面集を使用して、温度を0にして測定した。
df-pnの詰み探索は有効にした。

   # PLAYER    :  RATING  ERROR  POINTS  PLAYED   (%)  CFS(%)     W    D     L  D(%)
   1 pre55     :    34.4    7.8  2240.5    4000    56      78  1940  601  1459    15
   2 pre56     :    28.3   12.8  1132.5    2000    57      94   974  317   709    16
   3 pre54     :     0.9   12.8   939.5    2000    47     100   779  321   900    16
   4 pre44     :   -73.6   13.6   709.5    2000    35     ---   570  279  1151    14

pre55:40ブロック512フィルタのラージカーネル+Transformerモデル
pre56:40ブロック512フィルタのラージカーネルモデル(5ブロック間隔に9x1,1x9,1x1フィルタ)
pre54:40ブロック512フィルタのResNetモデル
pre44:30ブロック384フィルタのResNetモデル

ラージカーネル+Transformerモデル(pre55)が最も強いという結果になった。
WCSC34で使用した30ブロック384フィルタのモデル(pre44)からは、R+108になっている。

ラージカーネルのみのモデルも、通常のResNetより強くなっている。

ラージカーネル、Transformerそれぞれ方策の強さに効果があることが確認できた。

まとめ

ラージカーネル+Transformerモデルの方策のみの強さ(Policy Elo)を測った。
結果、ラージカーネル、Transformerそれぞれ方策の強さに効果があることが確認できた。