TadaoYamaokaの日記

山岡忠夫Homeで公開しているプログラムの開発ネタを中心に書いていきます。

将棋AIの実験ノート(引き分け有無の比較)

教師データ引き分けを加えた場合と、加えない場合の精度の比較を行った。
引き分けの学習には、ChainerのカスタムFunctionを使用した。

測定方法は前回正則化の効果の測定と同じ。

測定方法

条件

  • 教師データに引き分けを含むか含まないか
  • 引き分けを含めない場合は、引き分けの局面の除いてからシャッフルして2500万局面分を学習

引き分けの局面は、140,005,188局面中、1,339,842局面で、割合は0.957%。
千日手もしくは、400手で引き分けとしている。

測定結果

損失
条件 訓練損失 (合計) テスト損失 (Policy) テスト損失 (Value) テスト損失 (評価値)
引き分けあり 1.5940012 1.0582352 0.59627414 0.6488074
引き分けなし 1.5895698 1.0631737 0.59852475 0.6485649
テストaccuracy
条件 テスト accuracy (Policy) テスト accuracy (Value)
引き分けあり 0.36311078 0.66633254
引き分けなし 0.361024 0.66215944
テストデータの局面を推論した際のエントロピー
条件 エントロピー (Policy) エントロピー (Value)
引き分けあり 2.1945772 0.63117784
引き分けなし 2.1867323 0.6304863

考察

引き分けありの方がPolicyの損失が低い。
Valueの損失は引き分けなしの方が低いが誤差程度。

テストデータに対する一致率は引き分けありがPolicy、Valueともに高いが誤差程度。

テストデータを推論した際のエントロピーは、引き分けありの方が高い。


引き分けのデータは1%未満なのでもともと影響が少ないが、それでも引き分けを入れた方が微妙に良い結果になりそう。
この結果を受けて、今まで強化学習で引き分けのデータは生成していなかったが、今後は生成することにする。