カテゴリカルモデルで教師あり学習をすると勝ち負け引分に相当する値の領域にしか教師信号が発生しないため分布が有効活用できない問題がある。
先の実験はCategoricalモデルでやったものなんですが、CategoricalモデルのValueを最終的な勝敗から教師あり学習するとどの局面も(初期局面も)画像みたいな分布になるだけなんですよね。これでもそこそこ性能は出るわけですが pic.twitter.com/1XPDx9b5kb
— t (@tokumini_ss) 2020年9月16日
(無理やり割引率を導入すれば初期局面に対しても値を与えられるが、それは恣意的なのでできるだけしたくない)
強化学習ではTD(λ)を用いることでこれを回避できるため、教師あり学習をした後に強化学習を用いて追加学習することを試みた。
教師あり学習
AobaZeroの棋譜を用いて教師あり学習を行った(具体的な手順などは以前の記事を参照)
Vadlidationにはfloodgate2015年の棋譜から片方の対局者のレート2800以上のものを抽出し、利用した。
結果
以前行ったスカラーモデルでの結果と比べて、Policy損失はほぼ変わらず、Value損失はやや悪化となった。
参考:同条件で学習した場合の最終ステップでの損失値
モデル | Policy損失 | Value損失 |
---|---|---|
スカラー | 1.949150 | 0.618593 |
カテゴリカル | 1.949936 | 0.645331 |
強化学習
AlphaZeroとほぼ同等の800回探索の自己対局を教師とする強化学習を行った。教師信号を作る際にTD(λ)を用いている。学習は継続中だが、とりあえず50000ステップでの結果が出たのでそれをまとめておく。
結果
50000ステップでの損失値(この検証データは教師あり学習のときと完全に同一のfoodgate2015年データを用いて行っている)
モデル | Policy損失 | Value損失 |
---|---|---|
強化学習前 | 1.949936 | 0.645331 |
強化学習後 | 1.902164 | 0.693806 |
Policy損失はやや改善したが、Value損失がかなりはっきり悪化している。
初期局面での推論結果
AobaZeroの棋譜で教師あり学習を行うと初期局面での評価値がやけに先手に大きく振れるのだが、それが是正されている。また、分布の形状もかなり想定に近いものになっている。
検証対局
持ち時間0.25秒でYaneuraOu(評価パラメータはKristallweizen・NodesLimit400000)と1000局の対局を行った結果
モデル | 勝ち | 引分 | 負け | 勝率 | Eloレート差 |
---|---|---|---|---|---|
強化学習前 | 433 | 131 | 436 | 49.85% | -1.0 |
強化学習後 | 348 | 1 | 651 | 34.85% | -108.7 |
レートが100以上下がった。探索込みではやはりValue損失が大きく効いてくる印象ではある。
他に目を引くのが引分数の大幅な減少で、ほぼ引分が起こらないというのはゼロから強化学習をした場合とほぼ同じ傾向である。
全体的にもとのパラメータの影響がかなり薄れている印象を受けた。もとの教師あり学習が300万ステップであるのに対して、5万ステップの強化学習をするだけでこれだけ変わってしまうのは学習率が大きすぎたのかもしれない。