将棋でディープラーニングの実験をするためのプロジェクトです。
基本的にAlphaGo/AlphaZeroの手法を参考に実装していく方針です。
検討経緯、実験結果などは、随時こちらのブログに掲載していきます。
http://tadaoyamaoka.hatenablog.com/
Releasesからダウンロードできます。
最新のモデルファイルは、棋神アナリティクスでご利用いただけます。
フォルダ | 説明 |
---|---|
cppshogi | Aperyを流用した将棋ライブラリ(盤面管理、指し手生成)、入力特徴量作成 |
dlshogi | ニューラルネットワークの学習(Python) |
dlshogi/utils | ツール類 |
selfplay | MCTSによる自己対局 |
test | テストコード |
usi | 対局用USIエンジン |
usi_onnxruntime | OnnxRuntime版ビルド用プロジェクト |
- Windows 11 64bit
- Visual Studio 2022
- Ubuntu 18.04 LTS / 20.04 LTS
- g++
- CUDA 12.1
- cuDNN 8.9
- TensorRT 8.6
※CUDA 10.0以上であれば変更可
上記USIエンジンのビルド環境に加えて以下が必要
- 将棋の局面管理、合法手生成に、Aperyのソースコードを使用しています。
- モンテカルロ木探索の実装は囲碁プログラムのRay+Rnの実装を参考にしています。
- 探索部の一部にLeela Chess Zeroのソースコードを流用しています。
- 王手生成などに、やねうら王のソースコードを流用しています。
ライセンスはGPL3ライセンスとします。