将棋の深層学習の歴史(私的集計2021秋)

将棋の深層学習に関する私の個人的覚書です。

 

私個人が機械学習・深層学習の類をはじめたのは2017年2月

40の手習い - 48's diary

 

3月にはTensorflowで将棋の深層学習をはじめたが,この時点でネット上に類する案件が3件程度。そのひとつが山岡さんのdlshogi

4月にはchainerで山岡さんの当時一致率より随分向上した旨blogで報告し,山岡さんにフィードバックした。以後相互にblog参照する程度の関係に。

chainerも入れてみた - 48's diary

 

この時点ではまだelmoが優勝する選手権よりも私が参加する電王トーナメントよりずっと前。

4月か5月の頃には独自のエンジンでfloodgateでレーティングが付く程度にはなっていた。

将棋AIの続き - 48's diary

5月選手権elmo優勝はオンラインで観戦。手元のPCはほぼエビちゃんの養分。

 

その後,Apery,やねうら王,技巧,GPS将棋などを調べている間に思いつきで作ったshotgunシステムに注力。11月に電王トーナメント。個人的には観戦席のつもりだった。

個人的にはやねさん,たぬきさん,山岡さんほか皆初対面で挨拶して回った。

準優勝した結果,翌年の世界選手権にも出る流れとなってshotgunベースの開発に注力することになる。といってもGPUは遊ばせているわけでもなくボチボチ深層学習を進める。

 

2018年5月世界選手権。初参加で優勝。

はじめましてとあいさつに回り終わらないくらいだったために,会長の瀧澤先生をきっちり認識したのは表彰式だった。あまり無作法に見えたのか瀧澤先生の方から「賞状を二つ折りにしないで下さい」との冗談(か本気かしらない)を頂いた。

で,NNUEのリリースが同会期中。皆が新しい深層学習モデルとしてここから取り組むことになる。比較的先行していたはずであるが,同年秋と期待していた第6回の電王トーナメントや翌年の選手権で勝つことを目指すために比較的秘密の開発が続く。

#そう言えばこの辺真面目に話をすると長くて半分も公開してない。

 

2019年5月世界選手権。優勝を期待されながら準優勝。

dlshogiと当たったときに比較的長い接戦で中盤を争ったのを記憶している。相当強くなってきたのと学習で困っている点などの立ち話をした。

Kristallweizenの評価関数は松下さんのモデルでもあり,公開したいとのことでファイル公開。これがこれから2年以上に渡ってプロアマ問わず広く使われることになるとは当時思いもよらなかった。

同時期にAobaZeroプロジェクトスタート。会場の話題としても盛り上がる。

当初から弄って遊んでいたが自分のblog記事は同年7月が最初。

AobaZeroで遊ぼう - 48's diary

以後,比較的データを集めてblog記事としてまとめる。たまにゲーム情報学研究会など

 

2000年選手権中止。オンラインイベント。リアルタイムの会話含めて会話線が混乱しつつも多くの交流が生まれた。

同年秋,そこから生まれたオンライン大会として電竜戦。システム構築と運営練習を兼ねた予行演習。

テストクライアントが似たようなエンジンではテストとしてつまらないとのことで二番絞りプロジェクトスタート。強くするというより異質なものをテストサーバに放り込むのが目的。

電竜戦予行2 - 48's diary

二番絞りは弱いですが,予行2でAobaZeroが春のオンライン大会優勝の水匠を完封して勝利したのが大きな話題です。ちなみに水匠がTR3990Xで,AobaZeroが2080Ti×6とのことでした。

 

二番絞り等に関してはネタ案件の扱いで,秘匿する気がなかったので同年のblogは多く出ています。

二番絞りプレミアム生とは? - 48's diary

dlshogiへのプルリクは学習速度を2倍程度と劇的に高速化。さらに以下のAobaZero棋譜流用ネタは二番絞りを強化してくれました。

AobaZeroの棋譜を用いた教師あり学習 - 水たまり

 

電竜戦本戦ではdlshogi相手に二番絞りが完勝しています。マシンパワーがV100×4とA100×8ですので単純にでも4~8倍程度の劣勢で,中盤から逆転は相当すごい感じ。

第1回電竜戦 棋譜中継(単一棋譜)

電竜戦決勝では私はノートPCで全敗の中,優勝がGCT

開発にはうちのblogでAobaZero教師を学習させたプロセスなどを参考にされた様子。

思いの外多くの方に読まれてるのだなぁとちょっと嬉しい。

同年はAobaZeroやdlshogiなど多くのエンジンに情報をフィードバックしたので全体的に相当レベルアップしたと思われる。

 

2021年5月世界選手権。

第一シードのやねうら王が出ない,第二シードの白ビールが出ない,では問題だろうとの判断で反則覚悟のダブルエントリー。(結果的にはやねうら王はdlshogi互換エンジンでエントリー,白ビールは一年前のままエントリー)

したがって二番絞りも選手権デビュー。(こちらが私の名義)

結果は御存知の通り。elmoが優勝,PALが準優勝。

予選落ちのやねうら王がRyfamateに深層学習モデルを提供するという行為が無ければおそらくPALが優勝だったのではないかとの推測である。運営が反則としないらしいのですが,この点は電竜戦では反則行為と定義してある。

また,PALのアピール文を見る限りdlshogiに類似した設計もしくはdlshogiクローンである風にみえる。

 

クラウドトラブルでフルパワーが出なかった二番絞り。

計測が遅れたが選手権時点ではdlshogiは上回っていた感じ。

二番絞りの計測集計(第31回選手権分) - 48's diary

恐らく余興イベント用のdlshogiでほぼ追い付かれたか追い抜かれたようである。

 

って辺りが現状の認識である。

---

追記:

色々あり過ぎて大幅カットしたけど,dlshogiがTensorRT対応した件は加えておいた方がいいかもしれない。

TensorRT入れてみた - 48's diary