TadaoYamaokaの開発日記

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

【dlshogi】入玉特徴量 その4(再計測)

前回入玉特徴量を加えることで、入玉特徴量なしと比較して弱くなると書いたが、入玉特徴量なしのモデルの学習条件が異なっていたいので、計測をやり直した。

前回

強さ計測に使用したモデルが、学習率スケジューラが同じ条件になっていなかった。

再計測結果

評価精度
評価データ:floodgateからサンプリングしたデータ
入玉特徴量有無 方策損失 価値損失 方策正解率 価値正解率
入玉特徴量なし(前回) 1.4413 0.4682 0.5224 0.7580
入玉特徴量なし 1.4409 0.4677 0.5225 0.7588
残り点数10点未満 1.4422 0.4677 0.5222 0.7586
残り点数20点未満 1.4435 0.4678 0.5220 0.7587
評価データ:入玉宣言勝ちした棋譜
入玉特徴量有無 方策損失 価値損失 方策正解率 価値正解率
入玉特徴量なし(前回) 2.3377 0.1030 0.3884 0.9539
入玉特徴量なし 2.3414 0.1036 0.3872 0.9536
残り点数10点未満 2.3371 0.0883 0.3874 0.9622
残り点数20点未満 2.3314 0.0820 0.3874 0.9654

floodgateからサンプリングした評価データでは、方策、価値ともに前回同様ほぼ違いがない。

入玉宣言勝ちした棋譜では、価値の損失・正解率は、前科同様、入玉特徴量ありの方がわずかに改善している。

強さ

持ち時間3分2秒加算で互角局面から連続対局した結果は以下の通り。

   # PLAYER          :  RATING  ERROR  POINTS  PLAYED   (%)  CFS(%)    W    D    L  D(%)
   1 nyugyoku20      :    15.9   20.8   328.0     611    54      58  302   52  257     9
   2 nnue-4th        :    12.2   22.9   241.0     456    53      90  220   42  194     9
   3 nyugyoku10      :   -11.0   19.1   315.5     649    49      66  284   63  302    10
   4 resnet          :   -17.0   17.0   403.5     860    47     ---  367   73  420     8

White advantage = 15.08 +/- 8.93
Draw rate (equal opponents) = 8.96 % +/- 0.79

前回と異なり、入玉特徴量を加えたモデルが有意に強くなっている。
入玉特徴量ありで、残り点数20点未満としたモデルが最も強く、入玉特徴量なしと比較して、R+32.9になっている。

入玉宣言勝ちの回数

入玉宣言勝ちの数をカウントした結果は以下の通り。

モデル 対局数 入玉宣言勝ち 100対局あたり
入玉特徴量なし 860 16 1.86
入玉特徴量あり(残り点数10点未満) 649 13 2.00
入玉特徴量あり(残り点数20点未満) 611 3 0.49

対局数を合わせていないため、100対局あたりにすると、入玉特徴量あり(残り点数10点未満)の回数が一番多かった。
カイ二乗検定を行うと、p値は0.0488で、同じ確率とは言い難い。
入玉特徴量あり(残り点数20点未満)の回数が少ないのは、互角局面集だとモデルが強いと、入玉にならずに勝つ場合は増えるので、正しく入玉の精度の計測できていないかもしれない。

import numpy as np
from scipy.stats import chi2_contingency

observed = np.array([
    [16, 13,  3],   # 正例
    [844, 636, 608] # 負例
])

chi2, p, dof, expected = chi2_contingency(observed)

まとめ

入玉特徴量なしのモデルを学習条件の異なるモデルで計測していたため、再計測した。
結果、入玉特徴量ありの方が強くなることが確認できた。
入玉特徴量を加えることで、モデルの入玉宣言に関する認知負荷が下がることで、全体の精度が上がるのではという予想を裏付ける結果になった。
互角局面集で、短い持ち時間での計測結果なので、大会でも効果があるかはさらに検証が必要である。