TadaoYamaokaの日記

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

将棋AIの実験ノート(正則化の影響測定)

将棋AI用モデルの学習で正則化の有無による精度への影響を測定した。

測定方法

  • 10ブロック、192フィルタのモデル
  • PolicyとValueマルチタスク学習
  • Aperyで生成した1.4億局面をシャッフルして2500万局面分を学習
  • Momentum SGD(lr=0.01)
  • 初期モデルから学習
  • バッチサイズ1024
  • Policyの教師データは指し手(分布なし)
  • Valueの教師データは勝敗(引き分けあり)
  • Valueの損失は評価値によるブートストラップあり
  • テストデータにはfloodgateのR3500以上の棋譜を使用

条件

測定結果

2019/5/22 追記
下記の結果は、正しく測定できていなかったので、後日再測定した。

損失
エントロピー正則化 L2正則化 訓練損失 (合計) テスト損失 (Policy) テスト損失 (Value) テスト損失 (評価値)
あり あり 3.2301362 2.4167266 0.8728576 0.88259214
なし あり 3.2703197 2.516463 0.7008645 0.7254533
あり なし 3.4063873 2.6232579 0.7150356 0.7397537
なし なし 3.4155998 2.6385918 0.75832886 0.7684118
テストaccuracy
エントロピー正則化 L2正則化 テスト accuracy (Policy) テスト accuracy (Value)
あり あり 0.11211929 0.52602535
なし あり 0.10108494 0.5614139
あり なし 0.09025828 0.55845815
なし なし 0.08823568 0.5436531
テストデータの局面を推論した際のエントロピー
エントロピー正則化 L2正則化 エントロピー (Policy) エントロピー (Value)
あり あり 5.7225204 0.51445645
なし あり 5.651507 0.62702596
あり なし 6.2247043 0.6148288
なし なし 6.0029426 0.5822341

考察

エントロピー正則化とL2正則化両方を行った場合が、最もPolicyの精度が高かった。
しかし、Valueの精度が最も低いという結果になった。

L2正則化のみを行うと、Valueの精度が最も高くなった。
しかし、Policyのエントロピーが最も低くなっており方策が決定論的になる傾向がある。

エントロピー正則化のみを行うと、Policyの精度は3番目、Valueの精度は2番目という結果になった。
Policyのエントロピーは最も高く、決定論的になりにくい傾向がある。Valueエントロピーも比較的に高い。

どちらの正則化も行わない場合、Policyの精度が最も低く、Valueの精度は3番目という結果になった。


この結果からは、エントロピー正則化のみを行った場合が総合的に良さそうである。

AlphaZeroではL2正則化のみを行っているが、教師データに指し手を使う場合はL2正則化はPolicyの精度に悪影響がありそう。