『強い将棋ソフトの創りかた』データで学習

 以下の本を読みました。

 コンピュータ将棋でも深層学習+モンテカルロ木探索という構成の強力さが明らかになっている最中だと感じていますが、その最先端へ一気にキャッチアップするためのまさに「知の高速道路」といった本として位置づけられるでしょう。

 さて、この本の第7章では「GCT電竜を超える強い将棋AIを創る」と題して、dlshogiライブラリを使用したモデルの学習を行う手法について解説がなされています。その学習に用いられるデータでひときわ目を引くものとして、『dlshogi with GCTの棋譜』があります。これは

第31回世界コンピュータ将棋選手権に参加したdlshogi with GCTの強化学習で生成した棋譜です。

とのことで、局面数にして225,000,496に達するという巨大なデータセットです。1手5000プレイアウトで生成しているとのことで、現状他に比肩するもののない特別に良質なデータセットであると考えられます。

 データセットの質と量は学習モデルの性能に直結するというのが基本的な見方だと思われます。今回は旧来からあるデータとの比較という意味を込めてMiacisを用いて当該データを用いて学習を行いました。

学習した棋譜の比較

  • 今回の学習に用いたデータ : dlshogi with GCTの棋譜
    • 上述した書籍ではその他floodgateの棋譜および水匠3の棋譜も混ぜて利用しているのですが、今回は上のデータのみに絞って利用しました
    • 学習ステップの都合上、1エポックも回りきらないため、24個のデータ塊から10個をランダムに選んで使用しました
  • 比較対象のデータ : AobaZeroの棋譜11,500,000〜14,300,001を用いました。これ以上だと入玉周りの問題が生じたり、以前だと少し棋力に不安があるのではないかと思われるためこのあたりのみを抽出して利用しています。
  • 検証損失の計算に用いたデータ : floodgate2015年の棋譜からレート3000以上のもののみを抽出して検証データとしました

結果

f:id:tokumini:20211230112258p:plainf:id:tokumini:20211230112248p:plain
左: Policy損失 右: Value損失

 今回のデータセットの方が低い損失を達成しました。AobaZeroデータについては以前の学習結果をそのまま持ってきただけであるため、学習ステップ数など細かい条件などは微妙に異なるところはあるのですが、傾向として『dlshogi with GCTの棋譜』データセットが優れていそうだとは言えると思います。

 対局でも検証してみたところ、(現在のMiacisはそこそこの頻度で対局中に固まってしまうためたくさんの局数で試せたわけではないのですが)、それなりに良好な結果で単に検証損失を下げることに特化しているというわけでもないようでした。

所感

 これまで自分で試していた教師あり学習ではなかなか精度が出なかったり、損失では良くとも対局させてみると弱かったりということで悩むことが多くありましたが、今回のデータセットを用いるとそのようなことが起きず、データセットの質の重要性を再認識する機会となりました。

 学習方法をわかりやすく解説された書籍と、質・量について圧倒的に優れたデータセットが出現したことは、ブレイクスルーの到来を予感させます。一人でも多くの人がコンピュータ将棋に触れ、手軽に各自のアイデアを試していくことで、ともすると予想もしていなかったようなところから発展の可能性が出てくるのではないかと思います。後世から振り返ったときにコンピュータ将棋の歴史において意義深い出来事として語られるようになるのではないかという未来予測をもって著者らに対する最大級の賛辞に代えさせていただきます。