AIToday
オープンソースAIQiita 機械学習掲載日時: 2026年10月4日 10:00

非専門家がRTX 3060 1枚で将棋AI開発

LINEで送る
非専門家がRTX 3060 1枚で将棋AI開発

3つのポイント

  1. 何が起きたか

    業務システム担当のエンジニア高柴氏が、RTX 3060 1枚でdlshogi方式の将棋AIを構築し、コードと結果を公開。v2は一致率52.3%、v1に31勝9敗。

  2. なぜ重要か

    AlphaZero式の自己対局は膨大な計算資源が必要なため断念。強豪AIの棋譜による教師あり学習を用い、専門教育なしでも競技用ゲームAIを作れる道を示した。

  3. 注目点

    強さはネットだけでなく探索速度にも依存。毎秒約5,500〜7,000局面に高速化後、同じネットが20局中18勝。次にポーカーへ応用するか注目。

誰に効くか手法全体、cshogiライブラリ、コードが公開されているため、個人のホビイストやML非専門のソフトウェアエンジニアがこのパイプラインを再現でき、家庭でのゲームAI開発の参入障壁を下げる。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

通常は業務システムを手がけるソフトウェアエンジニアである著者は、機械学習が専門ではないと公言し、家庭用GPU1枚で個人が将棋AIをどこまで作れるかを見極めることを目的とした。AlphaZeroを念頭に置いて始めたが、ゼロからの自己対局には数千基のTPUと数百万局が必要で家庭では不可能と判明。そこで、強豪AIの棋譜を使う教師あり学習とモンテカルロ木探索を組み合わせたdlshogiにたどり着いた。

最初のネットワークv1は一致率50.3%に達したが、価値損失は訓練時0.30に対しテスト時0.59で、明らかな過学習の兆候があった。原因はラベルにあった。1局の全局面が同じ最終結果を持つため、局面数が対局数をはるかに上回る状況で、ネットワークは局面を評価せず対局そのものを認識するようになった。各指し手の記録評価値を勝率に変換して価値ターゲットに混ぜ、15ブロック・192チャネルのより大きなネットにすることで、テスト損失0.475、訓練損失0.44と両者が大きく近づいた。

最大の飛躍は探索側で起きた。当初は毎秒約1,450局面で、ボトルネックはGPU計算ではなく、コマンド送出・指し手選択・結果書き戻しの反復ごとのオーバーヘッドだった。仮想損失による局面のバッチ化、CUDAグラフ、fp16、GPU計算とCPU集約のオーバーラップにより、スループットは毎秒約5,500〜7,000局面に達し、同じネットが旧版に18勝2敗で勝利した。成果はネットワークよりも、探索がそれをどれだけ効率的に使うかにかかっており、限られたハードウェアで強さを引き出そうとする個人開発者にとって重要な示唆となる。

よくある質問
なぜAlphaZeroを使わなかったのか?
AlphaZeroの自己対局には数千基のTPUと数百万局が必要で、家庭用PC1台では数年かかるため、dlshogiを選んだ。
過学習はどう解決したのか?
初期版は局面ではなく棋譜を丸暗記していた。各指し手の記録評価値を勝率に変換して価値ターゲットに混ぜ、テスト損失を0.59から0.475に下げた。
最終的な探索速度は?
毎秒約1,450局面から約5,500〜7,000局面へ。多数の小さな最適化による約4倍の向上だった。
Qiita 機械学習元記事を読む
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へMineflayerとGeminiで月数円狙うBot設計