将棋AIの大会では、2年ほど前から定跡により勝敗が高い確率で決まるという状況になっている。
相手の準備していない定跡で嵌めたり、相手が準備した定跡に嵌らないようにするという盤外の戦術が必要になっており、AIの技術的な要素とは別の戦いになっている。
この状況に不満を感じているが、大会のルール上、定跡の対策なしには勝てなくなっているため、対策を強いられている。
手動で定跡を作成しているチームが多い中、「手動で作成するのはAIの大会ではない」という考えを持っているので、dlshogiは定跡も自動生成で行っている。
dlshogiの定跡作成の手法の概要は、第34回世界コンピュータ将棋選手権の詳細アピール文書に記載している。
定跡の強化学習への活用
自動定跡作成は、上記のように大会への対策として着手したが、モデルの学習においても活用できることに気付き、強化学習にも自動生成した定跡を活用している。
具体的には、以下の箇所に定跡を活用できる。
1. 定跡に登録されている局面を自己対局の開始局面とする
2. モデルにより推論した方策と価値に、定跡を反映する
3. 定跡により評価が誤っていたことがわかった局面を重点的に学習する
4. 大量の互角局面集を作成して棋力測定に使用する
定跡に登録されている局面を自己対局の開始局面とする
大会では、序盤は定跡を使用するため、モデルを使用するのは定跡を抜けた後の局面からになる。
機械学習するモデルは、ノーフリーランチ定理で主張されるようにあらゆる局面に対応できる万能のモデルは作成できない。
つまり、大会での勝率を高めるには、定跡を抜けた後の局面を重点的に学習することが必要になる。
そのため、定跡に登録されている局面を自己対局の開始局面とすることが効果的である。
モデルにより推論した方策と価値に、定跡を反映する
定跡自動生成により、モデルの評価が誤っていた局面は、その先まで調べて局面により評価が訂正される。
それを、自己対局時に反映することで、モデルの誤りを積極的に訂正することができる。
dlshogiでは、Use_Book_PolicyというUSIオプションがあり、モデルの推論結果の方策と価値に、定跡の出現回数を元にした方策と価値を反映することができる。
事前確率に定跡の遷移確率も使用する(use_book_policyオプション追加) · TadaoYamaoka/DeepLearningShogi@a059c29 · GitHub
これは、棋神アナリティクスでも採用されており、オプションを有効にすることで無効の場合と比較して勝率は57%になる。
第34回世界コンピュータ将棋選手権準優勝! dlshogiアップデート!!|棋神アナリティクス開発
定跡により評価が誤っていたことがわかった局面を重点的に学習する
定跡自動作成時に大会と同じくらいの時間をかけて探索を行っている。
その後、定跡内の局面をαβ法で探索することで、定跡をリファインする。
リファイン前後の差分から、評価を誤っていた局面が抽出できる。
その誤っていた局面を開始局面として、NNUE系を含めた連続対局を行うことで、評価の誤りを訂正するための棋譜を生成できる。
大量の互角局面集を作成して棋力測定に使用する
自動生成した局面から互角局面を抽出することで、floodgateの棋譜から作成した互角局面よりも多くの精度の高い互角局面集を作成できる。
定跡から作成した互角局面集を使うことで、より多様な局面での棋力測定ができる。
また、中終盤の互角局面など条件を指定した互角局面集を作成することもできる。
dlshogi定跡の統計
現状のdlshogiの自動生成した定跡は、約285万局面、1000万手登録されている。
手数の統計は、以下の通り。
count 2848786 mean 50.4030 std 29.8483 min 0 25% 29.0000 50% 45.0000 75% 67.0000 max 404
出現頻度の高い手順ほど深くまで掘られており、最大で404まで登録されている。平均で50手ある。
先手の評価値の統計は、以下の通り。
count 1400665 mean 425.3173 std 1658.8552 min -30000 25% -17.0000 50% 247.0000 75% 647.0000 max 30000
後手の評価値の統計は、以下の通り。
count 1448121 mean -138.5972 std 1111.3596 min -30000 25% -388.0000 50% -89.0000 75% 116.0000 max 30000
先手も後手も手順によっては詰みまで探索されている。
先手は平均で評価値はプラスで、後手はマイナスになっており、AIによると、いかに後手が不利なゲームであるかがわかる。